diff --git a/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json b/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json index 5a68fec174..46081a40f1 100644 --- a/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json +++ b/aws-cloudformation-schema/aws-accessanalyzer-analyzer.json @@ -88,7 +88,7 @@ "type" : "object", "properties" : { "UnusedAccessAge" : { - "description" : "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", + "description" : "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days.", "type" : "integer", "minimum" : 1, "maximum" : 180 diff --git a/aws-cloudformation-schema/aws-appsync-graphqlapi.json b/aws-cloudformation-schema/aws-appsync-graphqlapi.json index 3f99039dbb..e786c42895 100644 --- a/aws-cloudformation-schema/aws-appsync-graphqlapi.json +++ b/aws-cloudformation-schema/aws-appsync-graphqlapi.json @@ -65,6 +65,9 @@ "$ref" : "#/definitions/Tag" } }, + "GraphQLEndpointArn" : { + "type" : "string" + }, "AuthenticationType" : { "type" : "string" }, @@ -189,5 +192,5 @@ }, "required" : [ "Name", "AuthenticationType" ], "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/ApiId", "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl", "/properties/Arn" ] + "readOnlyProperties" : [ "/properties/ApiId", "/properties/GraphQLEndpointArn", "/properties/Id", "/properties/GraphQLDns", "/properties/GraphQLUrl", "/properties/RealtimeDns", "/properties/RealtimeUrl", "/properties/Arn" ] } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json b/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json index 12b4826184..9b51078b03 100644 --- a/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json +++ b/aws-cloudformation-schema/aws-autoscaling-autoscalinggroup.json @@ -21,11 +21,11 @@ "permissions" : [ "autoscaling:*", "managed-fleets:GetAutoScalingGroup" ] }, "create" : { - "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribePlacementGroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSubnets", "ec2:DescribeVpcClassicLink", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:CreateAutoScalingGroup", "ssm:GetParameters" ], + "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:Describe*", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:CreateAutoScalingGroup", "ssm:GetParameters" ], "timeoutInMinutes" : 120 }, "update" : { - "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstances", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribePlacementGroups", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSubnets", "ec2:DescribeVpcClassicLink", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", "ssm:GetParameters" ], + "permissions" : [ "autoscaling:*", "cloudwatch:PutMetricAlarm", "ec2:Describe*", "ec2:GetInstanceTypesFromInstanceRequirements", "ec2:RunInstances", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "iam:CreateServiceLinkedRole", "iam:PassRole", "managed-fleets:GetAutoScalingGroup", "managed-fleets:RegisterAutoScalingGroup", "managed-fleets:DeregisterAutoScalingGroup", "managed-fleets:UpdateAutoScalingGroup", "ssm:GetParameters" ], "timeoutInMinutes" : 480 }, "list" : { @@ -448,7 +448,8 @@ "TotalLocalStorageGB" : { "$ref" : "#/definitions/TotalLocalStorageGBRequest" } - } + }, + "required" : [ "MemoryMiB", "VCpuCount" ] } }, "properties" : { diff --git a/aws-cloudformation-schema/aws-billingconductor-customlineitem.json b/aws-cloudformation-schema/aws-billingconductor-customlineitem.json index 646877255c..b4c8bffdef 100644 --- a/aws-cloudformation-schema/aws-billingconductor-customlineitem.json +++ b/aws-cloudformation-schema/aws-billingconductor-customlineitem.json @@ -180,6 +180,11 @@ "type" : "string", "enum" : [ "USD", "CNY" ] }, + "AccountId" : { + "type" : "string", + "description" : "The account which this custom line item will be charged to", + "pattern" : "[0-9]{12}" + }, "Tags" : { "type" : "array", "uniqueItems" : true, @@ -199,7 +204,7 @@ }, "required" : [ "Name", "BillingGroupArn" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/CreationTime", "/properties/LastModifiedTime", "/properties/AssociationSize", "/properties/CurrencyCode", "/properties/ProductCode" ], - "createOnlyProperties" : [ "/properties/BillingGroupArn", "/properties/BillingPeriodRange/InclusiveStartBillingPeriod", "/properties/BillingPeriodRange/ExclusiveEndBillingPeriod", "/properties/CustomLineItemChargeDetails/Type" ], + "createOnlyProperties" : [ "/properties/BillingGroupArn", "/properties/AccountId", "/properties/BillingPeriodRange/InclusiveStartBillingPeriod", "/properties/BillingPeriodRange/ExclusiveEndBillingPeriod", "/properties/CustomLineItemChargeDetails/Type" ], "primaryIdentifier" : [ "/properties/Arn" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-cleanrooms-collaboration.json b/aws-cloudformation-schema/aws-cleanrooms-collaboration.json index f5d34ffc2c..0257ce171e 100644 --- a/aws-cloudformation-schema/aws-cleanrooms-collaboration.json +++ b/aws-cloudformation-schema/aws-cleanrooms-collaboration.json @@ -52,6 +52,9 @@ }, "DisplayName" : { "$ref" : "#/definitions/Name" + }, + "PaymentConfiguration" : { + "$ref" : "#/definitions/PaymentConfiguration" } }, "required" : [ "AccountId", "DisplayName", "MemberAbilities" ], @@ -83,6 +86,26 @@ "maxLength" : 100, "minLength" : 1, "pattern" : "^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$" + }, + "PaymentConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "QueryCompute" : { + "$ref" : "#/definitions/QueryComputePaymentConfig" + } + }, + "required" : [ "QueryCompute" ] + }, + "QueryComputePaymentConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IsResponsible" : { + "type" : "boolean" + } + }, + "required" : [ "IsResponsible" ] } }, "properties" : { @@ -137,11 +160,14 @@ }, "QueryLogStatus" : { "$ref" : "#/definitions/CollaborationQueryLogStatus" + }, + "CreatorPaymentConfiguration" : { + "$ref" : "#/definitions/PaymentConfiguration" } }, "required" : [ "CreatorDisplayName", "CreatorMemberAbilities", "Members", "Name", "Description", "QueryLogStatus" ], "readOnlyProperties" : [ "/properties/Arn", "/properties/CollaborationIdentifier" ], - "createOnlyProperties" : [ "/properties/CreatorDisplayName", "/properties/CreatorMemberAbilities", "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members" ], + "createOnlyProperties" : [ "/properties/CreatorDisplayName", "/properties/CreatorMemberAbilities", "/properties/DataEncryptionMetadata", "/properties/QueryLogStatus", "/properties/Members", "/properties/CreatorPaymentConfiguration" ], "primaryIdentifier" : [ "/properties/CollaborationIdentifier" ], "tagging" : { "taggable" : true, diff --git a/aws-cloudformation-schema/aws-cleanrooms-membership.json b/aws-cloudformation-schema/aws-cleanrooms-membership.json index 9d8add754e..5ec2550953 100644 --- a/aws-cloudformation-schema/aws-cleanrooms-membership.json +++ b/aws-cloudformation-schema/aws-cleanrooms-membership.json @@ -73,6 +73,26 @@ } }, "required" : [ "OutputConfiguration" ] + }, + "MembershipPaymentConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "QueryCompute" : { + "$ref" : "#/definitions/MembershipQueryComputePaymentConfig" + } + }, + "required" : [ "QueryCompute" ] + }, + "MembershipQueryComputePaymentConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "IsResponsible" : { + "type" : "boolean" + } + }, + "required" : [ "IsResponsible" ] } }, "properties" : { @@ -116,6 +136,9 @@ }, "DefaultResultConfiguration" : { "$ref" : "#/definitions/MembershipProtectedQueryResultConfiguration" + }, + "PaymentConfiguration" : { + "$ref" : "#/definitions/MembershipPaymentConfiguration" } }, "required" : [ "CollaborationIdentifier", "QueryLogStatus" ], diff --git a/aws-cloudformation-schema/aws-cloud9-environmentec2.json b/aws-cloudformation-schema/aws-cloud9-environmentec2.json index 0b3e236394..c805aac978 100644 --- a/aws-cloudformation-schema/aws-cloud9-environmentec2.json +++ b/aws-cloudformation-schema/aws-cloud9-environmentec2.json @@ -76,7 +76,7 @@ "required" : [ "Value", "Key" ] } }, - "required" : [ "InstanceType" ], + "required" : [ "ImageId", "InstanceType" ], "createOnlyProperties" : [ "/properties/AutomaticStopTimeMinutes", "/properties/OwnerArn", "/properties/ConnectionType", "/properties/InstanceType", "/properties/ImageId", "/properties/SubnetId", "/properties/Repositories" ], "primaryIdentifier" : [ "/properties/Id" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn" ] diff --git a/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json b/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json new file mode 100644 index 0000000000..82a78d4011 --- /dev/null +++ b/aws-cloudformation-schema/aws-cloudfront-keyvaluestore.json @@ -0,0 +1,68 @@ +{ + "additionalProperties" : false, + "definitions" : { + "ImportSource" : { + "additionalProperties" : false, + "properties" : { + "SourceType" : { + "type" : "string" + }, + "SourceArn" : { + "type" : "string" + } + }, + "required" : [ "SourceType", "SourceArn" ], + "type" : "object" + } + }, + "description" : "Resource Type definition for AWS::CloudFront::KeyValueStore", + "handlers" : { + "create" : { + "permissions" : [ "cloudfront:CreateKeyValueStore", "cloudfront:DescribeKeyValueStore", "s3:GetObject", "s3:HeadObject", "s3:GetBucketLocation" ] + }, + "delete" : { + "permissions" : [ "cloudfront:DeleteKeyValueStore", "cloudfront:DescribeKeyValueStore" ] + }, + "list" : { + "permissions" : [ "cloudfront:ListKeyValueStores" ] + }, + "read" : { + "permissions" : [ "cloudfront:DescribeKeyValueStore" ] + }, + "update" : { + "permissions" : [ "cloudfront:UpdateKeyValueStore", "cloudfront:DescribeKeyValueStore" ] + } + }, + "properties" : { + "Arn" : { + "type" : "string" + }, + "Id" : { + "type" : "string" + }, + "Status" : { + "type" : "string" + }, + "Name" : { + "type" : "string" + }, + "Comment" : { + "type" : "string" + }, + "ImportSource" : { + "$ref" : "#/definitions/ImportSource" + } + }, + "primaryIdentifier" : [ "/properties/Name" ], + "createOnlyProperties" : [ "/properties/Name" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Id", "/properties/Status" ], + "writeOnlyProperties" : [ "/properties/ImportSource" ], + "required" : [ "Name" ], + "tagging" : { + "cloudFormationSystemTags" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "taggable" : false + }, + "typeName" : "AWS::CloudFront::KeyValueStore" +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json b/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json index 00f830307f..23b7dc5496 100644 --- a/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json +++ b/aws-cloudformation-schema/aws-cloudtrail-eventdatastore.json @@ -169,6 +169,14 @@ "description" : "The ARN of the event data store.", "type" : "string" }, + "FederationEnabled" : { + "description" : "Indicates whether federation is enabled on an event data store.", + "type" : "boolean" + }, + "FederationRoleArn" : { + "description" : "The ARN of the role used for event data store federation.", + "type" : "string" + }, "MultiRegionEnabled" : { "description" : "Indicates whether the event data store includes events from all regions, or only from the region in which it was created.", "type" : "boolean" @@ -232,23 +240,23 @@ } }, "required" : [ ], - "readOnlyProperties" : [ "/properties/EventDataStoreArn", "/properties/CreatedTimestamp", "/properties/UpdatedTimestamp", "/properties/Status" ], + "readOnlyProperties" : [ "/properties/EventDataStoreArn", "/properties/CreatedTimestamp", "/properties/UpdatedTimestamp", "/properties/Status", "/properties/FederationStatus" ], "primaryIdentifier" : [ "/properties/EventDataStoreArn" ], "propertyTransform" : { "/properties/KmsKeyId" : "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KmsKeyId])" }, "handlers" : { "create" : { - "permissions" : [ "CloudTrail:CreateEventDataStore", "CloudTrail:AddTags", "CloudTrail:PutInsightSelectors", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "kms:GenerateDataKey", "kms:Decrypt" ] + "permissions" : [ "CloudTrail:CreateEventDataStore", "CloudTrail:AddTags", "CloudTrail:PutInsightSelectors", "CloudTrail:EnableFederation", "CloudTrail:GetEventDataStore", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "kms:GenerateDataKey", "kms:Decrypt", "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection", "lakeformation:RegisterResource" ] }, "read" : { "permissions" : [ "CloudTrail:GetEventDataStore", "CloudTrail:ListEventDataStores", "CloudTrail:GetInsightSelectors", "CloudTrail:ListTags" ] }, "update" : { - "permissions" : [ "CloudTrail:UpdateEventDataStore", "CloudTrail:RestoreEventDataStore", "CloudTrail:AddTags", "CloudTrail:RemoveTags", "CloudTrail:StartEventDataStoreIngestion", "CloudTrail:StopEventDataStoreIngestion", "CloudTrail:GetEventDataStore", "CloudTrail:PutInsightSelectors", "CloudTrail:GetInsightSelectors", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization" ] + "permissions" : [ "CloudTrail:UpdateEventDataStore", "CloudTrail:RestoreEventDataStore", "CloudTrail:AddTags", "CloudTrail:RemoveTags", "CloudTrail:StartEventDataStoreIngestion", "CloudTrail:StopEventDataStoreIngestion", "CloudTrail:GetEventDataStore", "CloudTrail:PutInsightSelectors", "CloudTrail:GetInsightSelectors", "CloudTrail:EnableFederation", "CloudTrail:DisableFederation", "iam:PassRole", "iam:GetRole", "iam:CreateServiceLinkedRole", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "glue:CreateDatabase", "glue:CreateTable", "glue:PassConnection", "lakeformation:RegisterResource", "glue:DeleteTable", "lakeformation:DeregisterResource" ] }, "delete" : { - "permissions" : [ "CloudTrail:DeleteEventDataStore", "CloudTrail:GetEventDataStore" ] + "permissions" : [ "CloudTrail:DeleteEventDataStore", "CloudTrail:GetEventDataStore", "CloudTrail:DisableFederation", "glue:DeleteTable", "lakeformation:DeregisterResource" ] }, "list" : { "permissions" : [ "CloudTrail:ListEventDataStores", "CloudTrail:GetEventDataStore", "CloudTrail:GetInsightSelectors", "CloudTrail:ListTags" ] diff --git a/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json b/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json index 54943dd6f7..9b3e87bbfd 100644 --- a/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json +++ b/aws-cloudformation-schema/aws-codedeploy-deploymentconfig.json @@ -1,34 +1,11 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codedeploy", - "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false - }, - "handlers" : { - "read" : { - "permissions" : [ "codedeploy:GetDeploymentConfig" ] - }, - "create" : { - "permissions" : [ "codedeploy:CreateDeploymentConfig" ] - }, - "list" : { - "permissions" : [ "codedeploy:ListDeploymentConfigs" ] - }, - "delete" : { - "permissions" : [ "codedeploy:GetDeploymentConfig", "codedeploy:DeleteDeploymentConfig" ] - } - }, "typeName" : "AWS::CodeDeploy::DeploymentConfig", "description" : "Resource Type definition for AWS::CodeDeploy::DeploymentConfig", - "createOnlyProperties" : [ "/properties/DeploymentConfigName", "/properties/MinimumHealthyHosts", "/properties/ComputePlatform", "/properties/TrafficRoutingConfig" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/DeploymentConfigName" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-codedeploy", "definitions" : { "TimeBasedLinear" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "LinearInterval" : { "type" : "integer" @@ -40,8 +17,8 @@ "required" : [ "LinearInterval", "LinearPercentage" ] }, "TimeBasedCanary" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "CanaryPercentage" : { "type" : "integer" @@ -53,8 +30,8 @@ "required" : [ "CanaryPercentage", "CanaryInterval" ] }, "TrafficRoutingConfig" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Type" : { "type" : "string" @@ -68,15 +45,46 @@ }, "required" : [ "Type" ] }, - "MinimumHealthyHosts" : { - "additionalProperties" : false, + "MinimumHealthyHostsPerZone" : { "type" : "object", + "additionalProperties" : false, "properties" : { + "Value" : { + "type" : "integer" + }, "Type" : { "type" : "string" + } + }, + "required" : [ "Type", "Value" ] + }, + "ZonalConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FirstZoneMonitorDurationInSeconds" : { + "type" : "integer", + "format" : "int64" + }, + "MonitorDurationInSeconds" : { + "type" : "integer", + "format" : "int64" }, + "MinimumHealthyHostsPerZone" : { + "$ref" : "#/definitions/MinimumHealthyHostsPerZone" + } + }, + "required" : [ ] + }, + "MinimumHealthyHosts" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { "Value" : { "type" : "integer" + }, + "Type" : { + "type" : "string" } }, "required" : [ "Type", "Value" ] @@ -91,13 +99,40 @@ "description" : "A name for the deployment configuration. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the deployment configuration name. For more information, see Name Type.", "type" : "string" }, + "MinimumHealthyHosts" : { + "description" : "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.", + "$ref" : "#/definitions/MinimumHealthyHosts" + }, + "ZonalConfig" : { + "description" : "The zonal deployment config that specifies how the zonal deployment behaves", + "$ref" : "#/definitions/ZonalConfig" + }, "TrafficRoutingConfig" : { "description" : "The configuration that specifies how the deployment traffic is routed.", "$ref" : "#/definitions/TrafficRoutingConfig" + } + }, + "additionalProperties" : false, + "createOnlyProperties" : [ "/properties/DeploymentConfigName", "/properties/MinimumHealthyHosts", "/properties/ComputePlatform", "/properties/ZonalConfig", "/properties/TrafficRoutingConfig" ], + "primaryIdentifier" : [ "/properties/DeploymentConfigName" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "create" : { + "permissions" : [ "codedeploy:CreateDeploymentConfig" ] }, - "MinimumHealthyHosts" : { - "description" : "The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.", - "$ref" : "#/definitions/MinimumHealthyHosts" + "read" : { + "permissions" : [ "codedeploy:GetDeploymentConfig" ] + }, + "delete" : { + "permissions" : [ "codedeploy:GetDeploymentConfig", "codedeploy:DeleteDeploymentConfig" ] + }, + "list" : { + "permissions" : [ "codedeploy:ListDeploymentConfigs" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-codepipeline-pipeline.json b/aws-cloudformation-schema/aws-codepipeline-pipeline.json index 43545da03f..d320bd9892 100644 --- a/aws-cloudformation-schema/aws-codepipeline-pipeline.json +++ b/aws-cloudformation-schema/aws-codepipeline-pipeline.json @@ -10,12 +10,6 @@ "$ref" : "#/definitions/ArtifactStoreMap" } }, - "Version" : { - "type" : "string" - }, - "ArtifactStore" : { - "$ref" : "#/definitions/ArtifactStore" - }, "DisableInboundStageTransitions" : { "type" : "array", "uniqueItems" : true, @@ -33,97 +27,185 @@ "RestartExecutionOnUpdate" : { "type" : "boolean" }, - "Id" : { - "type" : "string" + "Triggers" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/PipelineTriggerDeclaration" + } }, "RoleArn" : { "type" : "string" }, + "Name" : { + "type" : "string" + }, + "Variables" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/VariableDeclaration" + } + }, + "Version" : { + "type" : "string" + }, + "ArtifactStore" : { + "$ref" : "#/definitions/ArtifactStore" + }, + "PipelineType" : { + "type" : "string" + }, + "Id" : { + "type" : "string" + }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/Tag" } - }, - "Name" : { - "type" : "string" } }, "definitions" : { - "ActionDeclaration" : { + "BlockerDeclaration" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ActionTypeId" : { - "$ref" : "#/definitions/ActionTypeId" - }, - "Configuration" : { - "type" : "object" + "Type" : { + "type" : "string" }, - "InputArtifacts" : { + "Name" : { + "type" : "string" + } + }, + "required" : [ "Type", "Name" ] + }, + "GitConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Push" : { "type" : "array", "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/InputArtifact" + "$ref" : "#/definitions/GitPushFilter" } }, - "OutputArtifacts" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/OutputArtifact" - } + "SourceActionName" : { + "type" : "string" + } + }, + "required" : [ "SourceActionName" ] + }, + "ActionTypeId" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Owner" : { + "type" : "string" }, - "Region" : { + "Category" : { "type" : "string" }, - "Namespace" : { + "Version" : { "type" : "string" }, - "RoleArn" : { + "Provider" : { "type" : "string" + } + }, + "required" : [ "Owner", "Category", "Version", "Provider" ] + }, + "ArtifactStoreMap" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ArtifactStore" : { + "$ref" : "#/definitions/ArtifactStore" }, - "RunOrder" : { - "type" : "integer" + "Region" : { + "type" : "string" + } + }, + "required" : [ "ArtifactStore", "Region" ] + }, + "PipelineTriggerDeclaration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "GitConfiguration" : { + "$ref" : "#/definitions/GitConfiguration" }, - "Name" : { + "ProviderType" : { "type" : "string" } }, - "required" : [ "ActionTypeId", "Name" ] + "required" : [ "ProviderType" ] }, - "BlockerDeclaration" : { + "EncryptionKey" : { "type" : "object", "additionalProperties" : false, "properties" : { "Type" : { "type" : "string" }, - "Name" : { + "Id" : { "type" : "string" } }, - "required" : [ "Type", "Name" ] + "required" : [ "Type", "Id" ] }, - "ActionTypeId" : { + "GitPushFilter" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Owner" : { + "Tags" : { + "$ref" : "#/definitions/GitTagFilterCriteria" + } + } + }, + "ActionDeclaration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ActionTypeId" : { + "$ref" : "#/definitions/ActionTypeId" + }, + "Configuration" : { + "type" : "object" + }, + "InputArtifacts" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/InputArtifact" + } + }, + "OutputArtifacts" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/OutputArtifact" + } + }, + "Region" : { "type" : "string" }, - "Category" : { + "Namespace" : { "type" : "string" }, - "Version" : { + "RoleArn" : { "type" : "string" }, - "Provider" : { + "RunOrder" : { + "type" : "integer" + }, + "Name" : { "type" : "string" } }, - "required" : [ "Owner", "Category", "Version", "Provider" ] + "required" : [ "ActionTypeId", "Name" ] }, "StageDeclaration" : { "type" : "object", @@ -175,18 +257,21 @@ }, "required" : [ "Type", "Location" ] }, - "ArtifactStoreMap" : { + "VariableDeclaration" : { "type" : "object", "additionalProperties" : false, "properties" : { - "ArtifactStore" : { - "$ref" : "#/definitions/ArtifactStore" + "DefaultValue" : { + "type" : "string" }, - "Region" : { + "Description" : { + "type" : "string" + }, + "Name" : { "type" : "string" } }, - "required" : [ "ArtifactStore", "Region" ] + "required" : [ "Name" ] }, "StageTransition" : { "type" : "object", @@ -201,18 +286,25 @@ }, "required" : [ "StageName", "Reason" ] }, - "EncryptionKey" : { + "GitTagFilterCriteria" : { "type" : "object", "additionalProperties" : false, "properties" : { - "Type" : { - "type" : "string" + "Includes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } }, - "Id" : { - "type" : "string" + "Excludes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } } - }, - "required" : [ "Type", "Id" ] + } }, "Tag" : { "type" : "object", diff --git a/aws-cloudformation-schema/aws-config-configurationrecorder.json b/aws-cloudformation-schema/aws-config-configurationrecorder.json index 826ecb5fe7..225555ead8 100644 --- a/aws-cloudformation-schema/aws-config-configurationrecorder.json +++ b/aws-cloudformation-schema/aws-config-configurationrecorder.json @@ -9,6 +9,9 @@ "RecordingGroup" : { "$ref" : "#/definitions/RecordingGroup" }, + "RecordingMode" : { + "$ref" : "#/definitions/RecordingMode" + }, "RoleARN" : { "type" : "string" }, @@ -41,6 +44,26 @@ }, "required" : [ "ResourceTypes" ] }, + "RecordingModeOverride" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ResourceTypes" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "type" : "string" + } + }, + "RecordingFrequency" : { + "type" : "string" + }, + "Description" : { + "type" : "string" + } + }, + "required" : [ "ResourceTypes", "RecordingFrequency" ] + }, "RecordingGroup" : { "type" : "object", "additionalProperties" : false, @@ -65,6 +88,23 @@ "type" : "boolean" } } + }, + "RecordingMode" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RecordingModeOverrides" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/RecordingModeOverride" + } + }, + "RecordingFrequency" : { + "type" : "string" + } + }, + "required" : [ "RecordingFrequency" ] } }, "required" : [ "RoleARN" ], diff --git a/aws-cloudformation-schema/aws-connect-instance.json b/aws-cloudformation-schema/aws-connect-instance.json index b3f2db3ff1..3213bdbb7c 100644 --- a/aws-cloudformation-schema/aws-connect-instance.json +++ b/aws-cloudformation-schema/aws-connect-instance.json @@ -58,6 +58,26 @@ } }, "required" : [ "InboundCalls", "OutboundCalls" ] + }, + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false } }, "properties" : { @@ -106,32 +126,42 @@ "Attributes" : { "description" : "The attributes for the instance.", "$ref" : "#/definitions/Attributes" + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } } }, - "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, - "cloudFormationSystemTags" : false - }, "additionalProperties" : false, "required" : [ "IdentityManagementType", "Attributes" ], "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/ServiceRole", "/properties/CreatedTime", "/properties/InstanceStatus" ], "createOnlyProperties" : [ "/properties/DirectoryId", "/properties/InstanceAlias", "/properties/IdentityManagementType" ], "writeOnlyProperties" : [ "/properties/DirectoryId" ], "primaryIdentifier" : [ "/properties/Arn" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, "handlers" : { "create" : { - "permissions" : [ "connect:CreateInstance", "connect:DescribeInstance", "connect:UpdateInstanceAttribute", "ds:CheckAlias", "ds:CreateAlias", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:CreateIdentityPoolDirectory", "ds:CreateDirectory", "ds:DescribeDirectories", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "logs:CreateLogGroup" ] + "permissions" : [ "connect:CreateInstance", "connect:DescribeInstance", "connect:UpdateInstanceAttribute", "connect:TagResource", "ds:CheckAlias", "ds:CreateAlias", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:CreateIdentityPoolDirectory", "ds:CreateDirectory", "ds:DescribeDirectories", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "logs:CreateLogGroup" ] }, "read" : { "permissions" : [ "connect:DescribeInstance", "connect:ListInstanceAttributes", "ds:DescribeDirectories" ] }, "update" : { - "permissions" : [ "connect:ListInstanceAttributes", "connect:UpdateInstanceAttribute", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ] + "permissions" : [ "connect:ListInstanceAttributes", "connect:UpdateInstanceAttribute", "iam:CreateServiceLinkedRole", "iam:PutRolePolicy", "connect:TagResource", "connect:UntagResource" ] }, "delete" : { - "permissions" : [ "connect:DeleteInstance", "connect:DescribeInstance", "ds:DeleteDirectory", "ds:UnauthorizeApplication", "ds:DescribeDirectories" ] + "permissions" : [ "connect:DeleteInstance", "connect:DescribeInstance", "connect:UntagResource", "ds:DeleteDirectory", "ds:UnauthorizeApplication", "ds:DescribeDirectories" ] }, "list" : { "permissions" : [ "connect:ListInstances", "connect:ListInstanceAttributes", "ds:DescribeDirectories" ] diff --git a/aws-cloudformation-schema/aws-connect-instancestorageconfig.json b/aws-cloudformation-schema/aws-connect-instancestorageconfig.json index 4106a6a2e3..d62bf14236 100644 --- a/aws-cloudformation-schema/aws-connect-instancestorageconfig.json +++ b/aws-cloudformation-schema/aws-connect-instancestorageconfig.json @@ -100,7 +100,7 @@ "$ref" : "#/definitions/EncryptionConfig" } }, - "required" : [ "Prefix", "RetentionPeriodHours" ] + "required" : [ "Prefix", "RetentionPeriodHours", "EncryptionConfig" ] }, "KinesisStreamConfig" : { "type" : "object", diff --git a/aws-cloudformation-schema/aws-connect-integrationassociation.json b/aws-cloudformation-schema/aws-connect-integrationassociation.json index 9ff22d58a9..6ae28592e1 100644 --- a/aws-cloudformation-schema/aws-connect-integrationassociation.json +++ b/aws-cloudformation-schema/aws-connect-integrationassociation.json @@ -12,7 +12,7 @@ "IntegrationType" : { "description" : "Specifies the integration type to be associated with the instance", "type" : "string", - "enum" : [ "LEX_BOT", "LAMBDA_FUNCTION" ] + "enum" : [ "LEX_BOT", "LAMBDA_FUNCTION", "APPLICATION" ] }, "InstanceId" : { "description" : "Amazon Connect instance identifier", @@ -54,19 +54,19 @@ "primaryIdentifier" : [ "/properties/InstanceId", "/properties/IntegrationType", "/properties/IntegrationArn" ], "handlers" : { "create" : { - "permissions" : [ "connect:AssociateBot", "connect:AssociateLambdaFunction", "connect:ListBots", "connect:ListLambdaFunctions", "lambda:addPermission", "lex:GetBot", "lex:DescribeBotAlias", "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:CreateResourcePolicyStatement", "lambda:AddPermission", "iam:PutRolePolicy" ] + "permissions" : [ "connect:DescribeInstance", "ds:DescribeDirectories", "app-integrations:CreateEventIntegrationAssociation", "mobiletargeting:GetApp", "cases:GetDomain", "wisdom:GetAssistant", "wisdom:GetKnowledgeBase", "wisdom:TagResource", "voiceid:DescribeDomain", "events:PutTargets", "events:PutRule", "connect:AssociateBot", "connect:AssociateLambdaFunction", "connect:CreateIntegrationAssociation", "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations", "lambda:addPermission", "lex:GetBot", "lex:DescribeBotAlias", "lex:CreateResourcePolicy", "lex:UpdateResourcePolicy", "lex:CreateResourcePolicyStatement", "lambda:AddPermission", "app-integrations:GetApplication", "iam:AttachRolePolicy", "iam:CreateServiceLinkedRole", "iam:GetRolePolicy", "iam:PutRolePolicy" ] }, "read" : { - "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions" ] + "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations" ] }, "update" : { "permissions" : [ ] }, "delete" : { - "permissions" : [ "connect:DisassociateBot", "connect:DisassociateLambdaFunction", "connect:ListBots", "connect:ListLambdaFunctions", "lex:DeleteResourcePolicy", "lex:DeleteResourcePolicyStatement", "lambda:RemovePermission", "iam:PutRolePolicy" ] + "permissions" : [ "connect:DescribeInstance", "ds:DescribeDirectories", "app-integrations:DeleteEventIntegrationAssociation", "events:ListTargetsByRule", "events:RemoveTargets", "events:DeleteRule", "connect:DisassociateBot", "connect:DisassociateLambdaFunction", "connect:DeleteIntegrationAssociation", "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations", "lex:DeleteResourcePolicy", "lex:DeleteResourcePolicyStatement", "lambda:RemovePermission", "iam:GetRolePolicy", "iam:DeleteRolePolicy", "iam:PutRolePolicy" ] }, "list" : { - "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions" ] + "permissions" : [ "connect:ListBots", "connect:ListLambdaFunctions", "connect:ListIntegrationAssociations" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-devicefarm-devicepool.json b/aws-cloudformation-schema/aws-devicefarm-devicepool.json index 885e8806f7..984696c3cb 100644 --- a/aws-cloudformation-schema/aws-devicefarm-devicepool.json +++ b/aws-cloudformation-schema/aws-devicefarm-devicepool.json @@ -96,16 +96,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateDevicePool", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateDevicePool", "devicefarm:TagResource", "devicefarm:GetDevicePool", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetDevicePool", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateDevicePool", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateDevicePool", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetDevicePool" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteDevicePool" ] + "permissions" : [ "devicefarm:DeleteDevicePool", "devicefarm:GetDevicePool", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListDevicePools" ], diff --git a/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json b/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json index 29cc15a942..90ee0f4c60 100644 --- a/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json +++ b/aws-cloudformation-schema/aws-devicefarm-instanceprofile.json @@ -71,16 +71,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateInstanceProfile", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateInstanceProfile", "devicefarm:TagResource", "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateInstanceProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateInstanceProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetInstanceProfile" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteInstanceProfile" ] + "permissions" : [ "devicefarm:DeleteInstanceProfile", "devicefarm:UntagResource", "devicefarm:GetInstanceProfile", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListInstanceProfiles" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-networkprofile.json b/aws-cloudformation-schema/aws-devicefarm-networkprofile.json index 2066215b71..e5648f8fbc 100644 --- a/aws-cloudformation-schema/aws-devicefarm-networkprofile.json +++ b/aws-cloudformation-schema/aws-devicefarm-networkprofile.json @@ -104,16 +104,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateNetworkProfile", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateNetworkProfile", "devicefarm:TagResource", "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateNetworkProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateNetworkProfile", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetNetworkProfile" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteNetworkProfile", "devicefarm:UntagResource" ] + "permissions" : [ "devicefarm:DeleteNetworkProfile", "devicefarm:UntagResource", "devicefarm:GetNetworkProfile", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListNetworkProfiles" ], diff --git a/aws-cloudformation-schema/aws-devicefarm-project.json b/aws-cloudformation-schema/aws-devicefarm-project.json index 5a6baa749a..320d8abd50 100644 --- a/aws-cloudformation-schema/aws-devicefarm-project.json +++ b/aws-cloudformation-schema/aws-devicefarm-project.json @@ -100,16 +100,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateProject", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateProject", "devicefarm:TagResource", "devicefarm:GetProject", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] }, "read" : { "permissions" : [ "devicefarm:GetProject", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetProject", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteProject" ] + "permissions" : [ "devicefarm:DeleteProject", "devicefarm:UntagResource", "devicefarm:GetProject", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListProjects" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-testgridproject.json b/aws-cloudformation-schema/aws-devicefarm-testgridproject.json index 9ed1aeba8e..5449bb6d49 100644 --- a/aws-cloudformation-schema/aws-devicefarm-testgridproject.json +++ b/aws-cloudformation-schema/aws-devicefarm-testgridproject.json @@ -102,16 +102,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateTestGridProject", "devicefarm:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "devicefarm:CreateTestGridProject", "devicefarm:TagResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole", "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateTestGridProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "devicefarm:UpdateTestGridProject", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:CreateNetworkInterface", "iam:CreateServiceLinkedRole", "devicefarm:GetTestGridProject" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteTestGridProject" ] + "permissions" : [ "devicefarm:DeleteTestGridProject", "devicefarm:UntagResource", "devicefarm:GetTestGridProject", "devicefarm:ListTagsForResource" ] }, "list" : { "permissions" : [ "devicefarm:ListTestGridProjects" ] diff --git a/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json b/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json index 440c886f14..c74bf09d42 100644 --- a/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json +++ b/aws-cloudformation-schema/aws-devicefarm-vpceconfiguration.json @@ -66,16 +66,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "devicefarm:CreateVPCEConfiguration", "devicefarm:TagResource" ] + "permissions" : [ "devicefarm:CreateVPCEConfiguration", "devicefarm:TagResource", "devicefarm:GetVPCEConfiguration", "devicefarm:ListTagsForResource" ] }, "read" : { "permissions" : [ "devicefarm:GetVPCEConfiguration", "devicefarm:ListTagsForResource" ] }, "update" : { - "permissions" : [ "devicefarm:UpdateVPCEConfiguration", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] + "permissions" : [ "devicefarm:UpdateVPCEConfiguration", "devicefarm:GetVPCEConfiguration", "devicefarm:TagResource", "devicefarm:UntagResource", "devicefarm:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "devicefarm:DeleteVPCEConfiguration", "devicefarm:UntagResource" ] + "permissions" : [ "devicefarm:DeleteVPCEConfiguration", "devicefarm:UntagResource", "devicefarm:ListTagsForResource", "devicefarm:GetVPCEConfiguration" ] }, "list" : { "permissions" : [ "devicefarm:ListVPCEConfigurations" ] diff --git a/aws-cloudformation-schema/aws-dms-dataprovider.json b/aws-cloudformation-schema/aws-dms-dataprovider.json new file mode 100644 index 0000000000..ef5b92fda6 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-dataprovider.json @@ -0,0 +1,237 @@ +{ + "typeName" : "AWS::DMS::DataProvider", + "description" : "Resource schema for AWS::DMS::DataProvider", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-dms.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "DmsSslModeValue" : { + "type" : "string", + "enum" : [ "none", "require", "verify_ca", "verify_full" ] + } + }, + "properties" : { + "DataProviderName" : { + "description" : "The property describes a name to identify the data provider.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderIdentifier" : { + "description" : "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderArn" : { + "description" : "The data provider ARN.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "DataProviderCreationTime" : { + "description" : "The data provider creation time.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "Description" : { + "description" : "The optional description of the data provider.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "Engine" : { + "description" : "The property describes a data engine for the data provider.", + "type" : "string", + "enum" : [ "postgresql", "mysql", "oracle", "sqlserver", "aurora", "aurora_postgresql" ] + }, + "ExactSettings" : { + "description" : "The property describes the exact settings which can be modified", + "type" : "boolean", + "default" : false + }, + "Settings" : { + "description" : "The property identifies the exact type of settings for the data provider.", + "type" : "object", + "oneOf" : [ { + "description" : "PostgreSqlSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "PostgreSqlSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "MySqlSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "MySqlSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "OracleSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "OracleSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + }, + "AsmServer" : { + "type" : "string" + }, + "SecretsManagerOracleAsmSecretId" : { + "type" : "string" + }, + "SecretsManagerOracleAsmAccessRoleArn" : { + "type" : "string" + }, + "SecretsManagerSecurityDbEncryptionSecretId" : { + "type" : "string" + }, + "SecretsManagerSecurityDbEncryptionAccessRoleArn" : { + "type" : "string" + } + } + } + } + }, { + "description" : "MicrosoftSqlServerSettings property identifier.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "MicrosoftSqlServerSettings" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ServerName" : { + "type" : "string" + }, + "Port" : { + "type" : "integer" + }, + "DatabaseName" : { + "type" : "string" + }, + "SslMode" : { + "type" : "object", + "$ref" : "#/definitions/DmsSslModeValue" + }, + "CertificateArn" : { + "type" : "string" + } + } + } + } + } ] + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "additionalProperties" : false, + "required" : [ "Engine" ], + "primaryIdentifier" : [ "/properties/DataProviderArn" ], + "additionalIdentifiers" : [ [ "/properties/DataProviderName" ] ], + "readOnlyProperties" : [ "/properties/DataProviderArn", "/properties/DataProviderCreationTime" ], + "writeOnlyProperties" : [ "/properties/DataProviderIdentifier", "/properties/ExactSettings" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateDataProvider", "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateDataProvider", "dms:ModifyDataProvider", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteDataProvider" ] + }, + "list" : { + "permissions" : [ "dms:ListDataProviders", "dms:DescribeDataProviders", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-endpoint.json b/aws-cloudformation-schema/aws-dms-endpoint.json index fd1857d1bf..8c05658c64 100644 --- a/aws-cloudformation-schema/aws-dms-endpoint.json +++ b/aws-cloudformation-schema/aws-dms-endpoint.json @@ -151,20 +151,32 @@ "type" : "object", "additionalProperties" : false, "properties" : { - "SecretsManagerSecretId" : { - "type" : "string" + "LoadTimeout" : { + "type" : "integer" }, "SetDataCaptureChanges" : { "type" : "boolean" }, - "SecretsManagerAccessRoleArn" : { - "type" : "string" + "MaxFileSize" : { + "type" : "integer" + }, + "KeepCsvFiles" : { + "type" : "boolean" }, "CurrentLsn" : { "type" : "string" }, "MaxKBytesPerRead" : { "type" : "integer" + }, + "SecretsManagerSecretId" : { + "type" : "string" + }, + "WriteBufferSize" : { + "type" : "integer" + }, + "SecretsManagerAccessRoleArn" : { + "type" : "string" } } }, diff --git a/aws-cloudformation-schema/aws-dms-instanceprofile.json b/aws-cloudformation-schema/aws-dms-instanceprofile.json new file mode 100644 index 0000000000..54bf5868e6 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-instanceprofile.json @@ -0,0 +1,130 @@ +{ + "typeName" : "AWS::DMS::InstanceProfile", + "description" : "Resource schema for AWS::DMS::InstanceProfile.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-csf.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "additionalProperties" : false, + "properties" : { + "InstanceProfileArn" : { + "description" : "The property describes an ARN of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileIdentifier" : { + "description" : "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "AvailabilityZone" : { + "description" : "The property describes an availability zone of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "Description" : { + "description" : "The optional description of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "KmsKeyArn" : { + "description" : "The property describes kms key arn for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "PubliclyAccessible" : { + "description" : "The property describes the publicly accessible of the instance profile", + "type" : "boolean", + "default" : false + }, + "NetworkType" : { + "description" : "The property describes a network type for the instance profile.", + "type" : "string", + "enum" : [ "IPV4", "IPV6", "DUAL" ] + }, + "InstanceProfileName" : { + "description" : "The property describes a name for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileCreationTime" : { + "description" : "The property describes a creating time of the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "SubnetGroupIdentifier" : { + "description" : "The property describes a subnet group identifier for the instance profile.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "VpcSecurityGroups" : { + "description" : "The property describes vps security groups for the instance profile.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "type" : "string" + } + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "readOnlyProperties" : [ "/properties/InstanceProfileArn", "/properties/InstanceProfileCreationTime" ], + "primaryIdentifier" : [ "/properties/InstanceProfileArn" ], + "additionalIdentifiers" : [ [ "/properties/InstanceProfileName" ] ], + "writeOnlyProperties" : [ "/properties/InstanceProfileIdentifier" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateInstanceProfile", "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + }, + "read" : { + "permissions" : [ "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateInstanceProfile", "dms:ModifyInstanceProfile", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteInstanceProfile" ] + }, + "list" : { + "permissions" : [ "dms:ListInstanceProfiles", "dms:DescribeInstanceProfiles", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-migrationproject.json b/aws-cloudformation-schema/aws-dms-migrationproject.json new file mode 100644 index 0000000000..df28916952 --- /dev/null +++ b/aws-cloudformation-schema/aws-dms-migrationproject.json @@ -0,0 +1,169 @@ +{ + "typeName" : "AWS::DMS::MigrationProject", + "description" : "Resource schema for AWS::DMS::MigrationProject", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-csf.git", + "tagging" : { + "taggable" : true + }, + "definitions" : { + "Tag" : { + "description" : "A key-value pair to associate with a resource.", + "type" : "object", + "properties" : { + "Key" : { + "type" : "string", + "description" : "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -.", + "minLength" : 1, + "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "description" : "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -.", + "minLength" : 0, + "maxLength" : 256 + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + }, + "DataProviderDescriptor" : { + "type" : "object", + "description" : "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "additionalProperties" : false, + "properties" : { + "DataProviderIdentifier" : { + "type" : "string" + }, + "DataProviderName" : { + "type" : "string" + }, + "DataProviderArn" : { + "type" : "string" + }, + "SecretsManagerSecretId" : { + "type" : "string" + }, + "SecretsManagerAccessRoleArn" : { + "type" : "string" + } + } + } + }, + "additionalProperties" : false, + "properties" : { + "MigrationProjectName" : { + "description" : "The property describes a name to identify the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectIdentifier" : { + "description" : "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectArn" : { + "description" : "The property describes an ARN of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "MigrationProjectCreationTime" : { + "description" : "The property describes a creating time of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 40 + }, + "InstanceProfileIdentifier" : { + "description" : "The property describes an instance profile identifier for the migration project. For create", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileName" : { + "description" : "The property describes an instance profile name for the migration project. For read", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "InstanceProfileArn" : { + "description" : "The property describes an instance profile arn for the migration project. For read", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "TransformationRules" : { + "description" : "The property describes transformation rules for the migration project.", + "type" : "string" + }, + "Description" : { + "description" : "The optional description of the migration project.", + "type" : "string", + "minLength" : 1, + "maxLength" : 255 + }, + "SchemaConversionApplicationAttributes" : { + "description" : "The property describes schema conversion application attributes for the migration project.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "S3BucketPath" : { + "type" : "string" + }, + "S3BucketRoleArn" : { + "type" : "string" + } + } + }, + "SourceDataProviderDescriptors" : { + "description" : "The property describes source data provider descriptors for the migration project.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/DataProviderDescriptor" + } + }, + "TargetDataProviderDescriptors" : { + "description" : "The property describes target data provider descriptors for the migration project.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/DataProviderDescriptor" + } + }, + "Tags" : { + "description" : "An array of key-value pairs to apply to this resource.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } + } + }, + "primaryIdentifier" : [ "/properties/MigrationProjectArn" ], + "additionalIdentifiers" : [ [ "/properties/MigrationProjectName" ] ], + "readOnlyProperties" : [ "/properties/MigrationProjectArn" ], + "deprecatedProperties" : [ "/properties/MigrationProjectCreationTime" ], + "writeOnlyProperties" : [ "/properties/MigrationProjectIdentifier", "/properties/InstanceProfileIdentifier", "/properties/SourceDataProviderDescriptors/*/DataProviderIdentifier", "/properties/TargetDataProviderDescriptors/*/DataProviderIdentifier" ], + "handlers" : { + "create" : { + "permissions" : [ "dms:CreateMigrationProject", "dms:ListMigrationProjects", "dms:DescribeMigrationProjects", "dms:AddTagsToResource", "dms:ListTagsForResource", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "dms:DescribeMigrationProjects", "dms:ListMigrationProjects", "dms:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "dms:UpdateMigrationProject", "dms:ModifyMigrationProject", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource", "iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "dms:DeleteMigrationProject" ] + }, + "list" : { + "permissions" : [ "dms:ListMigrationProjects", "dms:DescribeMigrationProjects", "dms:ListTagsForResource" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-dms-replicationconfig.json b/aws-cloudformation-schema/aws-dms-replicationconfig.json index 6c1b9ebb2e..f0824245e3 100644 --- a/aws-cloudformation-schema/aws-dms-replicationconfig.json +++ b/aws-cloudformation-schema/aws-dms-replicationconfig.json @@ -114,8 +114,10 @@ "description" : "

Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.

" } }, + "createOnlyProperties" : [ "/properties/ResourceIdentifier" ], "readOnlyProperties" : [ "/Properties/ReplicationConfigArn" ], "primaryIdentifier" : [ "/properties/ReplicationConfigArn" ], + "additionalIdentifiers" : [ [ "/properties/ReplicationConfigIdentifier" ] ], "tagging" : { "taggable" : true, "tagOnCreate" : true, @@ -126,19 +128,19 @@ "additionalProperties" : false, "handlers" : { "create" : { - "permissions" : [ "dms:CreateReplicationConfig", "dms:AddTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:CreateReplicationConfig", "dms:AddTagsToResource", "dms:ListTagsForResource", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:UpdateRoleDescription" ] }, "read" : { "permissions" : [ "dms:DescribeReplicationConfigs", "dms:ListTagsForResource" ] }, "update" : { - "permissions" : [ "dms:ModifyReplicationConfig", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource" ] + "permissions" : [ "dms:ModifyReplicationConfig", "dms:AddTagsToResource", "dms:RemoveTagsToResource", "dms:ListTagsForResource", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:PutRolePolicy", "iam:UpdateRoleDescription" ] }, "list" : { "permissions" : [ "dms:DescribeReplicationConfigs", "dms:ListTagsForResource" ] }, "delete" : { - "permissions" : [ "dms:DescribeReplicationConfigs", "dms:DeleteReplicationConfig", "dms:ListTagsForResource" ] + "permissions" : [ "dms:DescribeReplicationConfigs", "dms:DeleteReplicationConfig", "dms:ListTagsForResource", "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-instance.json b/aws-cloudformation-schema/aws-ec2-instance.json index e89eed789a..31707a8e99 100644 --- a/aws-cloudformation-schema/aws-ec2-instance.json +++ b/aws-cloudformation-schema/aws-ec2-instance.json @@ -1,464 +1,333 @@ { + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", + "cloudFormationSystemTags" : true + }, + "$schema" : "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json", "typeName" : "AWS::EC2::Instance", + "readOnlyProperties" : [ "/properties/InstanceId", "/properties/PrivateIp", "/properties/PublicDnsName", "/properties/PublicIp", "/properties/PrivateDnsName" ], "description" : "Resource Type definition for AWS::EC2::Instance", - "additionalProperties" : false, - "properties" : { - "Tenancy" : { - "type" : "string" - }, - "SecurityGroups" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "PrivateDnsName" : { - "type" : "string" - }, - "PrivateIpAddress" : { - "type" : "string" - }, - "UserData" : { - "type" : "string" - }, - "BlockDeviceMappings" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/BlockDeviceMapping" - } - }, - "IamInstanceProfile" : { - "type" : "string" + "createOnlyProperties" : [ "/properties/AvailabilityZone", "/properties/CpuOptions", "/properties/ElasticGpuSpecifications", "/properties/ElasticInferenceAccelerators", "/properties/EnclaveOptions", "/properties/HibernationOptions", "/properties/HostResourceGroupArn", "/properties/ImageId", "/properties/Ipv6AddressCount", "/properties/Ipv6Addresses", "/properties/KeyName", "/properties/LaunchTemplate", "/properties/LicenseSpecifications", "/properties/NetworkInterfaces", "/properties/PlacementGroupName", "/properties/PrivateIpAddress", "/properties/SecurityGroups", "/properties/SubnetId" ], + "primaryIdentifier" : [ "/properties/InstanceId" ], + "conditionalCreateOnlyProperties" : [ "/properties/AdditionalInfo", "/properties/Affinity", "/properties/EbsOptimized", "/properties/HostId", "/properties/InstanceType", "/properties/KernelId", "/properties/PrivateDnsNameOptions", "/properties/RamdiskId", "/properties/SecurityGroupIds", "/properties/Tenancy", "/properties/UserData", "/properties/BlockDeviceMappings" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "handlers" : { + "read" : { + "permissions" : [ "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "elastic-inference:DescribeAccelerators", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "Ipv6Addresses" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/InstanceIpv6Address" - } - }, - "KernelId" : { - "type" : "string" - }, - "SubnetId" : { - "type" : "string" + "create" : { + "permissions" : [ "iam:PassRole", "ec2:ModifyPrivateDnsNameOptions", "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DetachVolume", "ec2:DisassociateIamInstanceProfile", "ec2:ModifyInstanceAttribute", "ec2:ModifyInstanceCreditSpecification", "ec2:ModifyInstancePlacement", "ec2:MonitorInstances", "ec2:AttachVolume", "ec2:CreateTags", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:StartInstances", "elastic-inference:DescribeAccelerators", "ssm:CreateAssociation", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "EbsOptimized" : { - "type" : "boolean" + "update" : { + "permissions" : [ "ec2:DescribeElasticGpus", "ec2:ModifyPrivateDnsNameOptions", "ec2:DescribeNetworkInterfaces", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DescribeInstances", "ec2:DescribeSubnets", "ec2:DescribeKeyPairs", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "ec2:DetachVolume", "ec2:DisassociateIamInstanceProfile", "ec2:ModifyInstanceAttribute", "ec2:ModifyInstanceCreditSpecification", "ec2:ModifyInstanceMaintenanceOptions", "ec2:ModifyInstancePlacement", "ec2:MonitorInstances", "ec2:AttachVolume", "ec2:CreateTags", "ec2:DeleteTags", "ec2:ReplaceIamInstanceProfileAssociation", "ec2:StartInstances", "ec2:StopInstances", "ec2:UnmonitorInstances", "elastic-inference:DescribeAccelerators", "ssm:CreateAssociation", "ssm:DeleteAssociation", "ssm:DescribeAssociation", "ssm:ListAssociations" ] }, - "PropagateTagsToVolumeOnCreation" : { - "type" : "boolean" + "list" : { + "permissions" : [ "ec2:DescribeInstances" ] }, - "ElasticGpuSpecifications" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/ElasticGpuSpecification" - } - }, - "ElasticInferenceAccelerators" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/ElasticInferenceAccelerator" - } - }, - "Volumes" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Volume" - } - }, - "PrivateIp" : { - "type" : "string" - }, - "Ipv6AddressCount" : { - "type" : "integer" - }, - "LaunchTemplate" : { - "$ref" : "#/definitions/LaunchTemplateSpecification" - }, - "EnclaveOptions" : { - "$ref" : "#/definitions/EnclaveOptions" - }, - "NetworkInterfaces" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/NetworkInterface" - } - }, - "ImageId" : { - "type" : "string" - }, - "InstanceType" : { - "type" : "string" - }, - "Monitoring" : { - "type" : "boolean" - }, - "Tags" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/Tag" - } - }, - "AdditionalInfo" : { - "type" : "string" - }, - "HibernationOptions" : { - "$ref" : "#/definitions/HibernationOptions" - }, - "LicenseSpecifications" : { - "type" : "array", - "uniqueItems" : true, - "items" : { - "$ref" : "#/definitions/LicenseSpecification" - } - }, - "PublicIp" : { - "type" : "string" - }, - "InstanceInitiatedShutdownBehavior" : { - "type" : "string" - }, - "CpuOptions" : { - "$ref" : "#/definitions/CpuOptions" - }, - "AvailabilityZone" : { - "type" : "string" - }, - "PrivateDnsNameOptions" : { - "$ref" : "#/definitions/PrivateDnsNameOptions" - }, - "HostId" : { - "type" : "string" - }, - "HostResourceGroupArn" : { - "type" : "string" - }, - "PublicDnsName" : { - "type" : "string" - }, - "SecurityGroupIds" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "type" : "string" - } - }, - "DisableApiTermination" : { - "type" : "boolean" - }, - "KeyName" : { - "type" : "string" - }, - "RamdiskId" : { - "type" : "string" - }, - "SourceDestCheck" : { - "type" : "boolean" - }, - "PlacementGroupName" : { - "type" : "string" - }, - "SsmAssociations" : { - "type" : "array", - "uniqueItems" : false, - "items" : { - "$ref" : "#/definitions/SsmAssociation" - } - }, - "Affinity" : { - "type" : "string" - }, - "Id" : { - "type" : "string" - }, - "CreditSpecification" : { - "$ref" : "#/definitions/CreditSpecification" + "delete" : { + "permissions" : [ "ec2:DescribeInstances", "ec2:TerminateInstances", "ec2:DescribeElasticGpus", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVolumes", "ec2:DescribeInstances", "ec2:DescribeInstanceAttribute", "ec2:DescribeInstanceCreditSpecifications", "ec2:DescribeLaunchTemplates", "elastic-inference:DescribeAccelerators", "ssm:DescribeAssociation", "ssm:ListAssociations" ] } }, + "writeOnlyProperties" : [ "/properties/BlockDeviceMapping/NoDevice", "/properties/BlockDeviceMapping/VirtualName", "/properties/LicenseSpecification", "/properties/AdditionalInfo", "/properties/Ipv6AddressCount", "/properties/Ipv6Addresses", "/properties/PropagateTagsToVolumeOnCreation", "/properties/Volumes" ], + "additionalProperties" : false, "definitions" : { "LaunchTemplateSpecification" : { - "type" : "object", + "oneOf" : [ { + "required" : [ "LaunchTemplateName", "Version" ] + }, { + "required" : [ "LaunchTemplateId", "Version" ] + } ], "additionalProperties" : false, + "type" : "object", "properties" : { "LaunchTemplateName" : { + "description" : "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.", "type" : "string" }, - "LaunchTemplateId" : { + "Version" : { + "description" : "The version number of the launch template.", "type" : "string" }, - "Version" : { + "LaunchTemplateId" : { + "description" : "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.", "type" : "string" } - }, - "required" : [ "Version" ] - }, - "HibernationOptions" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Configured" : { - "type" : "boolean" - } } }, "LicenseSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "LicenseConfigurationArn" : { + "description" : "The Amazon Resource Name (ARN) of the license configuration.", "type" : "string" } }, "required" : [ "LicenseConfigurationArn" ] }, - "CpuOptions" : { - "type" : "object", + "ElasticGpuSpecification" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "ThreadsPerCore" : { - "type" : "integer" - }, - "CoreCount" : { - "type" : "integer" + "Type" : { + "description" : "The type of Elastic Graphics accelerator.", + "type" : "string" } - } - }, - "NoDevice" : { - "type" : "object", - "additionalProperties" : false + }, + "required" : [ "Type" ] }, "InstanceIpv6Address" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Ipv6Address" : { + "description" : "The IPv6 address.", "type" : "string" } }, "required" : [ "Ipv6Address" ] }, "NetworkInterface" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Description" : { + "description" : "The description of the network interface.", "type" : "string" }, "PrivateIpAddress" : { + "description" : "The private IPv4 address of the network interface.", "type" : "string" }, "PrivateIpAddresses" : { - "type" : "array", "uniqueItems" : false, + "description" : "One or more private IPv4 addresses to assign to the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/PrivateIpAddressSpecification" } }, "SecondaryPrivateIpAddressCount" : { + "description" : "The number of secondary private IPv4 addresses.", "type" : "integer" }, "DeviceIndex" : { + "description" : "The position of the network interface in the attachment order. A primary network interface has a device index of 0.", "type" : "string" }, "GroupSet" : { - "type" : "array", "uniqueItems" : false, + "description" : "The IDs of the security groups for the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "type" : "string" } }, "Ipv6Addresses" : { - "type" : "array", "uniqueItems" : false, + "description" : "The IPv6 addresses associated with the network interface.", + "insertionOrder" : false, + "type" : "array", "items" : { "$ref" : "#/definitions/InstanceIpv6Address" } }, "SubnetId" : { + "description" : "The ID of the subnet.", "type" : "string" }, "AssociatePublicIpAddress" : { + "description" : "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC.", "type" : "boolean" }, "NetworkInterfaceId" : { + "description" : "The ID of the network interface.", "type" : "string" }, "AssociateCarrierIpAddress" : { + "description" : "Not currently supported by AWS CloudFormation.", "type" : "boolean" }, "Ipv6AddressCount" : { + "description" : "A number of IPv6 addresses to assign to the network interface.", "type" : "integer" }, "DeleteOnTermination" : { + "description" : "If set to true, the interface is deleted when the instance is terminated.", "type" : "boolean" } }, "required" : [ "DeviceIndex" ] }, "PrivateDnsNameOptions" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { + "EnableResourceNameDnsARecord" : { + "description" : "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type" : "boolean" + }, "HostnameType" : { - "type" : "string" + "description" : "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type" : "string", + "enum" : [ "ip-name", "resource-name" ] }, "EnableResourceNameDnsAAAARecord" : { - "type" : "boolean" - }, - "EnableResourceNameDnsARecord" : { + "description" : "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", "type" : "boolean" } } }, - "ElasticGpuSpecification" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Type" : { - "type" : "string" - } - }, - "required" : [ "Type" ] - }, "ElasticInferenceAccelerator" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Type" : { + "description" : "The type of elastic inference accelerator.", "type" : "string" }, "Count" : { - "type" : "integer" + "description" : "The number of elastic inference accelerators to attach to the instance.", + "type" : "integer", + "minimum" : 0 } }, "required" : [ "Type" ] }, - "SsmAssociation" : { - "type" : "object", + "AssociationParameter" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "AssociationParameters" : { - "type" : "array", + "Value" : { "uniqueItems" : false, + "description" : "The value of an input parameter.", + "insertionOrder" : false, + "type" : "array", "items" : { - "$ref" : "#/definitions/AssociationParameter" + "type" : "string" } }, - "DocumentName" : { + "Key" : { + "description" : "The name of an input parameter that is in the associated SSM document.", "type" : "string" } }, - "required" : [ "DocumentName" ] + "required" : [ "Value", "Key" ] }, - "AssociationParameter" : { - "type" : "object", + "SsmAssociation" : { "additionalProperties" : false, + "type" : "object", "properties" : { - "Value" : { - "type" : "array", + "AssociationParameters" : { "uniqueItems" : false, + "description" : "The input parameter values to use with the associated SSM document.", + "insertionOrder" : false, + "type" : "array", "items" : { - "type" : "string" + "$ref" : "#/definitions/AssociationParameter" } }, - "Key" : { + "DocumentName" : { + "description" : "The name of an SSM document to associate with the instance.", "type" : "string" } }, - "required" : [ "Value", "Key" ] + "required" : [ "DocumentName" ] }, "PrivateIpAddressSpecification" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "PrivateIpAddress" : { + "description" : "The private IPv4 addresses.", "type" : "string" }, "Primary" : { + "description" : "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.", "type" : "boolean" } }, "required" : [ "PrivateIpAddress", "Primary" ] }, "Volume" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "VolumeId" : { + "description" : "The ID of the EBS volume. The volume and instance must be within the same Availability Zone.", "type" : "string" }, "Device" : { + "description" : "The device name (for example, /dev/sdh or xvdh).", "type" : "string" } }, "required" : [ "VolumeId", "Device" ] }, - "EnclaveOptions" : { - "type" : "object", - "additionalProperties" : false, - "properties" : { - "Enabled" : { - "type" : "boolean" - } - } - }, "Ebs" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "SnapshotId" : { + "description" : "The ID of the snapshot.", "type" : "string" }, "VolumeType" : { + "description" : "The volume type.", "type" : "string" }, "KmsKeyId" : { + "description" : "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used.", "type" : "string" }, "Encrypted" : { + "description" : "Indicates whether the volume should be encrypted.", "type" : "boolean" }, "Iops" : { + "description" : "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.", "type" : "integer" }, "VolumeSize" : { + "description" : "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.", "type" : "integer" }, "DeleteOnTermination" : { + "description" : "Indicates whether the EBS volume is deleted on instance termination.", "type" : "boolean" } } }, "BlockDeviceMapping" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { + "Ebs" : { + "description" : "Parameters used to automatically set up EBS volumes when the instance is launched.", + "$ref" : "#/definitions/Ebs" + }, "NoDevice" : { - "$ref" : "#/definitions/NoDevice" + "additionalProperties" : false, + "type" : "object" }, "VirtualName" : { "type" : "string" }, - "Ebs" : { - "$ref" : "#/definitions/Ebs" - }, "DeviceName" : { + "description" : "The device name (for example, /dev/sdh or xvdh).", "type" : "string" } }, "required" : [ "DeviceName" ] }, "Tag" : { - "type" : "object", "additionalProperties" : false, + "type" : "object", "properties" : { "Value" : { "type" : "string" @@ -468,18 +337,276 @@ } }, "required" : [ "Value", "Key" ] + } + }, + "properties" : { + "Tenancy" : { + "description" : "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.", + "type" : "string" }, - "CreditSpecification" : { + "SecurityGroups" : { + "uniqueItems" : false, + "description" : "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "PrivateDnsName" : { + "description" : "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal.", + "type" : "string" + }, + "PrivateIpAddress" : { + "description" : "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "type" : "string" + }, + "UserData" : { + "description" : "The user data to make available to the instance.", + "type" : "string" + }, + "BlockDeviceMappings" : { + "uniqueItems" : false, + "description" : "The block device mapping entries that defines the block devices to attach to the instance at launch.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/BlockDeviceMapping" + } + }, + "IamInstanceProfile" : { + "description" : "The IAM instance profile.", + "type" : "string" + }, + "Ipv6Addresses" : { + "uniqueItems" : false, + "description" : "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/InstanceIpv6Address" + } + }, + "KernelId" : { + "description" : "The ID of the kernel.", + "type" : "string" + }, + "SubnetId" : { + "description" : "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "type" : "string" + }, + "EbsOptimized" : { + "description" : "Indicates whether the instance is optimized for Amazon EBS I/O.", + "type" : "boolean" + }, + "PropagateTagsToVolumeOnCreation" : { + "description" : "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes.", + "type" : "boolean" + }, + "ElasticGpuSpecifications" : { + "uniqueItems" : false, + "description" : "An elastic GPU to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ElasticGpuSpecification" + } + }, + "ElasticInferenceAccelerators" : { + "uniqueItems" : false, + "description" : "An elastic inference accelerator to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/ElasticInferenceAccelerator" + } + }, + "Volumes" : { + "uniqueItems" : false, + "description" : "The volumes to attach to the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Volume" + } + }, + "PrivateIp" : { + "description" : "The private IP address of the specified instance. For example: 10.24.34.0.", + "type" : "string" + }, + "Ipv6AddressCount" : { + "description" : "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "type" : "integer" + }, + "LaunchTemplate" : { + "description" : "The launch template to use to launch the instances.", "type" : "object", + "$ref" : "#/definitions/LaunchTemplateSpecification" + }, + "EnclaveOptions" : { + "description" : "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Enabled" : { + "description" : "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves.", + "type" : "boolean" + } + } + }, + "NetworkInterfaces" : { + "uniqueItems" : false, + "description" : "The network interfaces to associate with the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/NetworkInterface" + } + }, + "ImageId" : { + "description" : "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "type" : "string" + }, + "InstanceType" : { + "description" : "The instance type.", + "type" : "string" + }, + "Monitoring" : { + "description" : "Specifies whether detailed monitoring is enabled for the instance.", + "type" : "boolean" + }, + "Tags" : { + "uniqueItems" : false, + "description" : "The tags to add to the instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } + }, + "AdditionalInfo" : { + "description" : "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX).", + "type" : "string" + }, + "HibernationOptions" : { + "description" : "Indicates whether an instance is enabled for hibernation.", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Configured" : { + "default" : false, + "description" : "If you set this parameter to true, your instance is enabled for hibernation.", + "type" : "boolean" + } + } + }, + "LicenseSpecifications" : { + "uniqueItems" : false, + "description" : "The license configurations.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/LicenseSpecification" + } + }, + "InstanceId" : { + "description" : "The EC2 Instance ID.", + "type" : "string" + }, + "PublicIp" : { + "description" : "The public IP address of the specified instance. For example: 192.0.2.0.", + "type" : "string" + }, + "InstanceInitiatedShutdownBehavior" : { + "description" : "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).", + "type" : "string" + }, + "CpuOptions" : { + "description" : "The CPU options for the instance.", "additionalProperties" : false, + "type" : "object", + "properties" : { + "ThreadsPerCore" : { + "type" : "integer" + }, + "CoreCount" : { + "type" : "integer" + } + } + }, + "AvailabilityZone" : { + "description" : "The Availability Zone of the instance.", + "type" : "string" + }, + "PrivateDnsNameOptions" : { + "description" : "The options for the instance hostname.", + "type" : "object", + "$ref" : "#/definitions/PrivateDnsNameOptions" + }, + "HostId" : { + "description" : "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account.", + "type" : "string" + }, + "HostResourceGroupArn" : { + "description" : "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "type" : "string" + }, + "PublicDnsName" : { + "description" : "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com.", + "type" : "string" + }, + "SecurityGroupIds" : { + "uniqueItems" : false, + "description" : "The IDs of the security groups.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "type" : "string" + } + }, + "DisableApiTermination" : { + "description" : "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can.", + "type" : "boolean" + }, + "KeyName" : { + "description" : "The name of the key pair.", + "type" : "string" + }, + "RamdiskId" : { + "description" : "The ID of the RAM disk to select.", + "type" : "string" + }, + "SourceDestCheck" : { + "description" : "Specifies whether to enable an instance launched in a VPC to perform NAT.", + "type" : "boolean" + }, + "PlacementGroupName" : { + "description" : "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "type" : "string" + }, + "SsmAssociations" : { + "uniqueItems" : false, + "description" : "The SSM document and parameter values in AWS Systems Manager to associate with this instance.", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/SsmAssociation" + } + }, + "Affinity" : { + "description" : "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type" : "string", + "enum" : [ "default", "host" ] + }, + "CreditSpecification" : { + "description" : "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "additionalProperties" : false, + "type" : "object", "properties" : { "CPUCredits" : { "type" : "string" } } } - }, - "createOnlyProperties" : [ "/properties/ElasticGpuSpecifications", "/properties/Ipv6Addresses", "/properties/PlacementGroupName", "/properties/HostResourceGroupArn", "/properties/ImageId", "/properties/CpuOptions", "/properties/PrivateIpAddress", "/properties/ElasticInferenceAccelerators", "/properties/EnclaveOptions", "/properties/HibernationOptions", "/properties/KeyName", "/properties/LicenseSpecifications", "/properties/NetworkInterfaces", "/properties/AvailabilityZone", "/properties/SubnetId", "/properties/LaunchTemplate", "/properties/SecurityGroups", "/properties/Ipv6AddressCount" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/PublicIp", "/properties/Id", "/properties/PublicDnsName", "/properties/PrivateDnsName", "/properties/PrivateIp" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-ipamallocation.json b/aws-cloudformation-schema/aws-ec2-ipamallocation.json index 312b230868..1e09acc6a2 100644 --- a/aws-cloudformation-schema/aws-ec2-ipamallocation.json +++ b/aws-cloudformation-schema/aws-ec2-ipamallocation.json @@ -4,7 +4,7 @@ "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { "Cidr" : { - "description" : "Represents a single IPv4 or IPv6 CIDR", + "description" : "Represents an IPAM custom allocation of a single IPv4 or IPv6 CIDR", "type" : "string" } }, diff --git a/aws-cloudformation-schema/aws-ec2-securitygroupegress.json b/aws-cloudformation-schema/aws-ec2-securitygroupegress.json index 7b2dcb64d2..4197067630 100644 --- a/aws-cloudformation-schema/aws-ec2-securitygroupegress.json +++ b/aws-cloudformation-schema/aws-ec2-securitygroupegress.json @@ -1,41 +1,75 @@ { + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ec2.git", + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "handlers" : { + "read" : { + "permissions" : [ "ec2:DescribeSecurityGroupRules" ] + }, + "create" : { + "permissions" : [ "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroupRules" ] + }, + "update" : { + "permissions" : [ "ec2:UpdateSecurityGroupRuleDescriptionsEgress" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeSecurityGroupRules" ] + }, + "delete" : { + "permissions" : [ "ec2:RevokeSecurityGroupEgress", "ec2:DescribeSecurityGroupRules" ] + } + }, "typeName" : "AWS::EC2::SecurityGroupEgress", + "readOnlyProperties" : [ "/properties/Id" ], "description" : "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "createOnlyProperties" : [ "/properties/IpProtocol", "/properties/DestinationSecurityGroupId", "/properties/ToPort", "/properties/CidrIp", "/properties/FromPort", "/properties/GroupId", "/properties/CidrIpv6", "/properties/DestinationPrefixListId" ], "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Id" ], + "required" : [ "IpProtocol", "GroupId" ], "properties" : { - "Id" : { - "type" : "string" - }, "CidrIp" : { + "description" : "The IPv4 ranges", "type" : "string" }, "CidrIpv6" : { + "description" : "[VPC only] The IPv6 ranges", "type" : "string" }, "Description" : { + "description" : "Resource Type definition for an egress (outbound) security group rule.", "type" : "string" }, - "DestinationPrefixListId" : { + "FromPort" : { + "description" : "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "type" : "integer" + }, + "ToPort" : { + "description" : "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "type" : "integer" + }, + "IpProtocol" : { + "description" : "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", "type" : "string" }, "DestinationSecurityGroupId" : { + "description" : "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", "type" : "string" }, - "FromPort" : { - "type" : "integer" - }, - "GroupId" : { + "Id" : { + "description" : "The Security Group Rule Id", "type" : "string" }, - "IpProtocol" : { + "DestinationPrefixListId" : { + "description" : "[EC2-VPC only] The ID of a prefix list.", "type" : "string" }, - "ToPort" : { - "type" : "integer" + "GroupId" : { + "description" : "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "type" : "string" } - }, - "required" : [ "IpProtocol", "GroupId" ], - "createOnlyProperties" : [ "/properties/IpProtocol", "/properties/DestinationSecurityGroupId", "/properties/ToPort", "/properties/CidrIp", "/properties/FromPort", "/properties/GroupId", "/properties/CidrIpv6", "/properties/DestinationPrefixListId" ], - "readOnlyProperties" : [ "/properties/Id" ], - "primaryIdentifier" : [ "/properties/Id" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json b/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json index 478d950c28..df66aa0ef3 100644 --- a/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json +++ b/aws-cloudformation-schema/aws-ec2-verifiedaccesstrustprovider.json @@ -45,6 +45,10 @@ "TenantId" : { "type" : "string", "description" : "The ID of the tenant application with the device-identity provider." + }, + "PublicSigningKeyUrl" : { + "type" : "string", + "description" : "URL Verified Access will use to verify authenticity of the device tokens." } }, "additionalProperties" : false diff --git a/aws-cloudformation-schema/aws-ecs-capacityprovider.json b/aws-cloudformation-schema/aws-ecs-capacityprovider.json index 46a996e276..1df3e93899 100644 --- a/aws-cloudformation-schema/aws-ecs-capacityprovider.json +++ b/aws-cloudformation-schema/aws-ecs-capacityprovider.json @@ -1,97 +1,104 @@ { + "propertyTransform" : { + "/properties/AutoScalingGroupProvider/AutoScalingGroupArn" : "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" + }, + "tagging" : { + "taggable" : true + }, + "handlers" : { + "read" : { + "permissions" : [ "ecs:DescribeCapacityProviders" ] + }, + "create" : { + "permissions" : [ "autoscaling:CreateOrUpdateTags", "ecs:CreateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:TagResource" ] + }, + "update" : { + "permissions" : [ "ecs:UpdateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource" ] + }, + "list" : { + "permissions" : [ "ecs:DescribeCapacityProviders" ] + }, + "delete" : { + "permissions" : [ "ecs:DescribeCapacityProviders", "ecs:DeleteCapacityProvider" ] + } + }, "typeName" : "AWS::ECS::CapacityProvider", "description" : "Resource Type definition for AWS::ECS::CapacityProvider.", + "createOnlyProperties" : [ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", "/properties/Name" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Name" ], "definitions" : { "ManagedScaling" : { "description" : "The managed scaling settings for the Auto Scaling group capacity provider.", + "additionalProperties" : false, "type" : "object", "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] + }, "MinimumScalingStepSize" : { "type" : "integer" }, - "MaximumScalingStepSize" : { + "InstanceWarmupPeriod" : { "type" : "integer" }, - "Status" : { - "type" : "string", - "enum" : [ "DISABLED", "ENABLED" ] - }, "TargetCapacity" : { "type" : "integer" }, - "InstanceWarmupPeriod" : { + "MaximumScalingStepSize" : { "type" : "integer" } - }, - "additionalProperties" : false + } }, "AutoScalingGroupProvider" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "AutoScalingGroupArn" : { - "type" : "string" - }, "ManagedScaling" : { "$ref" : "#/definitions/ManagedScaling" }, + "AutoScalingGroupArn" : { + "type" : "string" + }, "ManagedTerminationProtection" : { "type" : "string", "enum" : [ "DISABLED", "ENABLED" ] + }, + "ManagedDraining" : { + "type" : "string", + "enum" : [ "DISABLED", "ENABLED" ] } }, - "required" : [ "AutoScalingGroupArn" ], - "additionalProperties" : false + "required" : [ "AutoScalingGroupArn" ] }, "Tag" : { + "additionalProperties" : false, "type" : "object", "properties" : { - "Key" : { - "type" : "string", - "minLength" : 1 - }, "Value" : { - "type" : "string", - "minLength" : 1 + "minLength" : 1, + "type" : "string" + }, + "Key" : { + "minLength" : 1, + "type" : "string" } - }, - "additionalProperties" : false + } } }, "properties" : { "AutoScalingGroupProvider" : { "$ref" : "#/definitions/AutoScalingGroupProvider" }, - "Name" : { - "type" : "string" - }, "Tags" : { "type" : "array", "items" : { "$ref" : "#/definitions/Tag" } - } - }, - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Name" ], - "createOnlyProperties" : [ "/properties/AutoScalingGroupProvider/AutoScalingGroupArn", "/properties/Name" ], - "propertyTransform" : { - "/properties/AutoScalingGroupProvider/AutoScalingGroupArn" : "$split(AutoScalingGroupProvider.AutoScalingGroupArn, \"autoScalingGroupName/\")[-1] $OR $split(AutoScalingGroupArn, \"autoScalingGroupName/\")[-1]" - }, - "handlers" : { - "create" : { - "permissions" : [ "autoscaling:CreateOrUpdateTags", "ecs:CreateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:TagResource" ] - }, - "delete" : { - "permissions" : [ "ecs:DescribeCapacityProviders", "ecs:DeleteCapacityProvider" ] }, - "read" : { - "permissions" : [ "ecs:DescribeCapacityProviders" ] - }, - "update" : { - "permissions" : [ "ecs:UpdateCapacityProvider", "ecs:DescribeCapacityProviders", "ecs:ListTagsForResource", "ecs:TagResource", "ecs:UntagResource" ] - }, - "list" : { - "permissions" : [ "ecs:DescribeCapacityProviders" ] + "Name" : { + "type" : "string" } }, "required" : [ "AutoScalingGroupProvider" ] diff --git a/aws-cloudformation-schema/aws-ecs-service.json b/aws-cloudformation-schema/aws-ecs-service.json index 671ead77ec..36a2f7c008 100644 --- a/aws-cloudformation-schema/aws-ecs-service.json +++ b/aws-cloudformation-schema/aws-ecs-service.json @@ -11,7 +11,7 @@ "permissions" : [ "ecs:DescribeServices" ] }, "create" : { - "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole" ], + "permissions" : [ "ecs:CreateService", "ecs:DescribeServices", "iam:PassRole", "ecs:TagResource" ], "timeoutInMinutes" : 180 }, "update" : { diff --git a/aws-cloudformation-schema/aws-elasticache-serverlesscache.json b/aws-cloudformation-schema/aws-elasticache-serverlesscache.json index 82ed3242da..31ec2cbfb6 100644 --- a/aws-cloudformation-schema/aws-elasticache-serverlesscache.json +++ b/aws-cloudformation-schema/aws-elasticache-serverlesscache.json @@ -190,7 +190,7 @@ "tagProperty" : "/properties/Tags" }, "additionalProperties" : false, - "readOnlyProperties" : [ "/properties/FullEngineVersion", "/properties/CreateTime", "/properties/Status", "/properties/Endpoint", "/properties/ReaderEndpoint", "/properties/ARN" ], + "readOnlyProperties" : [ "/properties/FullEngineVersion", "/properties/CreateTime", "/properties/Status", "/properties/Endpoint/Address", "/properties/Endpoint/Port", "/properties/ReaderEndpoint/Address", "/properties/ReaderEndpoint/Port", "/properties/ARN" ], "writeOnlyProperties" : [ "/properties/SnapshotArnsToRestore", "/properties/FinalSnapshotName" ], "createOnlyProperties" : [ "/properties/ServerlessCacheName", "/properties/Engine", "/properties/MajorEngineVersion", "/properties/KmsKeyId", "/properties/SnapshotArnsToRestore", "/properties/SubnetIds" ], "required" : [ "ServerlessCacheName", "Engine" ], diff --git a/aws-cloudformation-schema/aws-emr-studio.json b/aws-cloudformation-schema/aws-emr-studio.json index 861755a6e7..c2f02d98c2 100644 --- a/aws-cloudformation-schema/aws-emr-studio.json +++ b/aws-cloudformation-schema/aws-emr-studio.json @@ -134,13 +134,32 @@ "type" : "string", "minLength" : 0, "maxLength" : 256 + }, + "TrustedIdentityPropagationEnabled" : { + "description" : "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "type" : "boolean" + }, + "IdcUserAssignment" : { + "description" : "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type" : "string", + "enum" : [ "REQUIRED", "OPTIONAL" ] + }, + "IdcInstanceArn" : { + "description" : "The ARN of the IAM Identity Center instance to create the Studio application.", + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + }, + "EncryptionKeyArn" : { + "description" : "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "$ref" : "#/definitions/Arn" } }, "additionalProperties" : false, "required" : [ "AuthMode", "EngineSecurityGroupId", "Name", "ServiceRole", "SubnetIds", "VpcId", "WorkspaceSecurityGroupId", "DefaultS3Location" ], "readOnlyProperties" : [ "/properties/StudioId", "/properties/Arn", "/properties/Url" ], "primaryIdentifier" : [ "/properties/StudioId" ], - "createOnlyProperties" : [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", "/properties/ServiceRole", "/properties/UserRole", "/properties/VpcId", "/properties/WorkspaceSecurityGroupId" ], + "createOnlyProperties" : [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", "/properties/ServiceRole", "/properties/UserRole", "/properties/VpcId", "/properties/WorkspaceSecurityGroupId", "/properties/TrustedIdentityPropagationEnabled", "/properties/IdcUserAssignment", "/properties/IdcInstanceArn", "/properties/EncryptionKeyArn" ], "handlers" : { "create" : { "permissions" : [ "elasticmapreduce:CreateStudio", "elasticmapreduce:DescribeStudio", "elasticmapreduce:AddTags", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "iam:PassRole" ] diff --git a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json index f9dcb57413..818c327fec 100644 --- a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json +++ b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json @@ -40,13 +40,13 @@ "permissions" : [ "elasticmapreduce:CreateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:AssociateProfile" ] }, "read" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance" ] }, "update" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:UpdateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:UpdateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance" ] }, "delete" : { - "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:DeleteStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:DisassociateProfile" ] + "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "elasticmapreduce:DeleteStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:DisassociateProfile" ] }, "list" : { "permissions" : [ "elasticmapreduce:ListStudioSessionMappings" ] diff --git a/aws-cloudformation-schema/aws-eventschemas-discoverer.json b/aws-cloudformation-schema/aws-eventschemas-discoverer.json index ed856b6185..ffe5e2bf67 100644 --- a/aws-cloudformation-schema/aws-eventschemas-discoverer.json +++ b/aws-cloudformation-schema/aws-eventschemas-discoverer.json @@ -4,26 +4,37 @@ "additionalProperties" : false, "properties" : { "DiscovererArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the discoverer." }, "DiscovererId" : { - "type" : "string" - }, - "CrossAccount" : { - "type" : "boolean" + "type" : "string", + "description" : "The Id of the discoverer." }, "Description" : { - "type" : "string" + "type" : "string", + "description" : "A description for the discoverer." }, "SourceArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the event bus." + }, + "CrossAccount" : { + "type" : "boolean", + "default" : true, + "description" : "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "State" : { + "type" : "string", + "description" : "Defines the current state of the discoverer." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/TagsEntry" - } + }, + "description" : "Tags associated with the resource." } }, "definitions" : { @@ -42,7 +53,31 @@ } }, "required" : [ "SourceArn" ], + "primaryIdentifier" : [ "/properties/DiscovererArn" ], + "readOnlyProperties" : [ "/properties/DiscovererArn", "/properties/DiscovererId", "/properties/State" ], "createOnlyProperties" : [ "/properties/SourceArn" ], - "primaryIdentifier" : [ "/properties/DiscovererId" ], - "readOnlyProperties" : [ "/properties/DiscovererId", "/properties/DiscovererArn" ] + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "schemas:CreateDiscoverer", "schemas:DescribeDiscoverer", "schemas:TagResource", "events:PutRule", "events:PutTargets", "events:EnableRule", "events:ListTargetsByRule", "iam:CreateServiceLinkedRole" ] + }, + "read" : { + "permissions" : [ "schemas:DescribeDiscoverer" ] + }, + "update" : { + "permissions" : [ "schemas:DescribeDiscoverer", "schemas:UpdateDiscoverer", "schemas:TagResource", "schemas:UntagResource", "schemas:ListTagsForResource", "events:PutTargets", "events:PutRule" ] + }, + "delete" : { + "permissions" : [ "schemas:DescribeDiscoverer", "schemas:DeleteDiscoverer", "events:DeleteRule", "events:DisableRule", "events:RemoveTargets" ] + }, + "list" : { + "permissions" : [ "schemas:ListDiscoverers" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-eventschemas-registry.json b/aws-cloudformation-schema/aws-eventschemas-registry.json index 35429a5443..83ba60e618 100644 --- a/aws-cloudformation-schema/aws-eventschemas-registry.json +++ b/aws-cloudformation-schema/aws-eventschemas-registry.json @@ -4,23 +4,24 @@ "additionalProperties" : false, "properties" : { "RegistryName" : { - "type" : "string" + "type" : "string", + "description" : "The name of the schema registry." }, "Description" : { - "type" : "string" - }, - "Id" : { - "type" : "string" + "type" : "string", + "description" : "A description of the registry to be created." }, "RegistryArn" : { - "type" : "string" + "type" : "string", + "description" : "The ARN of the registry." }, "Tags" : { "type" : "array", "uniqueItems" : false, "items" : { "$ref" : "#/definitions/TagsEntry" - } + }, + "description" : "Tags associated with the resource." } }, "definitions" : { @@ -38,7 +39,31 @@ "required" : [ "Value", "Key" ] } }, + "primaryIdentifier" : [ "/properties/RegistryArn" ], + "readOnlyProperties" : [ "/properties/RegistryArn" ], "createOnlyProperties" : [ "/properties/RegistryName" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/RegistryArn", "/properties/Id" ] + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags" + }, + "handlers" : { + "create" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:CreateRegistry", "schemas:TagResource" ] + }, + "read" : { + "permissions" : [ "schemas:DescribeRegistry" ] + }, + "update" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:UpdateRegistry", "schemas:TagResource", "schemas:UntagResource", "schemas:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "schemas:DescribeRegistry", "schemas:DeleteRegistry" ] + }, + "list" : { + "permissions" : [ "schemas:ListRegistries" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fis-experimenttemplate.json b/aws-cloudformation-schema/aws-fis-experimenttemplate.json index a5a7f1f872..49ac6719e8 100644 --- a/aws-cloudformation-schema/aws-fis-experimenttemplate.json +++ b/aws-cloudformation-schema/aws-fis-experimenttemplate.json @@ -1,107 +1,96 @@ { - "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", - "handlers" : { - "read" : { - "permissions" : [ "fis:GetExperimentTemplate", "fis:ListTagsForResource" ] - }, - "create" : { - "permissions" : [ "fis:CreateExperimentTemplate", "fis:TagResource", "iam:PassRole" ] - }, - "update" : { - "permissions" : [ "fis:UpdateExperimentTemplate", "fis:TagResource", "fis:UntagResource", "iam:PassRole" ] - }, - "list" : { - "permissions" : [ "fis:ListExperimentTemplates", "fis:ListTagsForResource" ] - }, - "delete" : { - "permissions" : [ "fis:DeleteExperimentTemplate" ] - } - }, "typeName" : "AWS::FIS::ExperimentTemplate", - "readOnlyProperties" : [ "/properties/Id" ], "description" : "Resource schema for AWS::FIS::ExperimentTemplate", - "createOnlyProperties" : [ "/properties/Tags" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Id" ], + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", "definitions" : { - "ExperimentTemplateActionItemDescription" : { - "description" : "A description for the action.", + "ExperimentTemplateId" : { + "type" : "string" + }, + "ExperimentTemplateDescription" : { "type" : "string", + "description" : "A description for the experiment template.", "maxLength" : 512 }, "StopConditionSource" : { "type" : "string", "maxLength" : 64 }, + "StopConditionValue" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + }, "ExperimentTemplateStopCondition" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "$ref" : "#/definitions/StopConditionValue" - }, "Source" : { "$ref" : "#/definitions/StopConditionSource" + }, + "Value" : { + "$ref" : "#/definitions/StopConditionValue" } }, "required" : [ "Source" ] }, - "ExperimentTemplateActionItemStartAfter" : { + "ExperimentTemplateStopConditionList" : { + "type" : "array", + "description" : "One or more stop conditions.", + "items" : { + "$ref" : "#/definitions/ExperimentTemplateStopCondition" + } + }, + "ResourceType" : { "type" : "string", + "description" : "The AWS resource type. The resource type must be supported for the specified action.", "maxLength" : 64 }, - "ExperimentTemplateLogConfiguration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "S3Configuration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "BucketName" : { - "minLength" : 3, - "type" : "string", - "maxLength" : 63 - }, - "Prefix" : { - "minLength" : 1, - "type" : "string", - "maxLength" : 1024 - } - }, - "required" : [ "BucketName" ] - }, - "LogSchemaVersion" : { - "type" : "integer", - "minimum" : 1 - }, - "CloudWatchLogsConfiguration" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "LogGroupArn" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - } - }, - "required" : [ "LogGroupArn" ] - } - }, - "required" : [ "LogSchemaVersion" ] + "ResourceArn" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 }, - "ExperimentTemplateId" : { - "type" : "string" + "ResourceArnList" : { + "type" : "array", + "description" : "The Amazon Resource Names (ARNs) of the target resources.", + "items" : { + "$ref" : "#/definitions/ResourceArn" + } }, "ExperimentTemplateTargetSelectionMode" : { - "description" : "Scopes the identified resources to a specific number of the resources at random, or a percentage of the resources.", "type" : "string", + "description" : "Scopes the identified resources to a specific number of the resources at random, or a percentage of the resources.", "maxLength" : 64 }, - "ExperimentTemplateDescription" : { - "description" : "A description for the experiment template.", + "ExperimentTemplateTargetFilterPath" : { "type" : "string", - "maxLength" : 512 + "description" : "The attribute path for the filter.", + "maxLength" : 256 + }, + "ExperimentTemplateTargetFilterValue" : { + "type" : "string", + "maxLength" : 128 + }, + "ExperimentTemplateTargetFilterValues" : { + "type" : "array", + "description" : "The attribute values for the filter.", + "items" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterValue" + } + }, + "ExperimentTemplateTargetFilter" : { + "type" : "object", + "description" : "Describes a filter used for the target resource input in an experiment template.", + "additionalProperties" : false, + "properties" : { + "Path" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterPath" + }, + "Values" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterValues" + } + }, + "required" : [ "Path", "Values" ] }, "ExperimentTemplateTargetFilterList" : { "type" : "array", @@ -109,44 +98,39 @@ "$ref" : "#/definitions/ExperimentTemplateTargetFilter" } }, - "StopConditionValue" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - }, "ExperimentTemplateTarget" : { + "type" : "object", "description" : "Specifies a target for an experiment.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Filters" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterList" + "ResourceType" : { + "$ref" : "#/definitions/ResourceType" }, - "Parameters" : { - "patternProperties" : { - ".{1,64}" : { - "type" : "string", - "maxLength" : 1024 - } - }, - "additionalProperties" : false, - "type" : "object" + "ResourceArns" : { + "$ref" : "#/definitions/ResourceArnList" }, "ResourceTags" : { + "type" : "object", "patternProperties" : { ".{1,128}" : { "type" : "string", "maxLength" : 256 } }, - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, - "ResourceType" : { - "$ref" : "#/definitions/ResourceType" + "Parameters" : { + "type" : "object", + "patternProperties" : { + ".{1,64}" : { + "type" : "string", + "maxLength" : 1024 + } + }, + "additionalProperties" : false }, - "ResourceArns" : { - "$ref" : "#/definitions/ResourceArnList" + "Filters" : { + "$ref" : "#/definitions/ExperimentTemplateTargetFilterList" }, "SelectionMode" : { "$ref" : "#/definitions/ExperimentTemplateTargetSelectionMode" @@ -154,98 +138,49 @@ }, "required" : [ "ResourceType", "SelectionMode" ] }, - "ExperimentTemplateActionItemTarget" : { - "type" : "string", - "maxLength" : 64 - }, "ExperimentTemplateTargetMap" : { + "type" : "object", + "description" : "The targets for the experiment.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateTarget" } }, - "description" : "The targets for the experiment.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, - "ExperimentTemplateActionItemStartAfterList" : { - "description" : "The names of the actions that must be completed before the current action starts.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfter" - } + "ActionId" : { + "type" : "string", + "description" : "The ID of the action.", + "maxLength" : 64 }, - "ExperimentTemplateTargetFilterPath" : { - "description" : "The attribute path for the filter.", + "ExperimentTemplateActionItemDescription" : { "type" : "string", - "maxLength" : 256 + "description" : "A description for the action.", + "maxLength" : 512 }, "ExperimentTemplateActionItemParameter" : { "type" : "string", "maxLength" : 1024 }, - "ExperimentTemplateTargetFilter" : { - "description" : "Describes a filter used for the target resource input in an experiment template.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Path" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterPath" - }, - "Values" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterValues" - } - }, - "required" : [ "Path", "Values" ] - }, - "ResourceType" : { - "description" : "The AWS resource type. The resource type must be supported for the specified action.", + "ExperimentTemplateActionItemTarget" : { "type" : "string", "maxLength" : 64 }, - "ExperimentTemplateActionMap" : { - "patternProperties" : { - "[\\S]{1,64}" : { - "$ref" : "#/definitions/ExperimentTemplateAction" - } - }, - "description" : "The actions for the experiment.", - "additionalProperties" : false, - "type" : "object" - }, - "RoleArn" : { - "description" : "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", - "type" : "string", - "maxLength" : 1224 - }, - "ResourceArnList" : { - "description" : "The Amazon Resource Names (ARNs) of the target resources.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ResourceArn" - } - }, - "ResourceArn" : { - "minLength" : 20, - "type" : "string", - "maxLength" : 2048 - }, - "ActionId" : { - "description" : "The ID of the action.", + "ExperimentTemplateActionItemStartAfter" : { "type" : "string", "maxLength" : 64 }, - "ExperimentTemplateStopConditionList" : { - "description" : "One or more stop conditions.", + "ExperimentTemplateActionItemStartAfterList" : { "type" : "array", + "description" : "The names of the actions that must be completed before the current action starts.", "items" : { - "$ref" : "#/definitions/ExperimentTemplateStopCondition" + "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfter" } }, "ExperimentTemplateAction" : { + "type" : "object", "description" : "Specifies an action for the experiment template.", "additionalProperties" : false, - "type" : "object", "properties" : { "ActionId" : { "$ref" : "#/definitions/ActionId" @@ -254,24 +189,24 @@ "$ref" : "#/definitions/ExperimentTemplateActionItemDescription" }, "Parameters" : { + "type" : "object", + "description" : "The parameters for the action, if applicable.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateActionItemParameter" } }, - "description" : "The parameters for the action, if applicable.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, "Targets" : { + "type" : "object", + "description" : "One or more targets for the action.", "patternProperties" : { ".{1,64}" : { "$ref" : "#/definitions/ExperimentTemplateActionItemTarget" } }, - "description" : "One or more targets for the action.", - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false }, "StartAfter" : { "$ref" : "#/definitions/ExperimentTemplateActionItemStartAfterList" @@ -279,35 +214,94 @@ }, "required" : [ "ActionId" ] }, - "ExperimentTemplateTargetFilterValues" : { - "description" : "The attribute values for the filter.", - "type" : "array", - "items" : { - "$ref" : "#/definitions/ExperimentTemplateTargetFilterValue" + "ExperimentTemplateActionMap" : { + "type" : "object", + "description" : "The actions for the experiment.", + "patternProperties" : { + "[\\S]{1,64}" : { + "$ref" : "#/definitions/ExperimentTemplateAction" + } + }, + "additionalProperties" : false + }, + "ExperimentTemplateLogConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "CloudWatchLogsConfiguration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "LogGroupArn" : { + "type" : "string", + "minLength" : 20, + "maxLength" : 2048 + } + }, + "required" : [ "LogGroupArn" ] + }, + "S3Configuration" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "BucketName" : { + "type" : "string", + "minLength" : 3, + "maxLength" : 63 + }, + "Prefix" : { + "type" : "string", + "minLength" : 1, + "maxLength" : 1024 + } + }, + "required" : [ "BucketName" ] + }, + "LogSchemaVersion" : { + "type" : "integer", + "minimum" : 1 + } + }, + "required" : [ "LogSchemaVersion" ] + }, + "ExperimentTemplateExperimentOptions" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "AccountTargeting" : { + "type" : "string", + "description" : "The account targeting setting for the experiment template.", + "enum" : [ "multi-account", "single-account" ] + }, + "EmptyTargetResolutionMode" : { + "type" : "string", + "description" : "The target resolution failure mode for the experiment template.", + "enum" : [ "fail", "skip" ] + } } }, - "ExperimentTemplateTargetFilterValue" : { + "RoleArn" : { "type" : "string", - "maxLength" : 128 + "description" : "The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.", + "maxLength" : 1224 } }, - "required" : [ "Description", "StopConditions", "Targets", "RoleArn", "Tags" ], "properties" : { + "Id" : { + "$ref" : "#/definitions/ExperimentTemplateId" + }, "Description" : { "$ref" : "#/definitions/ExperimentTemplateDescription" }, + "Targets" : { + "$ref" : "#/definitions/ExperimentTemplateTargetMap" + }, "Actions" : { "$ref" : "#/definitions/ExperimentTemplateActionMap" }, "StopConditions" : { "$ref" : "#/definitions/ExperimentTemplateStopConditionList" }, - "Targets" : { - "$ref" : "#/definitions/ExperimentTemplateTargetMap" - }, - "Id" : { - "$ref" : "#/definitions/ExperimentTemplateId" - }, "LogConfiguration" : { "$ref" : "#/definitions/ExperimentTemplateLogConfiguration" }, @@ -315,14 +309,39 @@ "$ref" : "#/definitions/RoleArn" }, "Tags" : { + "type" : "object", "patternProperties" : { ".{1,128}" : { "type" : "string", "maxLength" : 256 } }, - "additionalProperties" : false, - "type" : "object" + "additionalProperties" : false + }, + "ExperimentOptions" : { + "$ref" : "#/definitions/ExperimentTemplateExperimentOptions" + } + }, + "additionalProperties" : false, + "required" : [ "Description", "StopConditions", "Targets", "RoleArn", "Tags" ], + "readOnlyProperties" : [ "/properties/Id" ], + "createOnlyProperties" : [ "/properties/Tags", "/properties/ExperimentOptions/properties/AccountTargeting" ], + "primaryIdentifier" : [ "/properties/Id" ], + "handlers" : { + "create" : { + "permissions" : [ "fis:CreateExperimentTemplate", "fis:TagResource", "iam:PassRole" ] + }, + "read" : { + "permissions" : [ "fis:GetExperimentTemplate", "fis:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "fis:UpdateExperimentTemplate", "fis:TagResource", "fis:UntagResource", "iam:PassRole" ] + }, + "delete" : { + "permissions" : [ "fis:DeleteExperimentTemplate" ] + }, + "list" : { + "permissions" : [ "fis:ListExperimentTemplates", "fis:ListTagsForResource" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json b/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json new file mode 100644 index 0000000000..8b3bacf633 --- /dev/null +++ b/aws-cloudformation-schema/aws-fis-targetaccountconfiguration.json @@ -0,0 +1,75 @@ +{ + "typeName" : "AWS::FIS::TargetAccountConfiguration", + "description" : "Resource schema for AWS::FIS::TargetAccountConfiguration", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-fis.git", + "definitions" : { + "TargetExperimentTemplateId" : { + "type" : "string", + "description" : "The ID of the experiment template." + }, + "TargetAccountId" : { + "type" : "string", + "description" : "The AWS account ID of the target account.", + "maxLength" : 512 + }, + "TargetAccountRoleArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of an IAM role for the target account.", + "maxLength" : 1224 + }, + "TargetAccountConfigurationDescription" : { + "type" : "string", + "description" : "The description of the target account.", + "maxLength" : 512 + } + }, + "properties" : { + "ExperimentTemplateId" : { + "$ref" : "#/definitions/TargetExperimentTemplateId" + }, + "AccountId" : { + "$ref" : "#/definitions/TargetAccountId" + }, + "RoleArn" : { + "$ref" : "#/definitions/TargetAccountRoleArn" + }, + "Description" : { + "$ref" : "#/definitions/TargetAccountConfigurationDescription" + } + }, + "additionalProperties" : false, + "required" : [ "ExperimentTemplateId", "AccountId", "RoleArn" ], + "createOnlyProperties" : [ "/properties/ExperimentTemplateId", "/properties/AccountId" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "primaryIdentifier" : [ "/properties/ExperimentTemplateId", "/properties/AccountId" ], + "handlers" : { + "create" : { + "permissions" : [ "fis:CreateTargetAccountConfiguration" ] + }, + "read" : { + "permissions" : [ "fis:GetTargetAccountConfiguration" ] + }, + "update" : { + "permissions" : [ "fis:UpdateTargetAccountConfiguration" ] + }, + "delete" : { + "permissions" : [ "fis:DeleteTargetAccountConfiguration" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ExperimentTemplateId" : { + "$ref" : "resource-schema.json#/properties/ExperimentTemplateId" + } + }, + "required" : [ "ExperimentTemplateId" ] + }, + "permissions" : [ "fis:ListTargetAccountConfigurations" ] + } + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json b/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json index 3622904510..dce20a2ce0 100644 --- a/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json +++ b/aws-cloudformation-schema/aws-fsx-datarepositoryassociation.json @@ -130,7 +130,8 @@ "taggable" : true, "tagOnCreate" : true, "tagUpdatable" : true, - "cloudFormationSystemTags" : true + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" }, "additionalProperties" : false, "required" : [ "FileSystemId", "FileSystemPath", "DataRepositoryPath" ], diff --git a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json index 41fa50e2ac..1b721397ec 100644 --- a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json +++ b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json @@ -1,63 +1,112 @@ { "typeName" : "AWS::Lambda::EventInvokeConfig", - "description" : "Resource Type definition for AWS::Lambda::EventInvokeConfig", - "additionalProperties" : false, - "properties" : { - "FunctionName" : { - "type" : "string" - }, - "MaximumRetryAttempts" : { - "type" : "integer" - }, - "Qualifier" : { - "type" : "string" - }, - "DestinationConfig" : { - "$ref" : "#/definitions/DestinationConfig" - }, - "Id" : { - "type" : "string" - }, - "MaximumEventAgeInSeconds" : { - "type" : "integer" - } - }, + "description" : "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git", "definitions" : { "DestinationConfig" : { + "description" : "A destination for events after they have been sent to a function for processing.", "type" : "object", - "additionalProperties" : false, "properties" : { - "OnSuccess" : { - "$ref" : "#/definitions/OnSuccess" - }, "OnFailure" : { "$ref" : "#/definitions/OnFailure" + }, + "OnSuccess" : { + "$ref" : "#/definitions/OnSuccess" } - } + }, + "additionalProperties" : false }, - "OnSuccess" : { + "OnFailure" : { + "description" : "The destination configuration for failed invocations.", "type" : "object", - "additionalProperties" : false, "properties" : { "Destination" : { - "type" : "string" + "description" : "The Amazon Resource Name (ARN) of the destination resource.", + "type" : "string", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 0, + "maxLength" : 350 } }, - "required" : [ "Destination" ] + "required" : [ "Destination" ], + "additionalProperties" : false }, - "OnFailure" : { + "OnSuccess" : { + "description" : "The destination configuration for successful invocations.", "type" : "object", - "additionalProperties" : false, "properties" : { "Destination" : { - "type" : "string" + "description" : "The Amazon Resource Name (ARN) of the destination resource.", + "type" : "string", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", + "minLength" : 0, + "maxLength" : 350 } }, - "required" : [ "Destination" ] + "required" : [ "Destination" ], + "additionalProperties" : false + } + }, + "properties" : { + "DestinationConfig" : { + "$ref" : "#/definitions/DestinationConfig" + }, + "FunctionName" : { + "description" : "The name of the Lambda function.", + "type" : "string", + "pattern" : "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" + }, + "MaximumEventAgeInSeconds" : { + "description" : "The maximum age of a request that Lambda sends to a function for processing.", + "type" : "integer", + "minimum" : 60, + "maximum" : 21600 + }, + "MaximumRetryAttempts" : { + "description" : "The maximum number of times to retry when the function returns an error.", + "type" : "integer", + "minimum" : 0, + "maximum" : 2 + }, + "Qualifier" : { + "description" : "The identifier of a version or alias.", + "type" : "string", + "pattern" : "^(|[a-zA-Z0-9$_-]{1,129})$" } }, + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, + "additionalProperties" : false, "required" : [ "FunctionName", "Qualifier" ], + "primaryIdentifier" : [ "/properties/FunctionName", "/properties/Qualifier" ], "createOnlyProperties" : [ "/properties/FunctionName", "/properties/Qualifier" ], - "primaryIdentifier" : [ "/properties/Id" ], - "readOnlyProperties" : [ "/properties/Id" ] + "handlers" : { + "create" : { + "permissions" : [ "lambda:PutFunctionEventInvokeConfig" ] + }, + "read" : { + "permissions" : [ "lambda:GetFunctionEventInvokeConfig" ] + }, + "update" : { + "permissions" : [ "lambda:UpdateFunctionEventInvokeConfig" ] + }, + "delete" : { + "permissions" : [ "lambda:DeleteFunctionEventInvokeConfig" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "FunctionName" : { + "$ref" : "resource-schema.json#/properties/FunctionName" + } + }, + "required" : [ "FunctionName" ] + }, + "permissions" : [ "lambda:ListFunctionEventInvokeConfigs" ] + } + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-lambda-function.json b/aws-cloudformation-schema/aws-lambda-function.json index b3fe9cb412..e4efc89f4f 100644 --- a/aws-cloudformation-schema/aws-lambda-function.json +++ b/aws-cloudformation-schema/aws-lambda-function.json @@ -6,12 +6,6 @@ "tagProperty" : "/properties/Tags", "cloudFormationSystemTags" : true }, - "typeName" : "AWS::Lambda::Function", - "readOnlyProperties" : [ "/properties/SnapStartResponse", "/properties/SnapStartResponse/ApplyOn", "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], - "description" : "Resource Type definition for AWS::Lambda::Function in region", - "createOnlyProperties" : [ "/properties/FunctionName" ], - "primaryIdentifier" : [ "/properties/FunctionName" ], - "required" : [ "Code", "Role" ], "handlers" : { "read" : { "permissions" : [ "lambda:GetFunction", "lambda:GetFunctionCodeSigningConfig" ] @@ -29,8 +23,13 @@ "permissions" : [ "lambda:DeleteFunction", "ec2:DescribeNetworkInterfaces" ] } }, - "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile", "/properties/Policy" ], + "typeName" : "AWS::Lambda::Function", + "readOnlyProperties" : [ "/properties/SnapStartResponse", "/properties/SnapStartResponse/ApplyOn", "/properties/SnapStartResponse/OptimizationStatus", "/properties/Arn" ], + "description" : "Resource Type definition for AWS::Lambda::Function in region", + "writeOnlyProperties" : [ "/properties/SnapStart", "/properties/SnapStart/ApplyOn", "/properties/Code", "/properties/Code/ImageUri", "/properties/Code/S3Bucket", "/properties/Code/S3Key", "/properties/Code/S3ObjectVersion", "/properties/Code/ZipFile" ], + "createOnlyProperties" : [ "/properties/FunctionName" ], "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/FunctionName" ], "definitions" : { "ImageConfig" : { "additionalProperties" : false, @@ -291,11 +290,8 @@ "required" : [ "Size" ] } }, + "required" : [ "Code", "Role" ], "properties" : { - "Policy" : { - "description" : "The resource policy of your function", - "type" : "object" - }, "Description" : { "description" : "A description of the function.", "type" : "string", diff --git a/aws-cloudformation-schema/aws-logs-delivery.json b/aws-cloudformation-schema/aws-logs-delivery.json index ff532865a6..ca9d4bf69b 100644 --- a/aws-cloudformation-schema/aws-logs-delivery.json +++ b/aws-cloudformation-schema/aws-logs-delivery.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::Logs::Delivery", - "description" : "Resource Type definition for AWS::Logs::Delivery.", + "description" : "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Tag" : { @@ -24,7 +24,7 @@ "additionalProperties" : false }, "Arn" : { - "description" : "Amazon Resource Names (ARNs) uniquely identify AWS resources.", + "description" : "Amazon Resource Name (ARN) that uniquely identify AWS resource.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -33,36 +33,36 @@ }, "properties" : { "DeliveryId" : { - "description" : "The value of the Id property for this object.", + "description" : "The unique ID that identifies this delivery in your account.", "type" : "string", "minLength" : 1, "maxLength" : 64, "pattern" : "^[0-9A-Za-z]+$" }, "Arn" : { - "description" : "The value of the Arn property for this object.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery.", "$ref" : "#/definitions/Arn" }, "DeliverySourceName" : { - "description" : "The value of the DeliverySourceName property for this object.", + "description" : "The name of the delivery source that is associated with this delivery.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, "maxLength" : 60 }, "DeliveryDestinationArn" : { - "description" : "The value of the DeliveryDestinationArn property for this object.", + "description" : "The ARN of the delivery destination that is associated with this delivery.", "$ref" : "#/definitions/Arn" }, "DeliveryDestinationType" : { - "description" : "The value of the DeliveryDestinationType property for this object.", + "description" : "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.", "type" : "string", "minLength" : 1, "maxLength" : 12, "pattern" : "^[0-9A-Za-z]+$" }, "Tags" : { - "description" : "The value of the Tags property for this object.", + "description" : "The tags that have been assigned to this delivery.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, diff --git a/aws-cloudformation-schema/aws-logs-deliverydestination.json b/aws-cloudformation-schema/aws-logs-deliverydestination.json index bce4949f96..001dbf2a61 100644 --- a/aws-cloudformation-schema/aws-logs-deliverydestination.json +++ b/aws-cloudformation-schema/aws-logs-deliverydestination.json @@ -1,10 +1,10 @@ { "typeName" : "AWS::Logs::DeliveryDestination", - "description" : "Resource Type definition for AWS::Logs::DeliveryDestination", + "description" : "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Arn" : { - "description" : "Amazon Resource Names (ARNs) uniquely identify AWS resources.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies a resource.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -52,22 +52,22 @@ }, "properties" : { "Name" : { - "description" : "The unique name of the Delivery Destination.", + "description" : "The name of this delivery destination.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, "maxLength" : 60 }, "Arn" : { - "description" : "The value of the Arn property for this object.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination.", "$ref" : "#/definitions/Arn" }, "DestinationResourceArn" : { - "description" : "The ARN of the Destination Resource.", + "description" : "The ARN of the AWS resource that will receive the logs.", "$ref" : "#/definitions/Arn" }, "Tags" : { - "description" : "An array of key-value pairs to apply to this resource.", + "description" : "The tags that have been assigned to this delivery destination.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, @@ -76,7 +76,7 @@ } }, "DeliveryDestinationType" : { - "description" : "The value of the DeliveryDestinationType property for this object.", + "description" : "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.", "type" : "string", "minLength" : 1, "maxLength" : 12, diff --git a/aws-cloudformation-schema/aws-logs-deliverysource.json b/aws-cloudformation-schema/aws-logs-deliverysource.json index 3bd462eb6e..27edb5adea 100644 --- a/aws-cloudformation-schema/aws-logs-deliverysource.json +++ b/aws-cloudformation-schema/aws-logs-deliverysource.json @@ -1,6 +1,6 @@ { "typeName" : "AWS::Logs::DeliverySource", - "description" : "Resource Type definition for AWS::Logs::DeliverySource.", + "description" : " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "definitions" : { "Tag" : { @@ -24,7 +24,7 @@ "additionalProperties" : false }, "Arn" : { - "description" : "The ARN of the resource that will be sending the logs.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.", "type" : "string", "minLength" : 16, "maxLength" : 2048, @@ -40,11 +40,11 @@ "maxLength" : 60 }, "Arn" : { - "description" : "The ARN of the Aqueduct Source.", + "description" : "The Amazon Resource Name (ARN) that uniquely identifies this delivery source.", "$ref" : "#/definitions/Arn" }, "ResourceArns" : { - "description" : "List of ARN of the resource that will be sending the logs", + "description" : "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, @@ -57,7 +57,7 @@ "$ref" : "#/definitions/Arn" }, "Service" : { - "description" : "The service generating the log", + "description" : "The AWS service that is sending logs.", "type" : "string", "pattern" : "[\\w-]*$", "minLength" : 1, @@ -71,7 +71,7 @@ "maxLength" : 255 }, "Tags" : { - "description" : "An array of key-value pairs to apply to this resource.", + "description" : "The tags that have been assigned to this delivery source.", "type" : "array", "uniqueItems" : true, "insertionOrder" : false, diff --git a/aws-cloudformation-schema/aws-msk-batchscramsecret.json b/aws-cloudformation-schema/aws-msk-batchscramsecret.json index b3403f73f0..f9276df40f 100644 --- a/aws-cloudformation-schema/aws-msk-batchscramsecret.json +++ b/aws-cloudformation-schema/aws-msk-batchscramsecret.json @@ -31,13 +31,13 @@ }, "handlers" : { "create" : { - "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] }, "delete" : { "permissions" : [ "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] }, "list" : { - "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ], + "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ], "handlerSchema" : { "properties" : { "ClusterArn" : { @@ -48,10 +48,10 @@ } }, "read" : { - "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] }, "update" : { - "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey" ] + "permissions" : [ "kafka:BatchAssociateScramSecret", "kafka:BatchDisassociateScramSecret", "kafka:ListScramSecrets", "kms:CreateGrant", "kms:DescribeKey", "secretsmanager:GetSecretValue" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-opensearchservice-domain.json b/aws-cloudformation-schema/aws-opensearchservice-domain.json index 5ff469d116..b38f6d4971 100644 --- a/aws-cloudformation-schema/aws-opensearchservice-domain.json +++ b/aws-cloudformation-schema/aws-opensearchservice-domain.json @@ -361,6 +361,9 @@ "AccessPolicies" : { "type" : "object" }, + "IPAddressType" : { + "type" : "string" + }, "EngineVersion" : { "type" : "string" }, @@ -403,6 +406,9 @@ "DomainEndpoint" : { "type" : "string" }, + "DomainEndpointV2" : { + "type" : "string" + }, "DomainEndpoints" : { "type" : "object", "additionalProperties" : false, @@ -448,7 +454,7 @@ "additionalProperties" : false, "createOnlyProperties" : [ "/properties/DomainName" ], "conditionalCreateOnlyProperties" : [ "/properties/EncryptionAtRestOptions/properties", "/properties/AdvancedSecurityOptions/properties/Enabled" ], - "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/DomainArn", "/properties/DomainEndpoint", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" ], + "readOnlyProperties" : [ "/properties/Id", "/properties/Arn", "/properties/DomainArn", "/properties/DomainEndpoint", "/properties/DomainEndpointV2", "/properties/DomainEndpoints", "/properties/ServiceSoftwareOptions", "/properties/AdvancedSecurityOptions/AnonymousAuthDisableDate" ], "writeOnlyProperties" : [ "/properties/AdvancedSecurityOptions/MasterUserOptions", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterUserName", "/properties/AdvancedSecurityOptions/SAMLOptions/MasterBackendRole" ], "primaryIdentifier" : [ "/properties/DomainName" ], "handlers" : { diff --git a/aws-cloudformation-schema/aws-osis-pipeline.json b/aws-cloudformation-schema/aws-osis-pipeline.json index 736859c831..6cf5da986f 100644 --- a/aws-cloudformation-schema/aws-osis-pipeline.json +++ b/aws-cloudformation-schema/aws-osis-pipeline.json @@ -3,6 +3,30 @@ "description" : "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-osis.git", "definitions" : { + "BufferOptions" : { + "description" : "Key-value pairs to configure buffering.", + "type" : "object", + "properties" : { + "PersistentBufferEnabled" : { + "type" : "boolean", + "description" : "Whether persistent buffering should be enabled." + } + }, + "required" : [ "PersistentBufferEnabled" ], + "additionalProperties" : false + }, + "EncryptionAtRestOptions" : { + "description" : "Key-value pairs to configure encryption at rest.", + "type" : "object", + "properties" : { + "KmsKeyArn" : { + "type" : "string", + "description" : "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "required" : [ "KmsKeyArn" ], + "additionalProperties" : false + }, "LogPublishingOptions" : { "description" : "Key-value pairs to configure log publishing.", "type" : "object", @@ -22,6 +46,7 @@ "pattern" : "\\/aws\\/vendedlogs\\/[\\.\\-_/#A-Za-z0-9]+" } }, + "required" : [ "LogGroup" ], "additionalProperties" : false } }, @@ -74,6 +99,7 @@ } } }, + "required" : [ "SubnetIds" ], "additionalProperties" : false }, "VpcEndpoint" : { @@ -96,6 +122,12 @@ } }, "properties" : { + "BufferOptions" : { + "$ref" : "#/definitions/BufferOptions" + }, + "EncryptionAtRestOptions" : { + "$ref" : "#/definitions/EncryptionAtRestOptions" + }, "LogPublishingOptions" : { "$ref" : "#/definitions/LogPublishingOptions" }, @@ -175,16 +207,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "osis:CreatePipeline", "osis:GetPipeline", "osis:ListTagsForResource", "iam:PassRole", "iam:CreateServiceLinkedRole" ] + "permissions" : [ "osis:CreatePipeline", "osis:GetPipeline", "osis:TagResource", "osis:ListTagsForResource", "iam:PassRole", "iam:CreateServiceLinkedRole", "logs:CreateLogDelivery", "kms:DescribeKey" ] }, "read" : { "permissions" : [ "osis:GetPipeline", "osis:ListTagsForResource" ] }, "update" : { - "permissions" : [ "osis:UpdatePipeline", "osis:ListTagsForResource", "osis:TagResource", "osis:UntagResource", "iam:PassRole" ] + "permissions" : [ "osis:UpdatePipeline", "osis:GetPipeline", "osis:ListTagsForResource", "osis:TagResource", "osis:UntagResource", "iam:PassRole", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:ListLogDeliveries", "kms:DescribeKey" ] }, "delete" : { - "permissions" : [ "osis:DeletePipeline" ] + "permissions" : [ "osis:DeletePipeline", "osis:GetPipeline", "logs:GetLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ] }, "list" : { "permissions" : [ "osis:ListPipelines" ] diff --git a/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json b/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json index e88f7c0507..18551c3142 100644 --- a/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json +++ b/aws-cloudformation-schema/aws-route53resolver-resolverconfig.json @@ -34,21 +34,24 @@ "required" : [ "ResourceId", "AutodefinedReverseFlag" ], "readOnlyProperties" : [ "/properties/OwnerId", "/properties/Id", "/properties/AutodefinedReverse" ], "createOnlyProperties" : [ "/properties/ResourceId", "/properties/AutodefinedReverseFlag" ], - "primaryIdentifier" : [ "/properties/Id" ], + "primaryIdentifier" : [ "/properties/ResourceId" ], "taggable" : false, "additionalProperties" : false, + "propertyTransform" : { + "/properties/AutodefinedReverseFlag" : "$join([AutodefinedReverseFlag, \"D\"])" + }, "handlers" : { "create" : { - "permissions" : [ "route53resolver:UpdateResolverConfig" ] + "permissions" : [ "route53resolver:UpdateResolverConfig", "route53resolver:GetResolverConfig", "ec2:DescribeVpcs" ] }, "read" : { - "permissions" : [ "route53resolver:GetResolverConfig" ] + "permissions" : [ "route53resolver:GetResolverConfig", "ec2:DescribeVpcs" ] }, "delete" : { - "permissions" : [ "route53resolver:UpdateResolverConfig" ] + "permissions" : [ "route53resolver:UpdateResolverConfig", "route53resolver:ListResolverConfigs", "ec2:DescribeVpcs" ] }, "list" : { - "permissions" : [ "route53resolver:ListResolverConfigs" ] + "permissions" : [ "route53resolver:ListResolverConfigs", "ec2:DescribeVpcs" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-s3-bucket.json b/aws-cloudformation-schema/aws-s3-bucket.json index b48379a8d1..260c625e51 100644 --- a/aws-cloudformation-schema/aws-s3-bucket.json +++ b/aws-cloudformation-schema/aws-s3-bucket.json @@ -1,134 +1,182 @@ { - "tagging" : { - "taggable" : true, - "tagOnCreate" : true, - "tagUpdatable" : true, - "tagProperty" : "/properties/Tags", - "cloudFormationSystemTags" : true - }, - "handlers" : { - "read" : { - "permissions" : [ "s3:GetAccelerateConfiguration", "s3:GetLifecycleConfiguration", "s3:GetBucketPublicAccessBlock", "s3:GetAnalyticsConfiguration", "s3:GetBucketCORS", "s3:GetEncryptionConfiguration", "s3:GetInventoryConfiguration", "s3:GetBucketLogging", "s3:GetMetricsConfiguration", "s3:GetBucketNotification", "s3:GetBucketVersioning", "s3:GetReplicationConfiguration", "S3:GetBucketWebsite", "s3:GetBucketPublicAccessBlock", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketTagging", "s3:GetBucketOwnershipControls", "s3:GetIntelligentTieringConfiguration", "s3:ListBucket" ] + "typeName" : "AWS::S3::Bucket", + "description" : "Resource Type definition for AWS::S3::Bucket", + "additionalProperties" : false, + "properties" : { + "AccelerateConfiguration" : { + "$ref" : "#/definitions/AccelerateConfiguration", + "description" : "Configuration for the transfer acceleration state." }, - "create" : { - "permissions" : [ "s3:CreateBucket", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutObjectAcl", "s3:PutBucketObjectLockConfiguration", "s3:GetBucketAcl", "s3:ListBucket", "iam:PassRole", "s3:DeleteObject", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration" ] + "AccessControl" : { + "description" : "A canned access control list (ACL) that grants predefined permissions to the bucket.", + "enum" : [ "AuthenticatedRead", "AwsExecRead", "BucketOwnerFullControl", "BucketOwnerRead", "LogDeliveryWrite", "Private", "PublicRead", "PublicReadWrite" ], + "type" : "string" }, - "update" : { - "permissions" : [ "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration", "s3:DeleteBucketWebsite", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketObjectLockConfiguration", "s3:DeleteBucketAnalyticsConfiguration", "s3:DeleteBucketCors", "s3:DeleteBucketMetricsConfiguration", "s3:DeleteBucketEncryption", "s3:DeleteBucketLifecycle", "s3:DeleteBucketReplication", "iam:PassRole", "s3:ListBucket" ] + "AnalyticsConfigurations" : { + "description" : "The configuration and any analyses for the analytics filter of an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/AnalyticsConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true }, - "list" : { - "permissions" : [ "s3:ListAllMyBuckets" ] + "BucketEncryption" : { + "$ref" : "#/definitions/BucketEncryption" }, - "delete" : { - "permissions" : [ "s3:DeleteBucket", "s3:ListBucket" ] - } - }, - "typeName" : "AWS::S3::Bucket", - "readOnlyProperties" : [ "/properties/Arn", "/properties/DomainName", "/properties/DualStackDomainName", "/properties/RegionalDomainName", "/properties/WebsiteURL" ], - "description" : "Resource Type definition for AWS::S3::Bucket", - "writeOnlyProperties" : [ "/properties/AccessControl", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", "/properties/LifecycleConfiguration/Rules/*/Transition", "/properties/ReplicationConfiguration/Rules/*/Prefix", "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" ], - "createOnlyProperties" : [ "/properties/BucketName", "/properties/ObjectLockEnabled" ], - "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/BucketName" ], - "definitions" : { - "DefaultRetention" : { - "description" : "The default retention period that you want to apply to new objects placed in the specified bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Years" : { - "type" : "integer" - }, - "Days" : { - "type" : "integer" - }, - "Mode" : { - "type" : "string", - "enum" : [ "COMPLIANCE", "GOVERNANCE" ] - } - } + "BucketName" : { + "description" : "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "maxLength" : 63, + "minLength" : 3, + "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", + "type" : "string" }, - "SourceSelectionCriteria" : { - "description" : "A container that describes additional filters for identifying the source objects that you want to replicate.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "ReplicaModifications" : { - "description" : "A filter that you can specify for selection for modifications on replicas.", - "$ref" : "#/definitions/ReplicaModifications" - }, - "SseKmsEncryptedObjects" : { - "description" : "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", - "$ref" : "#/definitions/SseKmsEncryptedObjects" - } - } + "CorsConfiguration" : { + "$ref" : "#/definitions/CorsConfiguration", + "description" : "Rules that define cross-origin resource sharing of objects in this bucket." }, - "ReplicationTimeValue" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Minutes" : { - "type" : "integer" - } + "IntelligentTieringConfigurations" : { + "description" : "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/IntelligentTieringConfiguration" }, - "required" : [ "Minutes" ] + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true }, - "FilterRule" : { - "description" : "Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.", - "additionalProperties" : false, + "InventoryConfigurations" : { + "description" : "The inventory configuration for an Amazon S3 bucket.", + "items" : { + "$ref" : "#/definitions/InventoryConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true + }, + "LifecycleConfiguration" : { + "$ref" : "#/definitions/LifecycleConfiguration", + "description" : "Rules that define how Amazon S3 manages objects during their lifetime." + }, + "LoggingConfiguration" : { + "$ref" : "#/definitions/LoggingConfiguration", + "description" : "Settings that define where logs are stored." + }, + "MetricsConfigurations" : { + "description" : "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket.", + "items" : { + "$ref" : "#/definitions/MetricsConfiguration" + }, + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true + }, + "NotificationConfiguration" : { + "$ref" : "#/definitions/NotificationConfiguration", + "description" : "Configuration that defines how Amazon S3 handles bucket notifications." + }, + "ObjectLockConfiguration" : { + "$ref" : "#/definitions/ObjectLockConfiguration", + "description" : "Places an Object Lock configuration on the specified bucket." + }, + "ObjectLockEnabled" : { + "description" : "Indicates whether this bucket has an Object Lock configuration enabled.", + "type" : "boolean" + }, + "OwnershipControls" : { + "description" : "Specifies the container element for object ownership rules.", + "$ref" : "#/definitions/OwnershipControls" + }, + "PublicAccessBlockConfiguration" : { + "$ref" : "#/definitions/PublicAccessBlockConfiguration" + }, + "ReplicationConfiguration" : { + "$ref" : "#/definitions/ReplicationConfiguration", + "description" : "Configuration for replicating objects in an S3 bucket." + }, + "Tags" : { + "description" : "An arbitrary set of tags (key-value pairs) for this S3 bucket.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Tag" + }, + "type" : "array" + }, + "VersioningConfiguration" : { + "$ref" : "#/definitions/VersioningConfiguration" + }, + "WebsiteConfiguration" : { + "$ref" : "#/definitions/WebsiteConfiguration" + }, + "Arn" : { + "$ref" : "#/definitions/Arn", + "description" : "The Amazon Resource Name (ARN) of the specified bucket.", + "examples" : [ "arn:aws:s3:::mybucket" ] + }, + "DomainName" : { + "description" : "The IPv4 DNS name of the specified bucket.", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" ], + "type" : "string" + }, + "DualStackDomainName" : { + "description" : "The IPv6 DNS name of the specified bucket. For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html).", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], + "type" : "string" + }, + "RegionalDomainName" : { + "description" : "Returns the regional domain name of the specified bucket.", + "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], + "type" : "string" + }, + "WebsiteURL" : { + "description" : "The Amazon S3 website endpoint for the specified bucket.", + "examples" : [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], + "format" : "uri", + "type" : "string" + } + }, + "definitions" : { + "TagFilter" : { + "description" : "Tags to use to identify a subset of objects for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { "Value" : { "type" : "string" }, - "Name" : { - "type" : "string", - "maxLength" : 1024 + "Key" : { + "type" : "string" } }, - "required" : [ "Value", "Name" ] + "required" : [ "Value", "Key" ] }, - "ReplicationRule" : { - "description" : "Specifies which Amazon S3 objects to replicate and where to store the replicas.", - "additionalProperties" : false, + "Destination" : { + "description" : "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).", "type" : "object", + "additionalProperties" : false, "properties" : { - "Status" : { - "description" : "Specifies whether the rule is enabled.", - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "Destination" : { - "$ref" : "#/definitions/ReplicationDestination" - }, - "Filter" : { - "$ref" : "#/definitions/ReplicationRuleFilter" - }, - "Priority" : { - "type" : "integer" + "BucketArn" : { + "description" : "The Amazon Resource Name (ARN) of the bucket to which data is exported.", + "type" : "string" }, - "SourceSelectionCriteria" : { - "$ref" : "#/definitions/SourceSelectionCriteria" + "BucketAccountId" : { + "description" : "The account ID that owns the destination S3 bucket. ", + "type" : "string" }, - "Id" : { - "description" : "A unique identifier for the rule.", + "Format" : { + "description" : "Specifies the file format used when exporting data to Amazon S3.", "type" : "string", - "maxLength" : 255 + "enum" : [ "CSV", "ORC", "Parquet" ] }, "Prefix" : { - "description" : "An object key name prefix that identifies the object or objects to which the rule applies.", - "type" : "string", - "maxLength" : 1024 - }, - "DeleteMarkerReplication" : { - "$ref" : "#/definitions/DeleteMarkerReplication" + "description" : "The prefix to use when exporting data. The prefix is prepended to all results.", + "type" : "string" } }, - "required" : [ "Destination", "Status" ] + "required" : [ "BucketArn", "Format" ] }, "AccelerateConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "AccelerationStatus" : { "description" : "Configures the transfer acceleration state for an Amazon S3 bucket.", @@ -138,550 +186,404 @@ }, "required" : [ "AccelerationStatus" ] }, - "Metrics" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "EventThreshold" : { - "$ref" : "#/definitions/ReplicationTimeValue" - } - }, - "required" : [ "Status" ] - }, - "RoutingRuleCondition" : { - "description" : "A container for describing a condition that must be met for the specified redirect to apply.You must specify at least one of HttpErrorCodeReturnedEquals and KeyPrefixEquals", - "additionalProperties" : false, + "AnalyticsConfiguration" : { + "description" : "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", "type" : "object", - "properties" : { - "KeyPrefixEquals" : { - "description" : "The object key name prefix when the redirect is applied.", - "type" : "string" - }, - "HttpErrorCodeReturnedEquals" : { - "description" : "The HTTP error code when the redirect is applied. ", - "type" : "string" - } - } - }, - "OwnershipControls" : { "additionalProperties" : false, - "type" : "object", "properties" : { - "Rules" : { + "TagFilters" : { + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/OwnershipControlsRule" + "$ref" : "#/definitions/TagFilter" } + }, + "StorageClassAnalysis" : { + "$ref" : "#/definitions/StorageClassAnalysis" + }, + "Id" : { + "description" : "The ID that identifies the analytics configuration.", + "type" : "string" + }, + "Prefix" : { + "description" : "The prefix that an object must have to be included in the analytics results.", + "type" : "string" } }, - "required" : [ "Rules" ] + "required" : [ "StorageClassAnalysis", "Id" ] }, - "DeleteMarkerReplication" : { - "additionalProperties" : false, + "StorageClassAnalysis" : { + "description" : "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] + "DataExport" : { + "$ref" : "#/definitions/DataExport" } } }, - "RoutingRule" : { - "description" : "Specifies the redirect behavior and when a redirect is applied.", - "additionalProperties" : false, + "DataExport" : { + "description" : "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", "type" : "object", + "additionalProperties" : false, "properties" : { - "RedirectRule" : { - "description" : "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", - "$ref" : "#/definitions/RedirectRule" + "Destination" : { + "$ref" : "#/definitions/Destination" }, - "RoutingRuleCondition" : { - "$ref" : "#/definitions/RoutingRuleCondition" + "OutputSchemaVersion" : { + "description" : "The version of the output schema to use when exporting data.", + "type" : "string", + "const" : "V_1" } }, - "required" : [ "RedirectRule" ] + "required" : [ "Destination", "OutputSchemaVersion" ] }, - "NotificationFilter" : { - "description" : "Specifies object key name filtering rules.", - "additionalProperties" : false, + "BucketEncryption" : { + "description" : "Specifies default encryption for a bucket using server-side encryption with either Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS).", "type" : "object", - "properties" : { - "S3Key" : { - "$ref" : "#/definitions/S3KeyFilter" - } - }, - "required" : [ "S3Key" ] - }, - "ReplicationConfiguration" : { - "description" : "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Role" : { - "description" : "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects.", - "type" : "string" - }, - "Rules" : { + "ServerSideEncryptionConfiguration" : { + "description" : "Specifies the default server-side-encryption configuration.", + "type" : "array", "uniqueItems" : true, - "description" : "A container for one or more replication rules.", "insertionOrder" : true, - "type" : "array", "items" : { - "minLength" : 1, - "$ref" : "#/definitions/ReplicationRule", - "maxLength" : 1000 + "$ref" : "#/definitions/ServerSideEncryptionRule" } } }, - "required" : [ "Role", "Rules" ] + "required" : [ "ServerSideEncryptionConfiguration" ] }, "ServerSideEncryptionRule" : { "description" : "Specifies the default server-side encryption configuration.", - "additionalProperties" : false, "type" : "object", - "properties" : { - "BucketKeyEnabled" : { - "description" : "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.", - "type" : "boolean" - }, - "ServerSideEncryptionByDefault" : { - "$ref" : "#/definitions/ServerSideEncryptionByDefault" - } - } - }, - "ReplicationDestination" : { - "description" : "Specifies which Amazon S3 bucket to store replicated objects in and their storage class.", "additionalProperties" : false, - "type" : "object", - "properties" : { - "AccessControlTranslation" : { - "$ref" : "#/definitions/AccessControlTranslation" - }, - "Account" : { - "type" : "string" - }, - "Metrics" : { - "$ref" : "#/definitions/Metrics" - }, - "Bucket" : { - "type" : "string" - }, - "EncryptionConfiguration" : { - "$ref" : "#/definitions/EncryptionConfiguration" - }, - "StorageClass" : { - "description" : "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy.", - "type" : "string", - "enum" : [ "DEEP_ARCHIVE", "GLACIER", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "REDUCED_REDUNDANCY", "STANDARD", "STANDARD_IA" ] + "properties" : { + "BucketKeyEnabled" : { + "description" : "Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the BucketKeyEnabled element to true causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.", + "type" : "boolean" }, - "ReplicationTime" : { - "$ref" : "#/definitions/ReplicationTime" + "ServerSideEncryptionByDefault" : { + "$ref" : "#/definitions/ServerSideEncryptionByDefault" } - }, - "required" : [ "Bucket" ] + } }, - "OwnershipControlsRule" : { - "additionalProperties" : false, + "ServerSideEncryptionByDefault" : { + "description" : "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", "type" : "object", "properties" : { - "ObjectOwnership" : { - "description" : "Specifies an object ownership rule.", + "KMSMasterKeyID" : { + "description" : "\"KMSMasterKeyID\" can only be used when you set the value of SSEAlgorithm as aws:kms or aws:kms:dsse.", + "type" : "string" + }, + "SSEAlgorithm" : { "type" : "string", - "enum" : [ "ObjectWriter", "BucketOwnerPreferred", "BucketOwnerEnforced" ] + "enum" : [ "aws:kms", "AES256", "aws:kms:dsse" ] } - } - }, - "EventBridgeConfiguration" : { - "description" : "Describes the Amazon EventBridge notification configuration for an Amazon S3 bucket.", + }, "additionalProperties" : false, + "required" : [ "SSEAlgorithm" ] + }, + "CorsConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "EventBridgeEnabled" : { - "default" : "true", - "description" : "Specifies whether to send notifications to Amazon EventBridge when events occur in an Amazon S3 bucket.", - "type" : "boolean" + "CorsRules" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/CorsRule", + "maxLength" : 100 + } } }, - "required" : [ "EventBridgeEnabled" ] + "required" : [ "CorsRules" ] }, "CorsRule" : { + "type" : "object", "description" : "A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.", "additionalProperties" : false, - "type" : "object", "properties" : { - "ExposedHeaders" : { + "AllowedHeaders" : { + "description" : "Headers that are specified in the Access-Control-Request-Headers header.", + "type" : "array", "uniqueItems" : true, - "description" : "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).", "insertionOrder" : true, - "type" : "array", "items" : { "type" : "string" } }, "AllowedMethods" : { - "uniqueItems" : true, "description" : "An HTTP method that you allow the origin to execute.", - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { "type" : "string", "enum" : [ "GET", "PUT", "HEAD", "POST", "DELETE" ] } }, "AllowedOrigins" : { - "uniqueItems" : true, "description" : "One or more origins you want customers to be able to access the bucket from.", - "insertionOrder" : true, "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { "type" : "string" } }, - "AllowedHeaders" : { + "ExposedHeaders" : { + "description" : "One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).", + "type" : "array", "uniqueItems" : true, - "description" : "Headers that are specified in the Access-Control-Request-Headers header.", "insertionOrder" : true, - "type" : "array", "items" : { "type" : "string" } }, - "MaxAge" : { - "description" : "The time in seconds that your browser is to cache the preflight response for the specified resource.", - "type" : "integer", - "minimum" : 0 - }, "Id" : { "description" : "A unique identifier for this rule.", "type" : "string", "maxLength" : 255 + }, + "MaxAge" : { + "description" : "The time in seconds that your browser is to cache the preflight response for the specified resource.", + "type" : "integer", + "minimum" : 0 } }, "required" : [ "AllowedMethods", "AllowedOrigins" ] }, - "AccessControlTranslation" : { - "description" : "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Owner" : { - "const" : "Destination", - "type" : "string" - } - }, - "required" : [ "Owner" ] - }, - "ObjectLockRule" : { - "description" : "The Object Lock rule in place for the specified object.", - "additionalProperties" : false, + "IntelligentTieringConfiguration" : { "type" : "object", - "properties" : { - "DefaultRetention" : { - "$ref" : "#/definitions/DefaultRetention" - } - } - }, - "Rule" : { - "description" : "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, ExpirationDate, ExpirationInDays, NoncurrentVersionExpirationInDays, NoncurrentVersionTransition, NoncurrentVersionTransitions, Transition, or Transitions.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Enabled", "Disabled" ] - }, - "ExpiredObjectDeleteMarker" : { - "type" : "boolean" - }, - "NoncurrentVersionExpirationInDays" : { - "type" : "integer" - }, - "Transitions" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Transition" - } - }, - "ObjectSizeGreaterThan" : { - "pattern" : "[0-9]+", - "type" : "string", - "maxLength" : 20 - }, - "TagFilters" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TagFilter" - } - }, - "NoncurrentVersionTransitions" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/NoncurrentVersionTransition" - } + "Id" : { + "description" : "The ID used to identify the S3 Intelligent-Tiering configuration.", + "type" : "string" }, "Prefix" : { + "description" : "An object key name prefix that identifies the subset of objects to which the rule applies.", "type" : "string" }, - "ObjectSizeLessThan" : { - "pattern" : "[0-9]+", - "type" : "string", - "maxLength" : 20 - }, - "NoncurrentVersionTransition" : { - "$ref" : "#/definitions/NoncurrentVersionTransition" - }, - "ExpirationDate" : { - "$ref" : "#/definitions/iso8601UTC" - }, - "NoncurrentVersionExpiration" : { - "$ref" : "#/definitions/NoncurrentVersionExpiration" - }, - "ExpirationInDays" : { - "type" : "integer" - }, - "Transition" : { - "$ref" : "#/definitions/Transition" - }, - "Id" : { + "Status" : { + "description" : "Specifies the status of the configuration.", "type" : "string", - "maxLength" : 255 - }, - "AbortIncompleteMultipartUpload" : { - "$ref" : "#/definitions/AbortIncompleteMultipartUpload" - } - }, - "required" : [ "Status" ] - }, - "Arn" : { - "description" : "the Amazon Resource Name (ARN) of the specified bucket.", - "type" : "string" - }, - "S3KeyFilter" : { - "description" : "A container for object key name prefix and suffix filtering rules.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Rules" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/FilterRule" - } - } - }, - "required" : [ "Rules" ] - }, - "iso8601UTC" : { - "pattern" : "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$", - "description" : "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", - "type" : "string" - }, - "AnalyticsConfiguration" : { - "description" : "Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "StorageClassAnalysis" : { - "$ref" : "#/definitions/StorageClassAnalysis" + "enum" : [ "Disabled", "Enabled" ] }, "TagFilters" : { + "description" : "A container for a key-value pair.", + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } - }, - "Id" : { - "description" : "The ID that identifies the analytics configuration.", - "type" : "string" - }, - "Prefix" : { - "description" : "The prefix that an object must have to be included in the analytics results.", - "type" : "string" - } - }, - "required" : [ "StorageClassAnalysis", "Id" ] - }, - "Destination" : { - "description" : "Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "BucketArn" : { - "description" : "The Amazon Resource Name (ARN) of the bucket to which data is exported.", - "type" : "string" - }, - "Format" : { - "description" : "Specifies the file format used when exporting data to Amazon S3.", - "type" : "string", - "enum" : [ "CSV", "ORC", "Parquet" ] - }, - "BucketAccountId" : { - "description" : "The account ID that owns the destination S3 bucket. ", - "type" : "string" - }, - "Prefix" : { - "description" : "The prefix to use when exporting data. The prefix is prepended to all results.", - "type" : "string" - } - }, - "required" : [ "BucketArn", "Format" ] - }, - "RedirectAllRequestsTo" : { - "description" : "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Protocol" : { - "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", - "type" : "string", - "enum" : [ "http", "https" ] - }, - "HostName" : { - "description" : "Name of the host where requests are redirected.", - "type" : "string" + }, + "Tierings" : { + "description" : "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Tiering" + } } }, - "required" : [ "HostName" ] + "required" : [ "Id", "Status", "Tierings" ] }, - "TagFilter" : { - "description" : "Tags to use to identify a subset of objects for an Amazon S3 bucket.", - "additionalProperties" : false, + "Tiering" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string" + "AccessTier" : { + "description" : "S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.", + "type" : "string", + "enum" : [ "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS" ] }, - "Key" : { - "type" : "string" + "Days" : { + "description" : "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", + "type" : "integer" } }, - "required" : [ "Value", "Key" ] + "required" : [ "AccessTier", "Days" ] }, - "WebsiteConfiguration" : { - "description" : "Specifies website configuration parameters for an Amazon S3 bucket.", - "additionalProperties" : false, + "InventoryConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "IndexDocument" : { - "description" : "The name of the index document for the website.", + "Destination" : { + "$ref" : "#/definitions/Destination" + }, + "Enabled" : { + "description" : "Specifies whether the inventory is enabled or disabled.", + "type" : "boolean" + }, + "Id" : { + "description" : "The ID used to identify the inventory configuration.", "type" : "string" }, - "RedirectAllRequestsTo" : { - "$ref" : "#/definitions/RedirectAllRequestsTo" + "IncludedObjectVersions" : { + "description" : "Object versions to include in the inventory list.", + "type" : "string", + "enum" : [ "All", "Current" ] }, - "RoutingRules" : { - "insertionOrder" : true, + "OptionalFields" : { + "description" : "Contains the optional fields that are included in the inventory results.", "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, "items" : { - "$ref" : "#/definitions/RoutingRule" + "type" : "string", + "enum" : [ "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus" ] } }, - "ErrorDocument" : { - "description" : "The name of the error document for the website.", + "Prefix" : { + "description" : "The prefix that is prepended to all inventory results.", "type" : "string" + }, + "ScheduleFrequency" : { + "description" : "Specifies the schedule for generating inventory results.", + "type" : "string", + "enum" : [ "Daily", "Weekly" ] } - } + }, + "required" : [ "Destination", "Enabled", "Id", "IncludedObjectVersions", "ScheduleFrequency" ] }, - "TopicConfiguration" : { - "description" : "The topic to which notifications are sent and the events for which notifications are generated.", - "additionalProperties" : false, + "LifecycleConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Filter" : { - "description" : "The filtering rules that determine for which objects to send notifications.", - "$ref" : "#/definitions/NotificationFilter" - }, - "Event" : { - "description" : "The Amazon S3 bucket event about which to send notifications.", - "type" : "string" - }, - "Topic" : { - "description" : "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", - "type" : "string" + "Rules" : { + "description" : "A lifecycle rule for individual objects in an Amazon S3 bucket.", + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Rule" + } } }, - "required" : [ "Event", "Topic" ] + "required" : [ "Rules" ] }, - "IntelligentTieringConfiguration" : { - "additionalProperties" : false, + "Rule" : { "type" : "object", + "description" : "You must specify at least one of the following properties: AbortIncompleteMultipartUpload, ExpirationDate, ExpirationInDays, NoncurrentVersionExpirationInDays, NoncurrentVersionTransition, NoncurrentVersionTransitions, Transition, or Transitions.", + "additionalProperties" : false, "properties" : { - "Status" : { - "description" : "Specifies the status of the configuration.", + "AbortIncompleteMultipartUpload" : { + "$ref" : "#/definitions/AbortIncompleteMultipartUpload" + }, + "ExpirationDate" : { + "$ref" : "#/definitions/iso8601UTC" + }, + "ExpirationInDays" : { + "type" : "integer" + }, + "ExpiredObjectDeleteMarker" : { + "type" : "boolean" + }, + "Id" : { "type" : "string", - "enum" : [ "Disabled", "Enabled" ] + "maxLength" : 255 }, - "Tierings" : { + "NoncurrentVersionExpirationInDays" : { + "type" : "integer" + }, + "NoncurrentVersionExpiration" : { + "$ref" : "#/definitions/NoncurrentVersionExpiration" + }, + "NoncurrentVersionTransition" : { + "$ref" : "#/definitions/NoncurrentVersionTransition" + }, + "NoncurrentVersionTransitions" : { + "type" : "array", "uniqueItems" : true, - "description" : "Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/Tiering" + "$ref" : "#/definitions/NoncurrentVersionTransition" } }, + "Prefix" : { + "type" : "string" + }, + "Status" : { + "type" : "string", + "enum" : [ "Enabled", "Disabled" ] + }, "TagFilters" : { + "type" : "array", "uniqueItems" : true, - "description" : "A container for a key-value pair.", "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } }, - "Id" : { - "description" : "The ID used to identify the S3 Intelligent-Tiering configuration.", - "type" : "string" + "ObjectSizeGreaterThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" }, - "Prefix" : { - "description" : "An object key name prefix that identifies the subset of objects to which the rule applies.", - "type" : "string" + "ObjectSizeLessThan" : { + "type" : "string", + "maxLength" : 20, + "pattern" : "[0-9]+" + }, + "Transition" : { + "$ref" : "#/definitions/Transition" + }, + "Transitions" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/Transition" + } } }, - "required" : [ "Id", "Status", "Tierings" ] + "required" : [ "Status" ] }, - "PublicAccessBlockConfiguration" : { - "description" : "Configuration that defines how Amazon S3 handles public access.", + "AbortIncompleteMultipartUpload" : { + "description" : "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", + "type" : "object", "additionalProperties" : false, + "properties" : { + "DaysAfterInitiation" : { + "description" : "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", + "type" : "integer", + "minimum" : 0 + } + }, + "required" : [ "DaysAfterInitiation" ] + }, + "iso8601UTC" : { + "description" : "The date value in ISO 8601 format. The timezone is always UTC. (YYYY-MM-DDThh:mm:ssZ)", + "type" : "string", + "pattern" : "^([0-2]\\d{3})-(0[0-9]|1[0-2])-([0-2]\\d|3[01])T([01]\\d|2[0-4]):([0-5]\\d):([0-6]\\d)((\\.\\d{3})?)Z$" + }, + "NoncurrentVersionExpiration" : { "type" : "object", + "description" : "Container for the expiration rule that describes when noncurrent objects are expired. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 expire noncurrent object versions at a specific period in the object's lifetime", + "additionalProperties" : false, "properties" : { - "RestrictPublicBuckets" : { - "description" : "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.", - "type" : "boolean" - }, - "BlockPublicPolicy" : { - "description" : "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\nEnabling this setting doesn't affect existing bucket policies.", - "type" : "boolean" - }, - "BlockPublicAcls" : { - "description" : "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:\n- PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.\n - PUT Object calls fail if the request includes a public ACL.\nEnabling this setting doesn't affect existing policies or ACLs.", - "type" : "boolean" + "NoncurrentDays" : { + "description" : "Specified the number of days an object is noncurrent before Amazon S3 can perform the associated action", + "type" : "integer" }, - "IgnorePublicAcls" : { - "description" : "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.", - "type" : "boolean" + "NewerNoncurrentVersions" : { + "description" : "Specified the number of newer noncurrent and current versions that must exists before performing the associated action", + "type" : "integer" } - } + }, + "required" : [ "NoncurrentDays" ] }, "NoncurrentVersionTransition" : { + "type" : "object", "description" : "Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.", "additionalProperties" : false, - "type" : "object", "properties" : { "StorageClass" : { "description" : "The class of storage used to store the object.", @@ -699,429 +601,564 @@ }, "required" : [ "StorageClass", "TransitionInDays" ] }, - "StorageClassAnalysis" : { - "description" : "Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.", - "additionalProperties" : false, + "Transition" : { "type" : "object", "properties" : { - "DataExport" : { - "$ref" : "#/definitions/DataExport" + "StorageClass" : { + "type" : "string", + "enum" : [ "DEEP_ARCHIVE", "GLACIER", "Glacier", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "STANDARD_IA" ] + }, + "TransitionDate" : { + "$ref" : "#/definitions/iso8601UTC" + }, + "TransitionInDays" : { + "type" : "integer" } - } - }, - "ServerSideEncryptionByDefault" : { - "description" : "Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.", + }, "additionalProperties" : false, + "description" : "You must specify at least one of \"TransitionDate\" and \"TransitionInDays\"", + "required" : [ "StorageClass" ] + }, + "LoggingConfiguration" : { "type" : "object", "properties" : { - "SSEAlgorithm" : { + "DestinationBucketName" : { "type" : "string", - "enum" : [ "aws:kms", "AES256", "aws:kms:dsse" ] + "description" : "The name of an Amazon S3 bucket where Amazon S3 store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the LoggingConfiguration property is defined." }, - "KMSMasterKeyID" : { - "description" : "\"KMSMasterKeyID\" can only be used when you set the value of SSEAlgorithm as aws:kms or aws:kms:dsse.", + "LogFilePrefix" : { "type" : "string" + }, + "TargetObjectKeyFormat" : { + "$ref" : "#/definitions/TargetObjectKeyFormat" } }, - "required" : [ "SSEAlgorithm" ] + "additionalProperties" : false + }, + "TargetObjectKeyFormat" : { + "type" : "object", + "description" : "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "oneOf" : [ { + "additionalProperties" : false, + "properties" : { + "SimplePrefix" : { + "description" : "This format defaults the prefix to the given log file prefix for delivering server access log file.", + "type" : "object", + "additionalProperties" : false + } + }, + "required" : [ "SimplePrefix" ] + }, { + "additionalProperties" : false, + "properties" : { + "PartitionedPrefix" : { + "$ref" : "#/definitions/PartitionedPrefix" + } + }, + "required" : [ "PartitionedPrefix" ] + } ] + }, + "PartitionedPrefix" : { + "type" : "object", + "description" : "This format appends a time based prefix to the given log file prefix for delivering server access log file.", + "properties" : { + "PartitionDateSource" : { + "type" : "string", + "description" : "Date Source for creating a partitioned prefix. This can be event time or delivery time.", + "enum" : [ "EventTime", "DeliveryTime" ] + } + }, + "additionalProperties" : false }, "MetricsConfiguration" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "AccessPointArn" : { "type" : "string" }, + "Id" : { + "type" : "string" + }, + "Prefix" : { + "type" : "string" + }, "TagFilters" : { + "type" : "array", "uniqueItems" : true, "insertionOrder" : true, - "type" : "array", "items" : { "$ref" : "#/definitions/TagFilter" } - }, - "Id" : { - "type" : "string" - }, - "Prefix" : { - "type" : "string" } }, "required" : [ "Id" ] }, - "ObjectLockConfiguration" : { - "additionalProperties" : false, + "NotificationConfiguration" : { + "description" : "Describes the notification configuration for an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "ObjectLockEnabled" : { - "const" : "Enabled", - "type" : "string" + "EventBridgeConfiguration" : { + "$ref" : "#/definitions/EventBridgeConfiguration" }, - "Rule" : { - "$ref" : "#/definitions/ObjectLockRule" + "LambdaConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/LambdaConfiguration" + } + }, + "QueueConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/QueueConfiguration" + } + }, + "TopicConfigurations" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/TopicConfiguration" + } } } }, - "LoggingConfiguration" : { - "additionalProperties" : false, + "EventBridgeConfiguration" : { "type" : "object", + "description" : "Describes the Amazon EventBridge notification configuration for an Amazon S3 bucket.", + "additionalProperties" : false, "properties" : { - "LogFilePrefix" : { - "type" : "string" - }, - "DestinationBucketName" : { - "description" : "The name of an Amazon S3 bucket where Amazon S3 store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the LoggingConfiguration property is defined.", - "type" : "string" + "EventBridgeEnabled" : { + "description" : "Specifies whether to send notifications to Amazon EventBridge when events occur in an Amazon S3 bucket.", + "type" : "boolean", + "default" : "true" } - } + }, + "required" : [ "EventBridgeEnabled" ] }, "LambdaConfiguration" : { + "type" : "object", "description" : "Describes the AWS Lambda functions to invoke and the events for which to invoke them.", "additionalProperties" : false, - "type" : "object", "properties" : { - "Function" : { - "description" : "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", + "Event" : { + "description" : "The Amazon S3 bucket event for which to invoke the AWS Lambda function.", "type" : "string" }, "Filter" : { "description" : "The filtering rules that determine which objects invoke the AWS Lambda function.", "$ref" : "#/definitions/NotificationFilter" }, - "Event" : { - "description" : "The Amazon S3 bucket event for which to invoke the AWS Lambda function.", + "Function" : { + "description" : "The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.", "type" : "string" } }, "required" : [ "Function", "Event" ] }, - "DataExport" : { - "description" : "Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.", - "additionalProperties" : false, + "QueueConfiguration" : { "type" : "object", + "description" : "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "additionalProperties" : false, "properties" : { - "Destination" : { - "$ref" : "#/definitions/Destination" + "Event" : { + "description" : "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS.", + "type" : "string" }, - "OutputSchemaVersion" : { - "const" : "V_1", - "description" : "The version of the output schema to use when exporting data.", + "Filter" : { + "description" : "The filtering rules that determine which objects trigger notifications.", + "$ref" : "#/definitions/NotificationFilter" + }, + "Queue" : { + "description" : "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.", "type" : "string" } }, - "required" : [ "Destination", "OutputSchemaVersion" ] + "required" : [ "Event", "Queue" ] }, - "Tiering" : { - "additionalProperties" : false, + "TopicConfiguration" : { "type" : "object", + "description" : "The topic to which notifications are sent and the events for which notifications are generated.", + "additionalProperties" : false, "properties" : { - "AccessTier" : { - "description" : "S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.", - "type" : "string", - "enum" : [ "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS" ] + "Event" : { + "description" : "The Amazon S3 bucket event about which to send notifications.", + "type" : "string" }, - "Days" : { - "description" : "The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).", - "type" : "integer" + "Filter" : { + "description" : "The filtering rules that determine for which objects to send notifications.", + "$ref" : "#/definitions/NotificationFilter" + }, + "Topic" : { + "description" : "The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.", + "type" : "string" } }, - "required" : [ "AccessTier", "Days" ] + "required" : [ "Event", "Topic" ] }, - "ReplicationTime" : { - "additionalProperties" : false, + "NotificationFilter" : { "type" : "object", + "description" : "Specifies object key name filtering rules.", + "additionalProperties" : false, "properties" : { - "Status" : { - "type" : "string", - "enum" : [ "Disabled", "Enabled" ] - }, - "Time" : { - "$ref" : "#/definitions/ReplicationTimeValue" + "S3Key" : { + "$ref" : "#/definitions/S3KeyFilter" } }, - "required" : [ "Status", "Time" ] + "required" : [ "S3Key" ] }, - "ReplicationRuleFilter" : { + "S3KeyFilter" : { + "type" : "object", + "description" : "A container for object key name prefix and suffix filtering rules.", "additionalProperties" : false, + "properties" : { + "Rules" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/FilterRule" + } + } + }, + "required" : [ "Rules" ] + }, + "FilterRule" : { "type" : "object", + "description" : "Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.", + "additionalProperties" : false, "properties" : { - "And" : { - "$ref" : "#/definitions/ReplicationRuleAndOperator" - }, - "TagFilter" : { - "$ref" : "#/definitions/TagFilter" + "Name" : { + "type" : "string", + "maxLength" : 1024 }, - "Prefix" : { + "Value" : { "type" : "string" } - } + }, + "required" : [ "Value", "Name" ] }, - "RedirectRule" : { - "description" : "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", - "additionalProperties" : false, + "ObjectLockConfiguration" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ReplaceKeyWith" : { - "description" : "The specific object key to use in the redirect request.d", - "type" : "string" - }, - "HttpRedirectCode" : { - "description" : "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", - "type" : "string" - }, - "Protocol" : { - "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "ObjectLockEnabled" : { "type" : "string", - "enum" : [ "http", "https" ] - }, - "HostName" : { - "description" : "The host name to use in the redirect request.", - "type" : "string" + "const" : "Enabled" }, - "ReplaceKeyPrefixWith" : { - "description" : "The object key prefix to use in the redirect request.", - "type" : "string" + "Rule" : { + "$ref" : "#/definitions/ObjectLockRule" } } }, - "EncryptionConfiguration" : { - "description" : "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.", - "additionalProperties" : false, + "ObjectLockRule" : { "type" : "object", + "description" : "The Object Lock rule in place for the specified object.", + "additionalProperties" : false, "properties" : { - "ReplicaKmsKeyID" : { - "description" : "Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key (CMK) stored in AWS Key Management Service (KMS) for the destination bucket.", - "type" : "string" + "DefaultRetention" : { + "$ref" : "#/definitions/DefaultRetention" } - }, - "required" : [ "ReplicaKmsKeyID" ] + } }, - "BucketEncryption" : { - "description" : "Specifies default encryption for a bucket using server-side encryption with either Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS).", + "DefaultRetention" : { + "type" : "object", + "description" : "The default retention period that you want to apply to new objects placed in the specified bucket.", "additionalProperties" : false, + "properties" : { + "Years" : { + "type" : "integer" + }, + "Days" : { + "type" : "integer" + }, + "Mode" : { + "type" : "string", + "enum" : [ "COMPLIANCE", "GOVERNANCE" ] + } + } + }, + "OwnershipControls" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ServerSideEncryptionConfiguration" : { + "Rules" : { + "type" : "array", "uniqueItems" : true, - "description" : "Specifies the default server-side-encryption configuration.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/ServerSideEncryptionRule" + "$ref" : "#/definitions/OwnershipControlsRule" } } }, - "required" : [ "ServerSideEncryptionConfiguration" ] + "required" : [ "Rules" ] }, - "NotificationConfiguration" : { - "description" : "Describes the notification configuration for an Amazon S3 bucket.", - "additionalProperties" : false, + "OwnershipControlsRule" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "TopicConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TopicConfiguration" - } + "ObjectOwnership" : { + "description" : "Specifies an object ownership rule.", + "type" : "string", + "enum" : [ "ObjectWriter", "BucketOwnerPreferred", "BucketOwnerEnforced" ] + } + } + }, + "PublicAccessBlockConfiguration" : { + "description" : "Configuration that defines how Amazon S3 handles public access.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "BlockPublicAcls" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:\n- PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.\n - PUT Object calls fail if the request includes a public ACL.\nEnabling this setting doesn't affect existing policies or ACLs." }, - "QueueConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/QueueConfiguration" - } + "BlockPublicPolicy" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.\nEnabling this setting doesn't affect existing bucket policies." }, - "LambdaConfigurations" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/LambdaConfiguration" - } + "IgnorePublicAcls" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.\nEnabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set." }, - "EventBridgeConfiguration" : { - "$ref" : "#/definitions/EventBridgeConfiguration" + "RestrictPublicBuckets" : { + "type" : "boolean", + "description" : "Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.\nEnabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked." } } }, - "LifecycleConfiguration" : { - "additionalProperties" : false, + "ReplicationConfiguration" : { "type" : "object", + "description" : "A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.", + "additionalProperties" : false, "properties" : { + "Role" : { + "description" : "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects.", + "type" : "string" + }, "Rules" : { + "description" : "A container for one or more replication rules.", + "type" : "array", "uniqueItems" : true, - "description" : "A lifecycle rule for individual objects in an Amazon S3 bucket.", "insertionOrder" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/Rule" + "$ref" : "#/definitions/ReplicationRule", + "maxLength" : 1000, + "minLength" : 1 } } }, - "required" : [ "Rules" ] + "required" : [ "Role", "Rules" ] }, - "InventoryConfiguration" : { - "additionalProperties" : false, + "ReplicationRule" : { "type" : "object", + "description" : "Specifies which Amazon S3 objects to replicate and where to store the replicas.", + "additionalProperties" : false, "properties" : { + "DeleteMarkerReplication" : { + "$ref" : "#/definitions/DeleteMarkerReplication" + }, "Destination" : { - "$ref" : "#/definitions/Destination" + "$ref" : "#/definitions/ReplicationDestination" }, - "OptionalFields" : { - "uniqueItems" : true, - "description" : "Contains the optional fields that are included in the inventory results.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "type" : "string", - "enum" : [ "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus", "IntelligentTieringAccessTier", "BucketKeyStatus" ] - } + "Filter" : { + "$ref" : "#/definitions/ReplicationRuleFilter" }, - "IncludedObjectVersions" : { - "description" : "Object versions to include in the inventory list.", + "Id" : { + "description" : "A unique identifier for the rule.", "type" : "string", - "enum" : [ "All", "Current" ] + "maxLength" : 255 }, - "Enabled" : { - "description" : "Specifies whether the inventory is enabled or disabled.", - "type" : "boolean" + "Prefix" : { + "description" : "An object key name prefix that identifies the object or objects to which the rule applies.", + "type" : "string", + "maxLength" : 1024 }, - "Id" : { - "description" : "The ID used to identify the inventory configuration.", - "type" : "string" + "Priority" : { + "type" : "integer" }, - "Prefix" : { - "description" : "The prefix that is prepended to all inventory results.", - "type" : "string" + "SourceSelectionCriteria" : { + "$ref" : "#/definitions/SourceSelectionCriteria" }, - "ScheduleFrequency" : { - "description" : "Specifies the schedule for generating inventory results.", + "Status" : { + "description" : "Specifies whether the rule is enabled.", "type" : "string", - "enum" : [ "Daily", "Weekly" ] + "enum" : [ "Disabled", "Enabled" ] } }, - "required" : [ "Destination", "Enabled", "Id", "IncludedObjectVersions", "ScheduleFrequency" ] + "required" : [ "Destination", "Status" ] }, - "ReplicationRuleAndOperator" : { + "DeleteMarkerReplication" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "Disabled", "Enabled" ] + } + } + }, + "ReplicationDestination" : { "type" : "object", + "description" : "Specifies which Amazon S3 bucket to store replicated objects in and their storage class.", + "additionalProperties" : false, "properties" : { - "TagFilters" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TagFilter" - } + "AccessControlTranslation" : { + "$ref" : "#/definitions/AccessControlTranslation" }, - "Prefix" : { + "Account" : { "type" : "string" + }, + "Bucket" : { + "type" : "string" + }, + "EncryptionConfiguration" : { + "$ref" : "#/definitions/EncryptionConfiguration" + }, + "Metrics" : { + "$ref" : "#/definitions/Metrics" + }, + "ReplicationTime" : { + "$ref" : "#/definitions/ReplicationTime" + }, + "StorageClass" : { + "description" : "The storage class to use when replicating objects, such as S3 Standard or reduced redundancy.", + "type" : "string", + "enum" : [ "DEEP_ARCHIVE", "GLACIER", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "REDUCED_REDUNDANCY", "STANDARD", "STANDARD_IA" ] } - } + }, + "required" : [ "Bucket" ] }, - "VersioningConfiguration" : { - "description" : "Describes the versioning state of an Amazon S3 bucket.", - "additionalProperties" : false, + "AccessControlTranslation" : { "type" : "object", + "description" : "Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.", + "additionalProperties" : false, "properties" : { - "Status" : { - "default" : "Suspended", - "description" : "The versioning state of the bucket.", + "Owner" : { "type" : "string", - "enum" : [ "Enabled", "Suspended" ] + "const" : "Destination" } }, - "required" : [ "Status" ] + "required" : [ "Owner" ] }, - "CorsConfiguration" : { - "additionalProperties" : false, + "EncryptionConfiguration" : { "type" : "object", + "description" : "Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.", + "additionalProperties" : false, "properties" : { - "CorsRules" : { - "uniqueItems" : true, - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/CorsRule", - "maxLength" : 100 - } + "ReplicaKmsKeyID" : { + "description" : "Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key (CMK) stored in AWS Key Management Service (KMS) for the destination bucket.", + "type" : "string" } }, - "required" : [ "CorsRules" ] + "required" : [ "ReplicaKmsKeyID" ] }, - "ReplicaModifications" : { - "additionalProperties" : false, + "Metrics" : { "type" : "object", + "additionalProperties" : false, "properties" : { + "EventThreshold" : { + "$ref" : "#/definitions/ReplicationTimeValue" + }, "Status" : { - "description" : "Specifies whether Amazon S3 replicates modifications on replicas.", "type" : "string", - "enum" : [ "Enabled", "Disabled" ] + "enum" : [ "Disabled", "Enabled" ] } }, "required" : [ "Status" ] }, - "NoncurrentVersionExpiration" : { - "description" : "Container for the expiration rule that describes when noncurrent objects are expired. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 expire noncurrent object versions at a specific period in the object's lifetime", - "additionalProperties" : false, + "ReplicationTimeValue" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "NoncurrentDays" : { - "description" : "Specified the number of days an object is noncurrent before Amazon S3 can perform the associated action", - "type" : "integer" - }, - "NewerNoncurrentVersions" : { - "description" : "Specified the number of newer noncurrent and current versions that must exists before performing the associated action", + "Minutes" : { "type" : "integer" } }, - "required" : [ "NoncurrentDays" ] + "required" : [ "Minutes" ] }, - "QueueConfiguration" : { - "description" : "The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.", + "ReplicationTime" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Status" : { + "type" : "string", + "enum" : [ "Disabled", "Enabled" ] + }, + "Time" : { + "$ref" : "#/definitions/ReplicationTimeValue" + } + }, + "required" : [ "Status", "Time" ] + }, + "ReplicationRuleFilter" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Filter" : { - "description" : "The filtering rules that determine which objects trigger notifications.", - "$ref" : "#/definitions/NotificationFilter" + "And" : { + "$ref" : "#/definitions/ReplicationRuleAndOperator" }, - "Event" : { - "description" : "The Amazon S3 bucket event about which you want to publish messages to Amazon SQS.", + "Prefix" : { "type" : "string" }, - "Queue" : { - "description" : "The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.", + "TagFilter" : { + "$ref" : "#/definitions/TagFilter" + } + } + }, + "ReplicationRuleAndOperator" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Prefix" : { "type" : "string" + }, + "TagFilters" : { + "type" : "array", + "uniqueItems" : true, + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/TagFilter" + } } - }, - "required" : [ "Event", "Queue" ] + } }, - "Transition" : { - "description" : "You must specify at least one of \"TransitionDate\" and \"TransitionInDays\"", + "SourceSelectionCriteria" : { + "description" : "A container that describes additional filters for identifying the source objects that you want to replicate.", + "type" : "object", "additionalProperties" : false, + "properties" : { + "ReplicaModifications" : { + "description" : "A filter that you can specify for selection for modifications on replicas.", + "$ref" : "#/definitions/ReplicaModifications" + }, + "SseKmsEncryptedObjects" : { + "description" : "A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.", + "$ref" : "#/definitions/SseKmsEncryptedObjects" + } + } + }, + "ReplicaModifications" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "TransitionDate" : { - "$ref" : "#/definitions/iso8601UTC" - }, - "StorageClass" : { + "Status" : { + "description" : "Specifies whether Amazon S3 replicates modifications on replicas.", "type" : "string", - "enum" : [ "DEEP_ARCHIVE", "GLACIER", "Glacier", "GLACIER_IR", "INTELLIGENT_TIERING", "ONEZONE_IA", "STANDARD_IA" ] - }, - "TransitionInDays" : { - "type" : "integer" + "enum" : [ "Enabled", "Disabled" ] } }, - "required" : [ "StorageClass" ] + "required" : [ "Status" ] }, "SseKmsEncryptedObjects" : { + "type" : "object", "description" : "A container for filter information for the selection of S3 objects encrypted with AWS KMS.", "additionalProperties" : false, - "type" : "object", "properties" : { "Status" : { "description" : "Specifies whether Amazon S3 replicates objects created with server-side encryption using a customer master key (CMK) stored in AWS Key Management Service.", @@ -1132,165 +1169,166 @@ "required" : [ "Status" ] }, "Tag" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string", - "maxLength" : 256 - }, "Key" : { - "minLength" : 1, "type" : "string", + "minLength" : 1, "maxLength" : 128 + }, + "Value" : { + "type" : "string", + "maxLength" : 256 } }, "required" : [ "Value", "Key" ] }, - "AbortIncompleteMultipartUpload" : { - "description" : "Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload.", - "additionalProperties" : false, + "VersioningConfiguration" : { + "description" : "Describes the versioning state of an Amazon S3 bucket.", "type" : "object", + "additionalProperties" : false, "properties" : { - "DaysAfterInitiation" : { - "description" : "Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.", - "type" : "integer", - "minimum" : 0 + "Status" : { + "description" : "The versioning state of the bucket.", + "type" : "string", + "default" : "Suspended", + "enum" : [ "Enabled", "Suspended" ] } }, - "required" : [ "DaysAfterInitiation" ] - } - }, - "properties" : { - "InventoryConfigurations" : { - "uniqueItems" : true, - "description" : "The inventory configuration for an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/InventoryConfiguration" - } + "required" : [ "Status" ] }, "WebsiteConfiguration" : { - "$ref" : "#/definitions/WebsiteConfiguration" - }, - "DualStackDomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com" ], - "description" : "The IPv6 DNS name of the specified bucket. For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html).", - "type" : "string" - }, - "AccessControl" : { - "description" : "A canned access control list (ACL) that grants predefined permissions to the bucket.", - "type" : "string", - "enum" : [ "AuthenticatedRead", "AwsExecRead", "BucketOwnerFullControl", "BucketOwnerRead", "LogDeliveryWrite", "Private", "PublicRead", "PublicReadWrite" ] - }, - "AnalyticsConfigurations" : { - "uniqueItems" : true, - "description" : "The configuration and any analyses for the analytics filter of an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/AnalyticsConfiguration" + "type" : "object", + "description" : "Specifies website configuration parameters for an Amazon S3 bucket.", + "additionalProperties" : false, + "properties" : { + "ErrorDocument" : { + "description" : "The name of the error document for the website.", + "type" : "string" + }, + "IndexDocument" : { + "description" : "The name of the index document for the website.", + "type" : "string" + }, + "RoutingRules" : { + "type" : "array", + "insertionOrder" : true, + "items" : { + "$ref" : "#/definitions/RoutingRule" + } + }, + "RedirectAllRequestsTo" : { + "$ref" : "#/definitions/RedirectAllRequestsTo" + } } }, - "AccelerateConfiguration" : { - "description" : "Configuration for the transfer acceleration state.", - "$ref" : "#/definitions/AccelerateConfiguration" - }, - "PublicAccessBlockConfiguration" : { - "$ref" : "#/definitions/PublicAccessBlockConfiguration" - }, - "BucketName" : { - "minLength" : 3, - "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", - "description" : "A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", - "type" : "string", - "maxLength" : 63 - }, - "RegionalDomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.us-east-2.amazonaws.com" ], - "description" : "Returns the regional domain name of the specified bucket.", - "type" : "string" - }, - "OwnershipControls" : { - "description" : "Specifies the container element for object ownership rules.", - "$ref" : "#/definitions/OwnershipControls" - }, - "ObjectLockConfiguration" : { - "description" : "Places an Object Lock configuration on the specified bucket.", - "$ref" : "#/definitions/ObjectLockConfiguration" - }, - "ObjectLockEnabled" : { - "description" : "Indicates whether this bucket has an Object Lock configuration enabled.", - "type" : "boolean" - }, - "LoggingConfiguration" : { - "description" : "Settings that define where logs are stored.", - "$ref" : "#/definitions/LoggingConfiguration" - }, - "ReplicationConfiguration" : { - "description" : "Configuration for replicating objects in an S3 bucket.", - "$ref" : "#/definitions/ReplicationConfiguration" + "RoutingRule" : { + "description" : "Specifies the redirect behavior and when a redirect is applied.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RedirectRule" : { + "description" : "Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.", + "$ref" : "#/definitions/RedirectRule" + }, + "RoutingRuleCondition" : { + "$ref" : "#/definitions/RoutingRuleCondition" + } + }, + "required" : [ "RedirectRule" ] }, - "Tags" : { - "description" : "An arbitrary set of tags (key-value pairs) for this S3 bucket.", - "insertionOrder" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Tag" + "RedirectRule" : { + "type" : "object", + "description" : "Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.", + "additionalProperties" : false, + "properties" : { + "HostName" : { + "description" : "The host name to use in the redirect request.", + "type" : "string" + }, + "HttpRedirectCode" : { + "description" : "The HTTP redirect code to use on the response. Not required if one of the siblings is present.", + "type" : "string" + }, + "Protocol" : { + "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "enum" : [ "http", "https" ], + "type" : "string" + }, + "ReplaceKeyPrefixWith" : { + "description" : "The object key prefix to use in the redirect request.", + "type" : "string" + }, + "ReplaceKeyWith" : { + "description" : "The specific object key to use in the redirect request.d", + "type" : "string" + } } }, - "DomainName" : { - "examples" : [ "mystack-mybucket-kdwwxmddtr2g.s3.amazonaws.com" ], - "description" : "The IPv4 DNS name of the specified bucket.", - "type" : "string" + "RoutingRuleCondition" : { + "description" : "A container for describing a condition that must be met for the specified redirect to apply.You must specify at least one of HttpErrorCodeReturnedEquals and KeyPrefixEquals", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "KeyPrefixEquals" : { + "description" : "The object key name prefix when the redirect is applied.", + "type" : "string" + }, + "HttpErrorCodeReturnedEquals" : { + "description" : "The HTTP error code when the redirect is applied. ", + "type" : "string" + } + } }, - "BucketEncryption" : { - "$ref" : "#/definitions/BucketEncryption" + "RedirectAllRequestsTo" : { + "description" : "Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.", + "type" : "object", + "additionalProperties" : false, + "properties" : { + "HostName" : { + "description" : "Name of the host where requests are redirected.", + "type" : "string" + }, + "Protocol" : { + "description" : "Protocol to use when redirecting requests. The default is the protocol that is used in the original request.", + "type" : "string", + "enum" : [ "http", "https" ] + } + }, + "required" : [ "HostName" ] }, - "WebsiteURL" : { - "examples" : [ "Example (IPv4): http://mystack-mybucket-kdwwxmddtr2g.s3-website-us-east-2.amazonaws.com/", "Example (IPv6): http://mystack-mybucket-kdwwxmddtr2g.s3.dualstack.us-east-2.amazonaws.com/" ], - "format" : "uri", - "description" : "The Amazon S3 website endpoint for the specified bucket.", + "Arn" : { + "description" : "the Amazon Resource Name (ARN) of the specified bucket.", "type" : "string" + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" + }, + "createOnlyProperties" : [ "/properties/BucketName", "/properties/ObjectLockEnabled" ], + "primaryIdentifier" : [ "/properties/BucketName" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/DomainName", "/properties/DualStackDomainName", "/properties/RegionalDomainName", "/properties/WebsiteURL" ], + "writeOnlyProperties" : [ "/properties/AccessControl", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionExpirationInDays", "/properties/LifecycleConfiguration/Rules/*/NoncurrentVersionTransition", "/properties/LifecycleConfiguration/Rules/*/Transition", "/properties/ReplicationConfiguration/Rules/*/Prefix", "/properties/LifecycleConfiguration/Rules/*/ExpiredObjectDeleteMarker" ], + "handlers" : { + "create" : { + "permissions" : [ "s3:CreateBucket", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutObjectAcl", "s3:PutBucketObjectLockConfiguration", "s3:GetBucketAcl", "s3:ListBucket", "iam:PassRole", "s3:DeleteObject", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration" ] }, - "NotificationConfiguration" : { - "description" : "Configuration that defines how Amazon S3 handles bucket notifications.", - "$ref" : "#/definitions/NotificationConfiguration" - }, - "LifecycleConfiguration" : { - "description" : "Rules that define how Amazon S3 manages objects during their lifetime.", - "$ref" : "#/definitions/LifecycleConfiguration" - }, - "VersioningConfiguration" : { - "$ref" : "#/definitions/VersioningConfiguration" - }, - "MetricsConfigurations" : { - "uniqueItems" : true, - "description" : "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/MetricsConfiguration" - } + "read" : { + "permissions" : [ "s3:GetAccelerateConfiguration", "s3:GetLifecycleConfiguration", "s3:GetBucketPublicAccessBlock", "s3:GetAnalyticsConfiguration", "s3:GetBucketCORS", "s3:GetEncryptionConfiguration", "s3:GetInventoryConfiguration", "s3:GetBucketLogging", "s3:GetMetricsConfiguration", "s3:GetBucketNotification", "s3:GetBucketVersioning", "s3:GetReplicationConfiguration", "S3:GetBucketWebsite", "s3:GetBucketPublicAccessBlock", "s3:GetBucketObjectLockConfiguration", "s3:GetBucketTagging", "s3:GetBucketOwnershipControls", "s3:GetIntelligentTieringConfiguration", "s3:ListBucket" ] }, - "IntelligentTieringConfigurations" : { - "uniqueItems" : true, - "description" : "Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.", - "insertionOrder" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/IntelligentTieringConfiguration" - } + "update" : { + "permissions" : [ "s3:PutBucketAcl", "s3:PutBucketTagging", "s3:PutAnalyticsConfiguration", "s3:PutEncryptionConfiguration", "s3:PutBucketCORS", "s3:PutInventoryConfiguration", "s3:PutLifecycleConfiguration", "s3:PutMetricsConfiguration", "s3:PutBucketNotification", "s3:PutBucketReplication", "s3:PutBucketWebsite", "s3:PutAccelerateConfiguration", "s3:PutBucketPublicAccessBlock", "s3:PutReplicationConfiguration", "s3:PutBucketOwnershipControls", "s3:PutIntelligentTieringConfiguration", "s3:DeleteBucketWebsite", "s3:PutBucketLogging", "s3:PutBucketVersioning", "s3:PutObjectLockConfiguration", "s3:PutBucketObjectLockConfiguration", "s3:DeleteBucketAnalyticsConfiguration", "s3:DeleteBucketCors", "s3:DeleteBucketMetricsConfiguration", "s3:DeleteBucketEncryption", "s3:DeleteBucketLifecycle", "s3:DeleteBucketReplication", "iam:PassRole", "s3:ListBucket" ] }, - "CorsConfiguration" : { - "description" : "Rules that define cross-origin resource sharing of objects in this bucket.", - "$ref" : "#/definitions/CorsConfiguration" + "delete" : { + "permissions" : [ "s3:DeleteBucket", "s3:ListBucket" ] }, - "Arn" : { - "examples" : [ "arn:aws:s3:::mybucket" ], - "description" : "The Amazon Resource Name (ARN) of the specified bucket.", - "$ref" : "#/definitions/Arn" + "list" : { + "permissions" : [ "s3:ListAllMyBuckets" ] } } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-s3express-directorybucket.json b/aws-cloudformation-schema/aws-s3express-directorybucket.json index 19d1a7a091..35f4ef3e72 100644 --- a/aws-cloudformation-schema/aws-s3express-directorybucket.json +++ b/aws-cloudformation-schema/aws-s3express-directorybucket.json @@ -4,7 +4,7 @@ "additionalProperties" : false, "properties" : { "BucketName" : { - "description" : "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description" : "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "maxLength" : 63, "pattern" : "^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$", "type" : "string" @@ -14,14 +14,14 @@ "type" : "string" }, "DataRedundancy" : { - "description" : "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description" : "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type" : "string", "enum" : [ "SingleAvailabilityZone" ] }, "Arn" : { "$ref" : "#/definitions/Arn", "description" : "Returns the Amazon Resource Name (ARN) of the specified bucket.", - "examples" : [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az2--x-s3" ] + "examples" : [ "arn:aws:s3express:us-west-2:123456789123:bucket/DOC-EXAMPLE-BUCKET--usw2-az1--x-s3" ] } }, "definitions" : { diff --git a/aws-cloudformation-schema/aws-sagemaker-app.json b/aws-cloudformation-schema/aws-sagemaker-app.json index dbcfafd740..809e6f5bf8 100644 --- a/aws-cloudformation-schema/aws-sagemaker-app.json +++ b/aws-cloudformation-schema/aws-sagemaker-app.json @@ -58,7 +58,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sagemaker-domain.json b/aws-cloudformation-schema/aws-sagemaker-domain.json index 07f34cc889..5800abadf8 100644 --- a/aws-cloudformation-schema/aws-sagemaker-domain.json +++ b/aws-cloudformation-schema/aws-sagemaker-domain.json @@ -90,6 +90,11 @@ "description" : "The SSO managed application instance ID.", "maxLength" : 256 }, + "SingleSignOnApplicationArn" : { + "type" : "string", + "description" : "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023.", + "pattern" : "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::[0-9]+:application/[a-zA-Z0-9-_.]+/apl-[a-zA-Z0-9]+$" + }, "DomainSettings" : { "$ref" : "#/definitions/DomainSettings" }, @@ -132,6 +137,37 @@ "RSessionAppSettings" : { "$ref" : "#/definitions/RSessionAppSettings" }, + "JupyterLabAppSettings" : { + "$ref" : "#/definitions/JupyterLabAppSettings" + }, + "SpaceStorageSettings" : { + "$ref" : "#/definitions/DefaultSpaceStorageSettings" + }, + "CodeEditorAppSettings" : { + "$ref" : "#/definitions/CodeEditorAppSettings" + }, + "DefaultLandingUri" : { + "type" : "string", + "description" : "Defines which Amazon SageMaker application users are directed to by default.", + "maxLength" : 1023 + }, + "StudioWebPortal" : { + "type" : "string", + "description" : "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "CustomPosixUserConfig" : { + "$ref" : "#/definitions/CustomPosixUserConfig" + }, + "CustomFileSystemConfigs" : { + "type" : "array", + "uniqueItems" : true, + "minItems" : 0, + "maxItems" : 2, + "items" : { + "$ref" : "#/definitions/CustomFileSystemConfig" + } + }, "SecurityGroups" : { "type" : "array", "description" : "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.", @@ -205,7 +241,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", @@ -249,6 +285,163 @@ } } }, + "JupyterLabAppSettings" : { + "type" : "object", + "description" : "The JupyterLab app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + }, + "CodeRepositories" : { + "type" : "array", + "description" : "A list of CodeRepositories available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CodeRepository" + } + }, + "CustomImages" : { + "type" : "array", + "description" : "A list of custom images for use for JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CustomImage" + } + } + } + }, + "CodeRepository" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RepositoryUrl" : { + "type" : "string", + "description" : "A CodeRepository (valid URL) to be used within Jupyter's Git extension.", + "maxLength" : 256, + "pattern" : "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$" + } + }, + "required" : [ "RepositoryUrl" ] + }, + "DefaultSpaceStorageSettings" : { + "type" : "object", + "description" : "Default storage settings for a space.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsStorageSettings" : { + "$ref" : "#/definitions/DefaultEbsStorageSettings" + } + } + }, + "DefaultEbsStorageSettings" : { + "type" : "object", + "description" : "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "additionalProperties" : false, + "properties" : { + "DefaultEbsVolumeSizeInGb" : { + "description" : "Default size of the Amazon EBS volume in Gb", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb" : { + "description" : "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb.", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required" : [ "DefaultEbsVolumeSizeInGb", "MaximumEbsVolumeSizeInGb" ] + }, + "SpaceEbsVolumeSizeInGb" : { + "type" : "integer", + "minimum" : 5, + "maximum" : 16384 + }, + "CodeEditorAppSettings" : { + "type" : "object", + "description" : "The CodeEditor app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with CodeEditor apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + } + } + }, + "StudioLifecycleConfigArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength" : 256, + "pattern" : "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, + "CustomPosixUserConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Uid" : { + "type" : "integer", + "minimum" : 10000, + "maximum" : 4000000 + }, + "Gid" : { + "type" : "integer", + "minimum" : 1001, + "maximum" : 4000000 + } + }, + "required" : [ "Uid", "Gid" ] + }, + "CustomFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "EFSFileSystemConfig" : { + "$ref" : "#/definitions/EFSFileSystemConfig" + } + } + }, + "EFSFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FileSystemPath" : { + "type" : "string", + "pattern" : "^\\/\\S*$", + "minLength" : 1, + "maxLength" : 256 + }, + "FileSystemId" : { + "type" : "string", + "minLength" : 11, + "maxLength" : 21, + "pattern" : "^(fs-[0-9a-f]{8,})$" + } + }, + "required" : [ "FileSystemId" ] + }, "CustomImage" : { "type" : "object", "description" : "A custom SageMaker image.", @@ -406,10 +599,10 @@ } }, "required" : [ "AuthMode", "DefaultUserSettings", "DomainName", "SubnetIds", "VpcId" ], - "createOnlyProperties" : [ "/properties/AppNetworkAccessType", "/properties/AuthMode", "/properties/DomainName", "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "/properties/KmsKeyId", "/properties/SubnetIds", "/properties/VpcId", "/properties/Tags" ], + "createOnlyProperties" : [ "/properties/AuthMode", "/properties/DomainName", "/properties/DomainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "/properties/KmsKeyId", "/properties/VpcId", "/properties/Tags" ], "writeOnlyProperties" : [ "/properties/Tags" ], "primaryIdentifier" : [ "/properties/DomainId" ], - "readOnlyProperties" : [ "/properties/DomainArn", "/properties/Url", "/properties/DomainId", "/properties/HomeEfsFileSystemId", "/properties/SecurityGroupIdForDomainBoundary", "/properties/SingleSignOnManagedApplicationInstanceId" ], + "readOnlyProperties" : [ "/properties/DomainArn", "/properties/Url", "/properties/DomainId", "/properties/HomeEfsFileSystemId", "/properties/SecurityGroupIdForDomainBoundary", "/properties/SingleSignOnManagedApplicationInstanceId", "/properties/SingleSignOnApplicationArn" ], "handlers" : { "create" : { "permissions" : [ "sagemaker:CreateApp", "sagemaker:CreateDomain", "sagemaker:DescribeDomain", "sagemaker:DescribeImage", "sagemaker:DescribeImageVersion", "iam:CreateServiceLinkedRole", "iam:PassRole", "efs:CreateFileSystem", "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlainText" ] diff --git a/aws-cloudformation-schema/aws-sagemaker-featuregroup.json b/aws-cloudformation-schema/aws-sagemaker-featuregroup.json index 2662dbbbae..0f6b04f0ae 100644 --- a/aws-cloudformation-schema/aws-sagemaker-featuregroup.json +++ b/aws-cloudformation-schema/aws-sagemaker-featuregroup.json @@ -28,6 +28,7 @@ "type" : "array", "description" : "An Array of Feature Definition", "uniqueItems" : false, + "insertionOrder" : false, "minItems" : 1, "maxItems" : 2500, "items" : { @@ -43,6 +44,9 @@ }, "EnableOnlineStore" : { "type" : "boolean" + }, + "StorageType" : { + "$ref" : "#/definitions/StorageType" } } }, @@ -89,6 +93,7 @@ "type" : "array", "description" : "An array of key-value pair to apply to this resource.", "uniqueItems" : false, + "insertionOrder" : false, "maxItems" : 50, "items" : { "$ref" : "#/definitions/Tag" @@ -117,6 +122,10 @@ "type" : "string", "maxLength" : 2048 }, + "StorageType" : { + "type" : "string", + "enum" : [ "Standard", "InMemory" ] + }, "OnlineStoreSecurityConfig" : { "type" : "object", "additionalProperties" : false, @@ -206,5 +215,12 @@ "list" : { "permissions" : [ "sagemaker:ListFeatureGroups" ] } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : false, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags" } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-userprofile.json b/aws-cloudformation-schema/aws-sagemaker-userprofile.json index 05c5ee9a1c..da774b5834 100644 --- a/aws-cloudformation-schema/aws-sagemaker-userprofile.json +++ b/aws-cloudformation-schema/aws-sagemaker-userprofile.json @@ -74,6 +74,37 @@ "RStudioServerProAppSettings" : { "$ref" : "#/definitions/RStudioServerProAppSettings" }, + "JupyterLabAppSettings" : { + "$ref" : "#/definitions/JupyterLabAppSettings" + }, + "SpaceStorageSettings" : { + "$ref" : "#/definitions/DefaultSpaceStorageSettings" + }, + "CodeEditorAppSettings" : { + "$ref" : "#/definitions/CodeEditorAppSettings" + }, + "DefaultLandingUri" : { + "type" : "string", + "description" : "Defines which Amazon SageMaker application users are directed to by default.", + "maxLength" : 1023 + }, + "StudioWebPortal" : { + "type" : "string", + "description" : "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "enum" : [ "ENABLED", "DISABLED" ] + }, + "CustomPosixUserConfig" : { + "$ref" : "#/definitions/CustomPosixUserConfig" + }, + "CustomFileSystemConfigs" : { + "type" : "array", + "uniqueItems" : true, + "minItems" : 0, + "maxItems" : 2, + "items" : { + "$ref" : "#/definitions/CustomFileSystemConfig" + } + }, "SecurityGroups" : { "type" : "array", "description" : "The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.", @@ -109,7 +140,7 @@ "InstanceType" : { "type" : "string", "description" : "The instance type that the image version runs on.", - "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive" ] + "enum" : [ "system", "ml.t3.micro", "ml.t3.small", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.p3.2xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.xlarge", "ml.g4dn.2xlarge", "ml.g4dn.4xlarge", "ml.g4dn.8xlarge", "ml.g4dn.12xlarge", "ml.g4dn.16xlarge", "ml.r5.large", "ml.r5.xlarge", "ml.r5.2xlarge", "ml.r5.4xlarge", "ml.r5.8xlarge", "ml.r5.12xlarge", "ml.r5.16xlarge", "ml.r5.24xlarge", "ml.p3dn.24xlarge", "ml.m5d.large", "ml.m5d.xlarge", "ml.m5d.2xlarge", "ml.m5d.4xlarge", "ml.m5d.8xlarge", "ml.m5d.12xlarge", "ml.m5d.16xlarge", "ml.m5d.24xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.geospatial.interactive", "ml.trn1.2xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge" ] }, "SageMakerImageArn" : { "type" : "string", @@ -146,6 +177,163 @@ } } }, + "JupyterLabAppSettings" : { + "type" : "object", + "description" : "The JupyterLab app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + }, + "CodeRepositories" : { + "type" : "array", + "description" : "A list of CodeRepositories available for use with JupyterLab apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CodeRepository" + } + }, + "CustomImages" : { + "type" : "array", + "description" : "A list of custom images available for use for JupyterLab apps", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/CustomImage" + } + } + } + }, + "CodeRepository" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "RepositoryUrl" : { + "type" : "string", + "description" : "A CodeRepository (valid URL) to be used within Jupyter's Git extension.", + "maxLength" : 256, + "pattern" : "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$" + } + }, + "required" : [ "RepositoryUrl" ] + }, + "DefaultSpaceStorageSettings" : { + "type" : "object", + "description" : "Default storage settings for a space.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsStorageSettings" : { + "$ref" : "#/definitions/DefaultEbsStorageSettings" + } + } + }, + "DefaultEbsStorageSettings" : { + "type" : "object", + "description" : "Properties related to the Amazon Elastic Block Store volume.", + "additionalProperties" : false, + "properties" : { + "DefaultEbsVolumeSizeInGb" : { + "description" : "Default size of the Amazon EBS volume in Gb", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + }, + "MaximumEbsVolumeSizeInGb" : { + "description" : "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb.", + "$ref" : "#/definitions/SpaceEbsVolumeSizeInGb" + } + }, + "required" : [ "DefaultEbsVolumeSizeInGb", "MaximumEbsVolumeSizeInGb" ] + }, + "SpaceEbsVolumeSizeInGb" : { + "type" : "integer", + "minimum" : 5, + "maximum" : 16384 + }, + "CodeEditorAppSettings" : { + "type" : "object", + "description" : "The CodeEditor app settings.", + "additionalProperties" : false, + "properties" : { + "DefaultResourceSpec" : { + "$ref" : "#/definitions/ResourceSpec", + "description" : "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "LifecycleConfigArns" : { + "type" : "array", + "description" : "A list of LifecycleConfigArns available for use with CodeEditor apps.", + "uniqueItems" : false, + "minItems" : 0, + "maxItems" : 30, + "items" : { + "$ref" : "#/definitions/StudioLifecycleConfigArn" + } + } + } + }, + "StudioLifecycleConfigArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the Lifecycle Configuration to attach to the Resource.", + "maxLength" : 256, + "pattern" : "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*" + }, + "CustomPosixUserConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Uid" : { + "type" : "integer", + "minimum" : 10000, + "maximum" : 4000000 + }, + "Gid" : { + "type" : "integer", + "minimum" : 1001, + "maximum" : 4000000 + } + }, + "required" : [ "Uid", "Gid" ] + }, + "CustomFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "EFSFileSystemConfig" : { + "$ref" : "#/definitions/EFSFileSystemConfig" + } + } + }, + "EFSFileSystemConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "FileSystemPath" : { + "type" : "string", + "pattern" : "^\\/\\S*$", + "minLength" : 1, + "maxLength" : 256 + }, + "FileSystemId" : { + "type" : "string", + "minLength" : 11, + "maxLength" : 21, + "pattern" : "^(fs-[0-9a-f]{8,})$" + } + }, + "required" : [ "FileSystemId" ] + }, "CustomImage" : { "type" : "object", "description" : "A custom SageMaker image.", diff --git a/aws-cloudformation-schema/aws-signer-signingprofile.json b/aws-cloudformation-schema/aws-signer-signingprofile.json index 77589945d1..a1d98ac69e 100644 --- a/aws-cloudformation-schema/aws-signer-signingprofile.json +++ b/aws-cloudformation-schema/aws-signer-signingprofile.json @@ -9,7 +9,7 @@ }, "Arn" : { "type" : "string", - "pattern" : "^arn:aws(-(cn|gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" + "pattern" : "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" }, "ProfileVersion" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-sns-subscription.json b/aws-cloudformation-schema/aws-sns-subscription.json index 3549793ea5..00a4f92fff 100644 --- a/aws-cloudformation-schema/aws-sns-subscription.json +++ b/aws-cloudformation-schema/aws-sns-subscription.json @@ -3,6 +3,9 @@ "description" : "Resource Type definition for AWS::SNS::Subscription", "additionalProperties" : false, "properties" : { + "ReplayPolicy" : { + "type" : "object" + }, "RawMessageDelivery" : { "type" : "boolean" }, diff --git a/aws-cloudformation-schema/aws-sns-topic.json b/aws-cloudformation-schema/aws-sns-topic.json index 6a66201c75..643a85387c 100644 --- a/aws-cloudformation-schema/aws-sns-topic.json +++ b/aws-cloudformation-schema/aws-sns-topic.json @@ -121,14 +121,7 @@ "description" : "The IAM role ARN to be used when logging failed message deliveries in Amazon CloudWatch" } }, - "required" : [ "Protocol" ], - "anyOf" : [ { - "required" : [ "SuccessFeedbackRoleArn" ] - }, { - "required" : [ "SuccessFeedbackSampleRate" ] - }, { - "required" : [ "FailureFeedbackRoleArn" ] - } ] + "required" : [ "Protocol" ] } }, "tagging" : { diff --git a/aws-cloudformation-user-guide b/aws-cloudformation-user-guide index 6c68a17aef..19dc52cd3f 160000 --- a/aws-cloudformation-user-guide +++ b/aws-cloudformation-user-guide @@ -1 +1 @@ -Subproject commit 6c68a17aef7f0ccd1f6786f19da341d8c92737e7 +Subproject commit 19dc52cd3f2007d6d268b65b739ffb5ebf8c1e76 diff --git a/provider/cmd/cf2pulumi/schema-full.json b/provider/cmd/cf2pulumi/schema-full.json index f17eaa99d7..c13d2d0939 100644 --- a/provider/cmd/cf2pulumi/schema-full.json +++ b/provider/cmd/cf2pulumi/schema-full.json @@ -478,7 +478,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } }, "type": "object" @@ -11675,7 +11675,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -15146,6 +15150,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -15155,6 +15162,28 @@ "memberAbilities" ] }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -15582,6 +15611,17 @@ "value" ] }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "properties": { "s3": { @@ -15625,6 +15665,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -17225,6 +17276,21 @@ "name" ] }, + "aws-native:cloudfront:KeyValueStoreImportSource": { + "properties": { + "sourceArn": { + "type": "string" + }, + "sourceType": { + "type": "string" + } + }, + "type": "object", + "required": [ + "sourceArn", + "sourceType" + ] + }, "aws-native:cloudfront:MonitoringSubscription": { "properties": { "realtimeMetricsSubscriptionConfig": { @@ -19044,6 +19110,21 @@ "value" ] }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "properties": { "canaryInterval": { @@ -19091,6 +19172,20 @@ "type" ] }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:codedeploy:DeploymentGroupAlarm": { "properties": { "name": { @@ -19767,6 +19862,48 @@ "type" ] }, + "aws-native:codepipeline:PipelineGitConfiguration": { + "properties": { + "push": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitPushFilter" + } + }, + "sourceActionName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "sourceActionName" + ] + }, + "aws-native:codepipeline:PipelineGitPushFilter": { + "properties": { + "tags": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitTagFilterCriteria" + } + }, + "type": "object" + }, + "aws-native:codepipeline:PipelineGitTagFilterCriteria": { + "properties": { + "excludes": { + "type": "array", + "items": { + "type": "string" + } + }, + "includes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, "aws-native:codepipeline:PipelineInputArtifact": { "properties": { "name": { @@ -19843,6 +19980,37 @@ "value" ] }, + "aws-native:codepipeline:PipelineTriggerDeclaration": { + "properties": { + "gitConfiguration": { + "$ref": "#/types/aws-native:codepipeline:PipelineGitConfiguration" + }, + "providerType": { + "type": "string" + } + }, + "type": "object", + "required": [ + "providerType" + ] + }, + "aws-native:codepipeline:PipelineVariableDeclaration": { + "properties": { + "defaultValue": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ] + }, "aws-native:codepipeline:WebhookAuthConfiguration": { "properties": { "allowedIpRange": { @@ -22749,6 +22917,44 @@ }, "type": "object" }, + "aws-native:configuration:ConfigurationRecorderRecordingMode": { + "properties": { + "recordingFrequency": { + "type": "string" + }, + "recordingModeOverrides": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingModeOverride" + } + } + }, + "type": "object", + "required": [ + "recordingFrequency" + ] + }, + "aws-native:configuration:ConfigurationRecorderRecordingModeOverride": { + "properties": { + "description": { + "type": "string" + }, + "recordingFrequency": { + "type": "string" + }, + "resourceTypes": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "recordingFrequency", + "resourceTypes" + ] + }, "aws-native:configuration:ConfigurationRecorderRecordingStrategy": { "properties": { "useOnly": { @@ -23805,6 +24011,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -23849,6 +24056,24 @@ } ] }, + "aws-native:connect:InstanceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "description": "Specifies the integration type to be associated with the instance", "type": "string", @@ -23860,6 +24085,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -30552,6 +30781,75 @@ "value" ] }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string", + "enum": [ + { + "name": "None", + "value": "none" + }, + { + "name": "Require", + "value": "require" + }, + { + "name": "VerifyCa", + "value": "verify_ca" + }, + { + "name": "VerifyFull", + "value": "verify_full" + } + ] + }, + "aws-native:dms:DataProviderEngine": { + "description": "The property describes a data engine for the data provider.", + "type": "string", + "enum": [ + { + "name": "Postgresql", + "value": "postgresql" + }, + { + "name": "Mysql", + "value": "mysql" + }, + { + "name": "Oracle", + "value": "oracle" + }, + { + "name": "Sqlserver", + "value": "sqlserver" + }, + { + "name": "Aurora", + "value": "aurora" + }, + { + "name": "AuroraPostgresql", + "value": "aurora_postgresql" + } + ] + }, + "aws-native:dms:DataProviderTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:EndpointDocDbSettings": { "properties": { "docsToInvestigate": { @@ -30646,6 +30944,15 @@ "currentLsn": { "type": "string" }, + "keepCsvFiles": { + "type": "boolean" + }, + "loadTimeout": { + "type": "integer" + }, + "maxFileSize": { + "type": "integer" + }, "maxKBytesPerRead": { "type": "integer" }, @@ -30657,6 +30964,9 @@ }, "setDataCaptureChanges": { "type": "boolean" + }, + "writeBufferSize": { + "type": "integer" } }, "type": "object" @@ -31357,6 +31667,81 @@ "value" ] }, + "aws-native:dms:InstanceProfileNetworkType": { + "description": "The property describes a network type for the instance profile.", + "type": "string", + "enum": [ + { + "name": "Ipv4", + "value": "IPV4" + }, + { + "name": "Ipv6", + "value": "IPV6" + }, + { + "name": "Dual", + "value": "DUAL" + } + ] + }, + "aws-native:dms:InstanceProfileTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "description": "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:MigrationProjectTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:ReplicationConfigComputeConfig": { "description": "Configuration parameters for provisioning a AWS DMS Serverless replication", "properties": { @@ -31477,6 +31862,146 @@ "value" ] }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "description": "The property describes schema conversion application attributes for the migration project.", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0Properties": { + "description": "PostgreSqlSettings property identifier.", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1Properties": { + "description": "MySqlSettings property identifier.", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2Properties": { + "description": "OracleSettings property identifier.", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3Properties": { + "description": "MicrosoftSqlServerSettings property identifier.", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, "aws-native:docdb:DbClusterParameterGroupTag": { "properties": { "key": { @@ -32363,6 +32888,27 @@ "tags" ] }, + "aws-native:ec2:CpuOptionsProperties": { + "description": "The CPU options for the instance.", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:ec2:CreditSpecificationProperties": { + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:CustomerGatewayTag": { "properties": { "key": { @@ -33350,6 +33896,16 @@ "value" ] }, + "aws-native:ec2:EnclaveOptionsProperties": { + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + }, + "type": "object" + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string", "enum": [ @@ -33440,16 +33996,42 @@ } ] }, + "aws-native:ec2:HibernationOptionsProperties": { + "description": "Indicates whether an instance is enabled for hibernation.", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceAffinity": { + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type": "string", + "enum": [ + { + "name": "Default", + "value": "default" + }, + { + "name": "Host", + "value": "host" + } + ] + }, "aws-native:ec2:InstanceAssociationParameter": { "properties": { "key": { - "type": "string" + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." }, "value": { "type": "array", "items": { "type": "string" - } + }, + "description": "The value of an input parameter." } }, "type": "object", @@ -33461,13 +34043,15 @@ "aws-native:ec2:InstanceBlockDeviceMapping": { "properties": { "deviceName": { - "type": "string" + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." }, "ebs": { - "$ref": "#/types/aws-native:ec2:InstanceEbs" + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." }, "noDevice": { - "$ref": "#/types/aws-native:ec2:InstanceNoDevice" + "$ref": "pulumi.json#/Any" }, "virtualName": { "type": "string" @@ -33494,47 +34078,35 @@ "value" ] }, - "aws-native:ec2:InstanceCpuOptions": { - "properties": { - "coreCount": { - "type": "integer" - }, - "threadsPerCore": { - "type": "integer" - } - }, - "type": "object" - }, - "aws-native:ec2:InstanceCreditSpecification": { - "properties": { - "cpuCredits": { - "type": "string" - } - }, - "type": "object" - }, "aws-native:ec2:InstanceEbs": { "properties": { "deleteOnTermination": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." }, "encrypted": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." }, "iops": { - "type": "integer" + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." }, "kmsKeyId": { - "type": "string" + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." }, "snapshotId": { - "type": "string" + "type": "string", + "description": "The ID of the snapshot." }, "volumeSize": { - "type": "integer" + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." }, "volumeType": { - "type": "string" + "type": "string", + "description": "The volume type." } }, "type": "object" @@ -33542,7 +34114,8 @@ "aws-native:ec2:InstanceElasticGpuSpecification": { "properties": { "type": { - "type": "string" + "type": "string", + "description": "The type of Elastic Graphics accelerator." } }, "type": "object", @@ -33553,10 +34126,12 @@ "aws-native:ec2:InstanceElasticInferenceAccelerator": { "properties": { "count": { - "type": "integer" + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." }, "type": { - "type": "string" + "type": "string", + "description": "The type of elastic inference accelerator." } }, "type": "object", @@ -33564,26 +34139,11 @@ "type" ] }, - "aws-native:ec2:InstanceEnclaveOptions": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "aws-native:ec2:InstanceHibernationOptions": { - "properties": { - "configured": { - "type": "boolean" - } - }, - "type": "object" - }, "aws-native:ec2:InstanceIpv6Address": { "properties": { "ipv6Address": { - "type": "string" + "type": "string", + "description": "The IPv6 address." } }, "type": "object", @@ -33594,24 +34154,25 @@ "aws-native:ec2:InstanceLaunchTemplateSpecification": { "properties": { "launchTemplateId": { - "type": "string" + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." }, "launchTemplateName": { - "type": "string" + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." }, "version": { - "type": "string" + "type": "string", + "description": "The version number of the launch template." } }, - "type": "object", - "required": [ - "version" - ] + "type": "object" }, "aws-native:ec2:InstanceLicenseSpecification": { "properties": { "licenseConfigurationArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." } }, "type": "object", @@ -33622,52 +34183,65 @@ "aws-native:ec2:InstanceNetworkInterface": { "properties": { "associateCarrierIpAddress": { - "type": "boolean" + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." }, "associatePublicIpAddress": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." }, "deleteOnTermination": { - "type": "boolean" + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." }, "description": { - "type": "string" + "type": "string", + "description": "The description of the network interface." }, "deviceIndex": { - "type": "string" + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." }, "groupSet": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups for the network interface." }, "ipv6AddressCount": { - "type": "integer" + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." }, "ipv6Addresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" - } + }, + "description": "The IPv6 addresses associated with the network interface." }, "networkInterfaceId": { - "type": "string" + "type": "string", + "description": "The ID of the network interface." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "The private IPv4 address of the network interface." }, "privateIpAddresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" - } + }, + "description": "One or more private IPv4 addresses to assign to the network interface." }, "secondaryPrivateIpAddressCount": { - "type": "integer" + "type": "integer", + "description": "The number of secondary private IPv4 addresses." }, "subnetId": { - "type": "string" + "type": "string", + "description": "The ID of the subnet." } }, "type": "object", @@ -33675,30 +34249,46 @@ "deviceIndex" ] }, - "aws-native:ec2:InstanceNoDevice": { - "type": "object" - }, "aws-native:ec2:InstancePrivateDnsNameOptions": { "properties": { "enableResourceNameDnsARecord": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." }, "enableResourceNameDnsAaaaRecord": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." }, "hostnameType": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." } }, "type": "object" }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type": "string", + "enum": [ + { + "name": "IpName", + "value": "ip-name" + }, + { + "name": "ResourceName", + "value": "resource-name" + } + ] + }, "aws-native:ec2:InstancePrivateIpAddressSpecification": { "properties": { "primary": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "The private IPv4 addresses." } }, "type": "object", @@ -33713,10 +34303,12 @@ "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" - } + }, + "description": "The input parameter values to use with the associated SSM document." }, "documentName": { - "type": "string" + "type": "string", + "description": "The name of an SSM document to associate with the instance." } }, "type": "object", @@ -33742,10 +34334,12 @@ "aws-native:ec2:InstanceVolume": { "properties": { "device": { - "type": "string" + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." }, "volumeId": { - "type": "string" + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." } }, "type": "object", @@ -37731,6 +38325,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "description": "The options for device identity based trust providers.", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -38114,6 +38712,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -38126,6 +38727,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -42895,6 +43509,20 @@ } ] }, + "aws-native:emr:StudioIdcUserAssignment": { + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type": "string", + "enum": [ + { + "name": "Required", + "value": "REQUIRED" + }, + { + "name": "Optional", + "value": "OPTIONAL" + } + ] + }, "aws-native:emr:StudioSessionMappingIdentityType": { "description": "Specifies whether the identity to map to the Studio is a user or a group.", "type": "string", @@ -45008,6 +45636,47 @@ "description": "The actions for the experiment.", "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + }, + "type": "object" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "description": "The account targeting setting for the experiment template.", + "type": "string", + "enum": [ + { + "name": "MultiAccount", + "value": "multi-account" + }, + { + "name": "SingleAccount", + "value": "single-account" + } + ] + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "description": "The target resolution failure mode for the experiment template.", + "type": "string", + "enum": [ + { + "name": "Fail", + "value": "fail" + }, + { + "name": "Skip", + "value": "skip" + } + ] + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "properties": { "cloudWatchLogsConfiguration": { @@ -68320,6 +68989,7 @@ ] }, "aws-native:lambda:EventInvokeConfigDestinationConfig": { + "description": "A destination for events after they have been sent to a function for processing.", "properties": { "onFailure": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigOnFailure" @@ -68331,9 +69001,11 @@ "type": "object" }, "aws-native:lambda:EventInvokeConfigOnFailure": { + "description": "The destination configuration for failed invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -68342,9 +69014,11 @@ ] }, "aws-native:lambda:EventInvokeConfigOnSuccess": { + "description": "The destination configuration for successful invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -84387,6 +85061,32 @@ "value" ] }, + "aws-native:osis:PipelineBufferOptions": { + "description": "Key-value pairs to configure buffering.", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + }, + "type": "object", + "required": [ + "persistentBufferEnabled" + ] + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "description": "Key-value pairs to configure encryption at rest.", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "type": "object", + "required": [ + "kmsKeyArn" + ] + }, "aws-native:osis:PipelineLogPublishingOptions": { "description": "Key-value pairs to configure log publishing.", "properties": { @@ -84408,7 +85108,10 @@ "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "logGroup" + ] }, "aws-native:osis:PipelineTag": { "description": "A key-value pair to associate with a resource.", @@ -84463,7 +85166,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -127862,6 +128568,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -128685,6 +129394,10 @@ "value" ] }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "type": "object" + }, "aws-native:s3:BucketTiering": { "properties": { "accessTier": { @@ -129365,7 +130078,7 @@ ] }, "aws-native:s3express:DirectoryBucketDataRedundancy": { - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type": "string", "enum": [ { @@ -130063,6 +130776,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -130673,6 +131398,43 @@ } ] }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -130695,6 +131457,39 @@ "imageName" ] }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "description": "A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called.", "properties": { @@ -130723,6 +131518,60 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -131096,6 +131945,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -131165,10 +132026,29 @@ "aws-native:sagemaker:DomainUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -131193,6 +132073,13 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object", @@ -131200,6 +132087,20 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:EndpointAlarm": { "properties": { "alarmName": { @@ -131776,6 +132677,19 @@ "s3Uri" ] }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string", + "enum": [ + { + "name": "Standard", + "value": "Standard" + }, + { + "name": "InMemory", + "value": "InMemory" + } + ] + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "description": "Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores.", "type": "string", @@ -136147,6 +137061,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -136673,6 +137590,43 @@ "value" ] }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -136695,6 +137649,93 @@ "imageName" ] }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume.", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -137025,6 +138066,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -137078,10 +138131,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -137103,10 +138175,31 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object" }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:WorkteamCognitoMemberDefinition": { "properties": { "cognitoClientId": { @@ -155920,6 +157013,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -155969,6 +157065,7 @@ "arn", "authenticationType", "graphQlDns", + "graphQlEndpointArn", "graphQlUrl", "name", "realtimeDns", @@ -158637,6 +159734,11 @@ "aws-native:billingconductor:CustomLineItem": { "description": "A custom line item is an one time charge that is applied to a specific billing group's bill.", "properties": { + "accountId": { + "type": "string", + "description": "The account which this custom line item will be charged to", + "replaceOnChanges": true + }, "arn": { "type": "string", "description": "ARN" @@ -158695,6 +159797,10 @@ "productCode" ], "inputProperties": { + "accountId": { + "type": "string", + "description": "The account which this custom line item will be charged to" + }, "billingGroupArn": { "type": "string", "description": "Billing Group ARN" @@ -159305,8 +160411,7 @@ "requiredInputs": [ "monitorName", "monitorType" - ], - "deprecationMessage": "AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ce:AnomalySubscription": { "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified", @@ -159410,8 +160515,7 @@ "monitorArnList", "subscribers", "subscriptionName" - ], - "deprecationMessage": "AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ce:CostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", @@ -159930,6 +161034,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -159980,6 +161088,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -160202,6 +161313,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160229,6 +161343,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -160298,6 +161415,7 @@ "type": "object", "required": [ "arn", + "imageId", "instanceType" ], "inputProperties": { @@ -160339,6 +161457,7 @@ } }, "requiredInputs": [ + "imageId", "instanceType" ], "deprecationMessage": "EnvironmentEc2 is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." @@ -161568,6 +162687,45 @@ "keyGroupConfig" ] }, + "aws-native:cloudfront:KeyValueStore": { + "description": "Resource Type definition for AWS::CloudFront::KeyValueStore", + "properties": { + "arn": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "importSource": { + "$ref": "#/types/aws-native:cloudfront:KeyValueStoreImportSource" + }, + "name": { + "type": "string", + "replaceOnChanges": true + }, + "status": { + "type": "string" + } + }, + "type": "object", + "required": [ + "arn", + "name", + "status" + ], + "inputProperties": { + "comment": { + "type": "string" + }, + "importSource": { + "$ref": "#/types/aws-native:cloudfront:KeyValueStoreImportSource" + }, + "name": { + "type": "string" + } + }, + "deprecationMessage": "KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + }, "aws-native:cloudfront:MonitoringSubscription": { "description": "Resource Type definition for AWS::CloudFront::MonitoringSubscription", "properties": { @@ -161877,6 +163035,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -161950,6 +163116,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -163438,6 +164612,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "type": "object", @@ -163457,6 +164636,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } } }, @@ -163906,6 +165089,9 @@ "type": "string", "replaceOnChanges": true }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163924,6 +165110,18 @@ "$ref": "#/types/aws-native:codepipeline:PipelineTag" } }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } + }, "version": { "type": "string" } @@ -163953,6 +165151,9 @@ "name": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -163970,6 +165171,18 @@ "items": { "$ref": "#/types/aws-native:codepipeline:PipelineTag" } + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } } }, "requiredInputs": [ @@ -165899,6 +167112,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -165914,6 +167130,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -166727,6 +167946,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "type": "object", @@ -166754,6 +167980,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "requiredInputs": [ @@ -171866,6 +173099,118 @@ }, "deprecationMessage": "Certificate is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:dms:DataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "dataProviderArn", + "dataProviderCreationTime", + "engine" + ], + "inputProperties": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "engine" + ] + }, "aws-native:dms:Endpoint": { "description": "Resource Type definition for AWS::DMS::Endpoint", "properties": { @@ -172158,6 +173503,247 @@ ], "deprecationMessage": "EventSubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." }, + "aws-native:dms:InstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "type": "object", + "required": [ + "instanceProfileArn", + "instanceProfileCreationTime" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + }, + "aws-native:dms:MigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "type": "object", + "required": [ + "migrationProjectArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + }, "aws-native:dms:ReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "properties": { @@ -172182,7 +173768,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -174639,39 +176226,48 @@ "description": "Resource Type definition for AWS::EC2::Instance", "properties": { "additionalInfo": { - "type": "string" + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "availabilityZone": { "type": "string", + "description": "The Availability Zone of the instance.", "replaceOnChanges": true }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "cpuOptions": { - "$ref": "#/types/aws-native:ec2:InstanceCpuOptions", + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", "replaceOnChanges": true }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "elasticGpuSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" }, + "description": "An elastic GPU to associate with the instance.", "replaceOnChanges": true }, "elasticInferenceAccelerators": { @@ -174679,38 +176275,52 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" }, + "description": "An elastic inference accelerator to associate with the instance.", "replaceOnChanges": true }, "enclaveOptions": { - "$ref": "#/types/aws-native:ec2:InstanceEnclaveOptions", + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", "replaceOnChanges": true }, "hibernationOptions": { - "$ref": "#/types/aws-native:ec2:InstanceHibernationOptions", + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", "replaceOnChanges": true }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "hostResourceGroupArn": { "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", "replaceOnChanges": true }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, "imageId": { "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", "replaceOnChanges": true }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "ipv6AddressCount": { "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", "replaceOnChanges": true }, "ipv6Addresses": { @@ -174718,17 +176328,21 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", "replaceOnChanges": true }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "keyName": { "type": "string", + "description": "The name of the key pair.", "replaceOnChanges": true }, "launchTemplate": { "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", "replaceOnChanges": true }, "licenseSpecifications": { @@ -174736,94 +176350,116 @@ "items": { "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" }, + "description": "The license configurations.", "replaceOnChanges": true }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" }, + "description": "The network interfaces to associate with the instance.", "replaceOnChanges": true }, "placementGroupName": { "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", "replaceOnChanges": true }, "privateDnsName": { - "type": "string" + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIp": { - "type": "string" + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." }, "privateIpAddress": { "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", "replaceOnChanges": true }, "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." }, "publicDnsName": { - "type": "string" + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." }, "publicIp": { - "type": "string" + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "securityGroups": { "type": "array", "items": { "type": "string" }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", "replaceOnChanges": true }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "subnetId": { "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", "replaceOnChanges": true }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" + "type": "string", + "description": "The user data to make available to the instance." }, "volumes": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + }, + "description": "The volumes to attach to the instance." } }, "type": "object", "required": [ + "instanceId", "privateDnsName", "privateIp", "publicDnsName", @@ -174831,160 +176467,199 @@ ], "inputProperties": { "additionalInfo": { - "type": "string" + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "availabilityZone": { - "type": "string" + "type": "string", + "description": "The Availability Zone of the instance." }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "cpuOptions": { - "$ref": "#/types/aws-native:ec2:InstanceCpuOptions" + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "elasticGpuSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" - } + }, + "description": "An elastic GPU to associate with the instance." }, "elasticInferenceAccelerators": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" - } + }, + "description": "An elastic inference accelerator to associate with the instance." }, "enclaveOptions": { - "$ref": "#/types/aws-native:ec2:InstanceEnclaveOptions" + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." }, "hibernationOptions": { - "$ref": "#/types/aws-native:ec2:InstanceHibernationOptions" + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "hostResourceGroupArn": { - "type": "string" + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, "imageId": { - "type": "string" + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "ipv6AddressCount": { - "type": "integer" + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." }, "ipv6Addresses": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" - } + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "keyName": { - "type": "string" + "type": "string", + "description": "The name of the key pair." }, "launchTemplate": { - "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification" + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." }, "licenseSpecifications": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" - } + }, + "description": "The license configurations." }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "networkInterfaces": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" - } + }, + "description": "The network interfaces to associate with the instance." }, "placementGroupName": { - "type": "string" + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIpAddress": { - "type": "string" + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." }, "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "securityGroups": { "type": "array", "items": { "type": "string" - } + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "subnetId": { - "type": "string" + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" + "type": "string", + "description": "The user data to make available to the instance." }, "volumes": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + }, + "description": "The volumes to attach to the instance." } - }, - "deprecationMessage": "Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:ec2:InstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", @@ -177436,37 +179111,46 @@ "properties": { "cidrIp": { "type": "string", + "description": "The IPv4 ranges", "replaceOnChanges": true }, "cidrIpv6": { "type": "string", + "description": "[VPC only] The IPv6 ranges", "replaceOnChanges": true }, "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "destinationPrefixListId": { "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", "replaceOnChanges": true }, "destinationSecurityGroupId": { "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", "replaceOnChanges": true }, "fromPort": { "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", "replaceOnChanges": true }, "groupId": { "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", "replaceOnChanges": true }, "ipProtocol": { "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", "replaceOnChanges": true }, "toPort": { "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", "replaceOnChanges": true } }, @@ -177477,38 +179161,46 @@ ], "inputProperties": { "cidrIp": { - "type": "string" + "type": "string", + "description": "The IPv4 ranges" }, "cidrIpv6": { - "type": "string" + "type": "string", + "description": "[VPC only] The IPv6 ranges" }, "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "destinationPrefixListId": { - "type": "string" + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." }, "destinationSecurityGroupId": { - "type": "string" + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." }, "fromPort": { - "type": "integer" + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." }, "groupId": { - "type": "string" + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." }, "ipProtocol": { - "type": "string" + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." }, "toPort": { - "type": "integer" + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." } }, "requiredInputs": [ "groupId", "ipProtocol" - ], - "deprecationMessage": "SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:ec2:SecurityGroupIngress": { "description": "Resource Type definition for AWS::EC2::SecurityGroupIngress", @@ -183196,10 +184888,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -183215,6 +184905,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -183231,6 +184924,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -185276,11 +186972,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -185316,6 +187027,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -185363,10 +187079,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -185397,6 +187125,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -186428,74 +188160,92 @@ "description": "Resource Type definition for AWS::EventSchemas::Discoverer", "properties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "discovererArn": { - "type": "string" + "type": "string", + "description": "The ARN of the discoverer." }, "discovererId": { - "type": "string" + "type": "string", + "description": "The Id of the discoverer." }, "sourceArn": { "type": "string", + "description": "The ARN of the event bus.", "replaceOnChanges": true }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "type": "object", "required": [ "discovererArn", "discovererId", - "sourceArn" + "sourceArn", + "state" ], "inputProperties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "sourceArn": { - "type": "string" + "type": "string", + "description": "The ARN of the event bus." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "requiredInputs": [ "sourceArn" - ], - "deprecationMessage": "Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + ] }, "aws-native:eventschemas:Registry": { "description": "Resource Type definition for AWS::EventSchemas::Registry", "properties": { "description": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryArn": { - "type": "string" + "type": "string", + "description": "The ARN of the registry." }, "registryName": { "type": "string", + "description": "The name of the schema registry.", "replaceOnChanges": true }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } }, "type": "object", @@ -186504,19 +188254,21 @@ ], "inputProperties": { "description": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryName": { - "type": "string" + "type": "string", + "description": "The name of the schema registry." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } - }, - "deprecationMessage": "Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible." + } }, "aws-native:eventschemas:RegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy", @@ -187175,6 +188927,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187210,6 +188965,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -187237,6 +188995,50 @@ "targets" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "properties": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "inputProperties": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "requiredInputs": [ + "accountId", + "experimentTemplateId", + "roleArn" + ] + }, "aws-native:fms:NotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "properties": { @@ -202128,23 +203930,27 @@ ] }, "aws-native:lambda:EventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "properties": { "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -202158,16 +203964,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "requiredInputs": [ @@ -202483,10 +204293,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -202611,10 +204417,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -205148,28 +206950,28 @@ ] }, "aws-native:logs:Delivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -205177,7 +206979,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "type": "object", @@ -205191,18 +206993,18 @@ "inputProperties": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "requiredInputs": [ @@ -205211,11 +207013,11 @@ ] }, "aws-native:logs:DeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -205223,16 +207025,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -205240,7 +207042,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "type": "object", @@ -205256,27 +207058,27 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } }, "aws-native:logs:DeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -205296,18 +207098,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "type": "object", @@ -205335,7 +207137,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } }, @@ -213915,6 +215717,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -213931,6 +215736,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -213965,6 +215773,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -213999,6 +215808,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -215316,6 +217128,12 @@ "aws-native:osis:Pipeline": { "description": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -215376,6 +217194,12 @@ "vpcEndpoints" ], "inputProperties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -226386,12 +228210,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -226409,11 +228233,11 @@ "inputProperties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -227173,8 +228997,7 @@ "properties": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -227222,6 +229045,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -227231,8 +229058,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -227261,6 +229087,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -232207,6 +234034,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -232245,6 +234075,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" }, @@ -242838,6 +244671,9 @@ "graphQlDns": { "type": "string" }, + "graphQlEndpointArn": { + "type": "string" + }, "graphQlUrl": { "type": "string" }, @@ -245059,6 +246895,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -245872,6 +247711,35 @@ } } }, + "aws-native:cloudfront:getKeyValueStore": { + "description": "Resource Type definition for AWS::CloudFront::KeyValueStore", + "inputs": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string" + }, + "comment": { + "type": "string" + }, + "id": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + }, "aws-native:cloudfront:getMonitoringSubscription": { "description": "Resource Type definition for AWS::CloudFront::MonitoringSubscription", "inputs": { @@ -246129,6 +247997,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -247205,6 +249081,9 @@ "id": { "type": "string" }, + "pipelineType": { + "type": "string" + }, "restartExecutionOnUpdate": { "type": "boolean" }, @@ -247223,6 +249102,18 @@ "$ref": "#/types/aws-native:codepipeline:PipelineTag" } }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineTriggerDeclaration" + } + }, + "variables": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:codepipeline:PipelineVariableDeclaration" + } + }, "version": { "type": "string" } @@ -248250,6 +250141,9 @@ "recordingGroup": { "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingGroup" }, + "recordingMode": { + "$ref": "#/types/aws-native:configuration:ConfigurationRecorderRecordingMode" + }, "roleArn": { "type": "string" } @@ -248730,6 +250624,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } } } @@ -251532,6 +253433,68 @@ } } }, + "aws-native:dms:getDataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "inputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + } + }, + "required": [ + "dataProviderArn" + ] + }, + "outputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, "aws-native:dms:getEndpoint": { "description": "Resource Type definition for AWS::DMS::Endpoint", "inputs": { @@ -251686,6 +253649,145 @@ } } }, + "aws-native:dms:getInstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "inputs": { + "properties": { + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + } + }, + "required": [ + "instanceProfileArn" + ] + }, + "outputs": { + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + } + }, + "aws-native:dms:getMigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "inputs": { + "properties": { + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + } + }, + "required": [ + "migrationProjectArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + } + }, "aws-native:dms:getReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "inputs": { @@ -251720,10 +253822,6 @@ "$ref": "#/types/aws-native:dms:ReplicationConfigReplicationType", "description": "The type of AWS DMS Serverless replication to provision using this replication configuration" }, - "resourceIdentifier": { - "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" - }, "sourceEndpointArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration" @@ -252819,111 +254917,124 @@ "description": "Resource Type definition for AWS::EC2::Instance", "inputs": { "properties": { - "id": { - "type": "string" + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." } }, "required": [ - "id" + "instanceId" ] }, "outputs": { "properties": { - "additionalInfo": { - "type": "string" - }, "affinity": { - "type": "string" + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." }, "blockDeviceMappings": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" - } + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." }, "creditSpecification": { - "$ref": "#/types/aws-native:ec2:InstanceCreditSpecification" + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." }, "disableApiTermination": { - "type": "boolean" + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." }, "ebsOptimized": { - "type": "boolean" + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." }, "hostId": { - "type": "string" + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." }, "iamInstanceProfile": { - "type": "string" + "type": "string", + "description": "The IAM instance profile." }, - "id": { - "type": "string" + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." }, "instanceInitiatedShutdownBehavior": { - "type": "string" + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." }, "instanceType": { - "type": "string" + "type": "string", + "description": "The instance type." }, "kernelId": { - "type": "string" + "type": "string", + "description": "The ID of the kernel." }, "monitoring": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." }, "privateDnsName": { - "type": "string" + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." }, "privateDnsNameOptions": { - "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions" + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." }, "privateIp": { - "type": "string" - }, - "propagateTagsToVolumeOnCreation": { - "type": "boolean" + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." }, "publicDnsName": { - "type": "string" + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." }, "publicIp": { - "type": "string" + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." }, "ramdiskId": { - "type": "string" + "type": "string", + "description": "The ID of the RAM disk to select." }, "securityGroupIds": { "type": "array", "items": { "type": "string" - } + }, + "description": "The IDs of the security groups." }, "sourceDestCheck": { - "type": "boolean" + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." }, "ssmAssociations": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" - } + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:ec2:InstanceTag" - } + }, + "description": "The tags to add to the instance." }, "tenancy": { - "type": "string" + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." }, "userData": { - "type": "string" - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:ec2:InstanceVolume" - } + "type": "string", + "description": "The user data to make available to the instance." } } } @@ -254277,7 +256388,8 @@ "inputs": { "properties": { "id": { - "type": "string" + "type": "string", + "description": "The Security Group Rule Id" } }, "required": [ @@ -254287,10 +256399,12 @@ "outputs": { "properties": { "description": { - "type": "string" + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." }, "id": { - "type": "string" + "type": "string", + "description": "The Security Group Rule Id" } } } @@ -258645,33 +260759,43 @@ "description": "Resource Type definition for AWS::EventSchemas::Discoverer", "inputs": { "properties": { - "discovererId": { - "type": "string" + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." } }, "required": [ - "discovererId" + "discovererArn" ] }, "outputs": { "properties": { "crossAccount": { - "type": "boolean" + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." }, "description": { - "type": "string" + "type": "string", + "description": "A description for the discoverer." }, "discovererArn": { - "type": "string" + "type": "string", + "description": "The ARN of the discoverer." }, "discovererId": { - "type": "string" + "type": "string", + "description": "The Id of the discoverer." + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" - } + }, + "description": "Tags associated with the resource." } } } @@ -258680,30 +260804,31 @@ "description": "Resource Type definition for AWS::EventSchemas::Registry", "inputs": { "properties": { - "id": { - "type": "string" + "registryArn": { + "type": "string", + "description": "The ARN of the registry." } }, "required": [ - "id" + "registryArn" ] }, "outputs": { "properties": { "description": { - "type": "string" - }, - "id": { - "type": "string" + "type": "string", + "description": "A description of the registry to be created." }, "registryArn": { - "type": "string" + "type": "string", + "description": "The ARN of the registry." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" - } + }, + "description": "Tags associated with the resource." } } } @@ -259092,6 +261217,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -259113,6 +261241,33 @@ } } }, + "aws-native:fis:getTargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "inputs": { + "properties": { + "accountId": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + } + }, + "required": [ + "experimentTemplateId", + "accountId" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + } + } + }, "aws-native:fms:getNotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "inputs": { @@ -267797,15 +269952,21 @@ } }, "aws-native:lambda:getEventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "inputs": { "properties": { - "id": { - "type": "string" + "functionName": { + "type": "string", + "description": "The name of the Lambda function." + }, + "qualifier": { + "type": "string", + "description": "The identifier of a version or alias." } }, "required": [ - "id" + "functionName", + "qualifier" ] }, "outputs": { @@ -267813,14 +269974,13 @@ "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, - "id": { - "type": "string" - }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." } } } @@ -269261,12 +271421,12 @@ } }, "aws-native:logs:getDelivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "inputs": { "properties": { "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." } }, "required": [ @@ -269277,33 +271437,33 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } } } }, "aws-native:logs:getDeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "inputs": { "properties": { "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." } }, "required": [ @@ -269314,7 +271474,7 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -269322,20 +271482,20 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } } }, "aws-native:logs:getDeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "inputs": { "properties": { "name": { @@ -269351,7 +271511,7 @@ "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -269362,18 +271522,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } } @@ -274057,6 +276217,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -274072,6 +276235,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -274775,6 +276941,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -279887,13 +282059,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -280602,7 +282774,7 @@ "properties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." } }, "required": [ @@ -280978,6 +283150,10 @@ }, "outputs": { "properties": { + "appNetworkAccessType": { + "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." + }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", "description": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided." @@ -281009,10 +283185,21 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC subnets that Studio uses for communication." + }, "url": { "type": "string", "description": "The URL to the created domain." @@ -283669,6 +285856,9 @@ "region": { "type": "string" }, + "replayPolicy": { + "$ref": "pulumi.json#/Any" + }, "subscriptionRoleArn": { "type": "string" } diff --git a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt index 9cc84229cd..04394f3d99 100644 --- a/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/deprecated-types.txt @@ -1,7 +1,6 @@ AWS::Cognito::IdentityPool AWS::GameCast::Application AWS::GameCast::StreamGroup -AWS::Lambda::EventInvokeConfig AWS::SNS::TopicPolicy AWSQS::EKS::Cluster AWSQS::Kubernetes::Get diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 710ba0fef3..8af402b2d6 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -94,6 +94,8 @@ AWS::Batch::ComputeEnvironment AWS::Batch::JobQueue AWS::Batch::SchedulingPolicy AWS::Budgets::BudgetsAction +AWS::CE::AnomalyMonitor +AWS::CE::AnomalySubscription AWS::CE::CostCategory AWS::Cassandra::Keyspace AWS::Cassandra::Table @@ -193,6 +195,9 @@ AWS::CustomerProfiles::Domain AWS::CustomerProfiles::EventStream AWS::CustomerProfiles::Integration AWS::CustomerProfiles::ObjectType +AWS::DMS::DataProvider +AWS::DMS::InstanceProfile +AWS::DMS::MigrationProject AWS::DMS::ReplicationConfig AWS::DataBrew::Dataset AWS::DataBrew::Job @@ -251,6 +256,7 @@ AWS::EC2::IPAMPoolCidr AWS::EC2::IPAMResourceDiscovery AWS::EC2::IPAMResourceDiscoveryAssociation AWS::EC2::IPAMScope +AWS::EC2::Instance AWS::EC2::InstanceConnectEndpoint AWS::EC2::InternetGateway AWS::EC2::KeyPair @@ -272,6 +278,7 @@ AWS::EC2::PlacementGroup AWS::EC2::PrefixList AWS::EC2::Route AWS::EC2::RouteTable +AWS::EC2::SecurityGroupEgress AWS::EC2::SpotFleet AWS::EC2::Subnet AWS::EC2::SubnetCidrBlock @@ -348,6 +355,8 @@ AWS::ElasticLoadBalancingV2::TrustStoreRevocation AWS::EntityResolution::IdMappingWorkflow AWS::EntityResolution::MatchingWorkflow AWS::EntityResolution::SchemaMapping +AWS::EventSchemas::Discoverer +AWS::EventSchemas::Registry AWS::EventSchemas::RegistryPolicy AWS::Events::ApiDestination AWS::Events::Archive @@ -361,6 +370,7 @@ AWS::Evidently::Launch AWS::Evidently::Project AWS::Evidently::Segment AWS::FIS::ExperimentTemplate +AWS::FIS::TargetAccountConfiguration AWS::FMS::NotificationChannel AWS::FMS::Policy AWS::FMS::ResourceSet diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index 3d192c028d..185fbc510b 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -8224,6 +8224,192 @@ "tableName" ] }, + "aws-native:ce:AnomalyMonitor": { + "cf": "AWS::CE::AnomalyMonitor", + "inputs": { + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string" + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor." + } + }, + "outputs": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate", + "replaceOnChanges": true + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string", + "replaceOnChanges": true + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType", + "replaceOnChanges": true + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor.", + "replaceOnChanges": true + } + }, + "required": [ + "monitorName", + "monitorType" + ], + "createOnly": [ + "monitorDimension", + "monitorSpecification", + "monitorType", + "resourceTags" + ], + "writeOnly": [ + "resourceTags" + ] + }, + "aws-native:ce:AnomalySubscription": { + "cf": "AWS::CE::AnomalySubscription", + "inputs": { + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "outputs": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription.", + "replaceOnChanges": true + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "required": [ + "frequency", + "monitorArnList", + "subscribers", + "subscriptionName" + ], + "createOnly": [ + "resourceTags" + ], + "writeOnly": [ + "resourceTags" + ] + }, "aws-native:ce:CostCategory": { "cf": "AWS::CE::CostCategory", "inputs": { @@ -8635,6 +8821,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -8679,6 +8868,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -8723,6 +8916,7 @@ "createOnly": [ "creatorDisplayName", "creatorMemberAbilities", + "creatorPaymentConfiguration", "dataEncryptionMetadata", "members", "queryLogStatus" @@ -8904,6 +9098,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -8935,6 +9132,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -10311,6 +10511,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -10377,6 +10585,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -11378,6 +11594,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } }, "outputs": { @@ -11400,6 +11620,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "autoNamingSpec": { @@ -11409,7 +11634,8 @@ "computePlatform", "deploymentConfigName", "minimumHealthyHosts", - "trafficRoutingConfig" + "trafficRoutingConfig", + "zonalConfig" ] }, "aws-native:codeguruprofiler:ProfilingGroup": { @@ -13814,6 +14040,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "outputs": { @@ -13851,6 +14084,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "required": [ @@ -18464,6 +18704,372 @@ "password" ] }, + "aws-native:dms:DataProvider": { + "cf": "AWS::DMS::DataProvider", + "inputs": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "outputs": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "autoNamingSpec": { + "sdkName": "dataProviderName", + "minLength": 1, + "maxLength": 255 + }, + "required": [ + "engine" + ], + "writeOnly": [ + "dataProviderIdentifier", + "exactSettings" + ] + }, + "aws-native:dms:InstanceProfile": { + "cf": "AWS::DMS::InstanceProfile", + "inputs": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "outputs": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "autoNamingSpec": { + "sdkName": "instanceProfileName", + "minLength": 1, + "maxLength": 255 + }, + "writeOnly": [ + "instanceProfileIdentifier" + ] + }, + "aws-native:dms:MigrationProject": { + "cf": "AWS::DMS::MigrationProject", + "inputs": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "outputs": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "autoNamingSpec": { + "sdkName": "migrationProjectName", + "minLength": 1, + "maxLength": 255 + }, + "writeOnly": [ + "instanceProfileIdentifier", + "migrationProjectIdentifier", + "sourceDataProviderDescriptors/*/DataProviderIdentifier", + "targetDataProviderDescriptors/*/DataProviderIdentifier" + ] + }, "aws-native:dms:ReplicationConfig": { "cf": "AWS::DMS::ReplicationConfig", "inputs": { @@ -18536,7 +19142,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -18561,7 +19168,10 @@ "type": "string", "description": "The Amazon Resource Name (ARN) of the target endpoint for this AWS DMS Serverless replication configuration" } - } + }, + "createOnly": [ + "resourceIdentifier" + ] }, "aws-native:docdbelastic:Cluster": { "cf": "AWS::DocDBElastic::Cluster", @@ -20015,6 +20625,467 @@ "outpostArn" ] }, + "aws-native:ec2:Instance": { + "cf": "AWS::EC2::Instance", + "inputs": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance." + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance." + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair." + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance." + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "outputs": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance.", + "replaceOnChanges": true + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", + "replaceOnChanges": true + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance.", + "replaceOnChanges": true + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance.", + "replaceOnChanges": true + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "replaceOnChanges": true + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", + "replaceOnChanges": true + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "replaceOnChanges": true + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "replaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "replaceOnChanges": true + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "replaceOnChanges": true + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair.", + "replaceOnChanges": true + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", + "replaceOnChanges": true + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations.", + "replaceOnChanges": true + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance.", + "replaceOnChanges": true + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "replaceOnChanges": true + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "replaceOnChanges": true + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "replaceOnChanges": true + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "createOnly": [ + "availabilityZone", + "cpuOptions", + "elasticGpuSpecifications", + "elasticInferenceAccelerators", + "enclaveOptions", + "hibernationOptions", + "hostResourceGroupArn", + "imageId", + "ipv6AddressCount", + "ipv6Addresses", + "keyName", + "launchTemplate", + "licenseSpecifications", + "networkInterfaces", + "placementGroupName", + "privateIpAddress", + "securityGroups", + "subnetId" + ], + "writeOnly": [ + "additionalInfo", + "blockDeviceMapping/NoDevice", + "blockDeviceMapping/VirtualName", + "ipv6AddressCount", + "ipv6Addresses", + "licenseSpecification", + "propagateTagsToVolumeOnCreation", + "volumes" + ] + }, "aws-native:ec2:InstanceConnectEndpoint": { "cf": "AWS::EC2::InstanceConnectEndpoint", "inputs": { @@ -22180,6 +23251,107 @@ "vpcId" ] }, + "aws-native:ec2:SecurityGroupEgress": { + "cf": "AWS::EC2::SecurityGroupEgress", + "inputs": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges" + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges" + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." + } + }, + "outputs": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges", + "replaceOnChanges": true + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", + "replaceOnChanges": true + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", + "replaceOnChanges": true + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "replaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "replaceOnChanges": true + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + } + }, + "required": [ + "groupId", + "ipProtocol" + ], + "createOnly": [ + "cidrIp", + "cidrIpv6", + "destinationPrefixListId", + "destinationSecurityGroupId", + "fromPort", + "groupId", + "ipProtocol", + "toPort" + ] + }, "aws-native:ec2:SpotFleet": { "cf": "AWS::EC2::SpotFleet", "inputs": { @@ -26464,6 +27636,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -26480,6 +27655,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -27896,10 +29074,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -27930,6 +29120,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -27961,11 +29155,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -28001,6 +29210,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -28037,8 +29251,12 @@ ], "createOnly": [ "authMode", + "encryptionKeyArn", "engineSecurityGroupId", + "idcInstanceArn", + "idcUserAssignment", "serviceRole", + "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId" @@ -29000,6 +30218,118 @@ "name" ] }, + "aws-native:eventschemas:Discoverer": { + "cf": "AWS::EventSchemas::Discoverer", + "inputs": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "outputs": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus.", + "replaceOnChanges": true + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "required": [ + "sourceArn" + ], + "createOnly": [ + "sourceArn" + ] + }, + "aws-native:eventschemas:Registry": { + "cf": "AWS::EventSchemas::Registry", + "inputs": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "outputs": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "autoNamingSpec": { + "sdkName": "registryName" + }, + "createOnly": [ + "registryName" + ] + }, "aws-native:eventschemas:RegistryPolicy": { "cf": "AWS::EventSchemas::RegistryPolicy", "inputs": { @@ -29591,6 +30921,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29617,6 +30950,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -29645,9 +30981,52 @@ "targets" ], "createOnly": [ + "experimentOptions/properties/AccountTargeting", "tags" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "cf": "AWS::FIS::TargetAccountConfiguration", + "inputs": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "outputs": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "createOnly": [ + "accountId", + "experimentTemplateId" + ] + }, "aws-native:fms:NotificationChannel": { "cf": "AWS::FMS::NotificationChannel", "inputs": { @@ -41078,16 +42457,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "outputs": { @@ -41096,16 +42479,20 @@ }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -41428,10 +42815,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -41550,10 +42933,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -41616,7 +42995,6 @@ "code/S3Key", "code/S3ObjectVersion", "code/ZipFile", - "policy", "snapStart", "snapStart/ApplyOn" ] @@ -43986,41 +45364,41 @@ "inputs": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "outputs": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -44028,7 +45406,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "required": [ @@ -44049,24 +45427,24 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "outputs": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -44074,16 +45452,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -44091,7 +45469,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "autoNamingSpec": { @@ -44124,13 +45502,13 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "outputs": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -44150,18 +45528,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "autoNamingSpec": { @@ -51766,6 +53144,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51820,6 +53201,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -51836,6 +53220,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -51877,7 +53264,9 @@ "advancedSecurityOptions/SamlOptions/MasterUserName" ], "irreversibleNames": { + "domainEndpointV2": "DomainEndpointV2", "ebsOptions": "EBSOptions", + "ipAddressType": "IPAddressType", "vpcOptions": "VPCOptions" } }, @@ -52401,6 +53790,12 @@ "aws-native:osis:Pipeline": { "cf": "AWS::OSIS::Pipeline", "inputs": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -52432,6 +53827,12 @@ } }, "outputs": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -61999,11 +63400,11 @@ "inputs": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -62017,12 +63418,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -62822,8 +64223,7 @@ "outputs": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -62871,6 +64271,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -62880,8 +64284,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -62912,12 +64315,10 @@ "vpcId" ], "createOnly": [ - "appNetworkAccessType", "authMode", "domainName", "domainSettings/RStudioServerProDomainSettings/DefaultResourceSpec", "kmsKeyId", - "subnetIds", "tags", "vpcId" ], @@ -71517,7 +72918,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } } }, @@ -78305,6 +79706,61 @@ } } }, + "aws-native:ce:AnomalyMonitorMonitorDimension": { + "type": "string" + }, + "aws-native:ce:AnomalyMonitorMonitorType": { + "type": "string" + }, + "aws-native:ce:AnomalyMonitorResourceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + } + }, + "aws-native:ce:AnomalySubscriptionFrequency": { + "type": "string" + }, + "aws-native:ce:AnomalySubscriptionResourceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + } + }, + "aws-native:ce:AnomalySubscriptionSubscriber": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberStatus" + }, + "type": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberType" + } + } + }, + "aws-native:ce:AnomalySubscriptionSubscriberStatus": { + "type": "string" + }, + "aws-native:ce:AnomalySubscriptionSubscriberType": { + "type": "string" + }, "aws-native:ce:CostCategoryRuleVersion": { "type": "string" }, @@ -78404,6 +79860,25 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + } + } + }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "type": "object", + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + } + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "type": "object", + "properties": { + "isResponsible": { + "type": "boolean" } } }, @@ -78651,6 +80126,14 @@ } } }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "type": "object", + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + } + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "type": "object", "properties": { @@ -78687,6 +80170,14 @@ } } }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "type": "object", + "properties": { + "isResponsible": { + "type": "boolean" + } + } + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string" }, @@ -80660,6 +82151,17 @@ } } }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + } + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "type": "object", "properties": { @@ -80696,6 +82198,20 @@ } } }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "type": "object", + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + } + }, "aws-native:codeguruprofiler:AgentPermissionsProperties": { "type": "object", "properties": { @@ -82231,6 +83747,19 @@ "aws-native:connect:InstanceStorageConfigStorageType": { "type": "string" }, + "aws-native:connect:InstanceTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "type": "string" }, @@ -85795,6 +87324,74 @@ } } }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string" + }, + "aws-native:dms:DataProviderEngine": { + "type": "string" + }, + "aws-native:dms:DataProviderTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, + "aws-native:dms:InstanceProfileNetworkType": { + "type": "string" + }, + "aws-native:dms:InstanceProfileTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + } + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "type": "object", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + } + }, + "aws-native:dms:MigrationProjectTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + } + }, "aws-native:dms:ReplicationConfigComputeConfig": { "type": "object", "properties": { @@ -85849,6 +87446,145 @@ } } }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "type": "object", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "irreversibleNames": { + "s3BucketPath": "S3BucketPath", + "s3BucketRoleArn": "S3BucketRoleArn" + } + }, + "aws-native:dms:Settings0Properties": { + "type": "object", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + } + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings1Properties": { + "type": "object", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + } + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings2Properties": { + "type": "object", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + } + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "type": "object", + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, + "aws-native:dms:Settings3Properties": { + "type": "object", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + } + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "type": "object", + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + } + }, "aws-native:docdbelastic:ClusterTag": { "type": "object", "properties": { @@ -86438,6 +88174,28 @@ } } }, + "aws-native:ec2:CpuOptionsProperties": { + "type": "object", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + } + }, + "aws-native:ec2:CreditSpecificationProperties": { + "type": "object", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "irreversibleNames": { + "cpuCredits": "CPUCredits" + } + }, "aws-native:ec2:CustomerGatewayTag": { "type": "object", "properties": { @@ -86949,6 +88707,15 @@ } } }, + "aws-native:ec2:EnclaveOptionsProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + } + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string" }, @@ -86972,6 +88739,53 @@ "aws-native:ec2:FlowLogTrafficType": { "type": "string" }, + "aws-native:ec2:HibernationOptionsProperties": { + "type": "object", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + } + }, + "aws-native:ec2:InstanceAffinity": { + "type": "string" + }, + "aws-native:ec2:InstanceAssociationParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of an input parameter." + } + } + }, + "aws-native:ec2:InstanceBlockDeviceMapping": { + "type": "object", + "properties": { + "deviceName": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "ebs": { + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." + }, + "noDevice": { + "$ref": "pulumi.json#/Any" + }, + "virtualName": { + "type": "string" + } + } + }, "aws-native:ec2:InstanceConnectEndpointTag": { "type": "object", "properties": { @@ -86983,6 +88797,238 @@ } } }, + "aws-native:ec2:InstanceEbs": { + "type": "object", + "properties": { + "deleteOnTermination": { + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." + }, + "encrypted": { + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." + }, + "kmsKeyId": { + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot." + }, + "volumeSize": { + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." + }, + "volumeType": { + "type": "string", + "description": "The volume type." + } + } + }, + "aws-native:ec2:InstanceElasticGpuSpecification": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of Elastic Graphics accelerator." + } + } + }, + "aws-native:ec2:InstanceElasticInferenceAccelerator": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." + }, + "type": { + "type": "string", + "description": "The type of elastic inference accelerator." + } + } + }, + "aws-native:ec2:InstanceIpv6Address": { + "type": "object", + "properties": { + "ipv6Address": { + "type": "string", + "description": "The IPv6 address." + } + } + }, + "aws-native:ec2:InstanceLaunchTemplateSpecification": { + "type": "object", + "properties": { + "launchTemplateId": { + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "launchTemplateName": { + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "version": { + "type": "string", + "description": "The version number of the launch template." + } + } + }, + "aws-native:ec2:InstanceLicenseSpecification": { + "type": "object", + "properties": { + "licenseConfigurationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." + } + } + }, + "aws-native:ec2:InstanceNetworkInterface": { + "type": "object", + "properties": { + "associateCarrierIpAddress": { + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." + }, + "associatePublicIpAddress": { + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." + }, + "deleteOnTermination": { + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." + }, + "description": { + "type": "string", + "description": "The description of the network interface." + }, + "deviceIndex": { + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." + }, + "groupSet": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups for the network interface." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "The IPv6 addresses associated with the network interface." + }, + "networkInterfaceId": { + "type": "string", + "description": "The ID of the network interface." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 address of the network interface." + }, + "privateIpAddresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" + }, + "description": "One or more private IPv4 addresses to assign to the network interface." + }, + "secondaryPrivateIpAddressCount": { + "type": "integer", + "description": "The number of secondary private IPv4 addresses." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet." + } + } + }, + "aws-native:ec2:InstancePrivateDnsNameOptions": { + "type": "object", + "properties": { + "enableResourceNameDnsARecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "enableResourceNameDnsAaaaRecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "hostnameType": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + } + }, + "irreversibleNames": { + "enableResourceNameDnsAaaaRecord": "EnableResourceNameDnsAAAARecord" + } + }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "type": "string" + }, + "aws-native:ec2:InstancePrivateIpAddressSpecification": { + "type": "object", + "properties": { + "primary": { + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 addresses." + } + } + }, + "aws-native:ec2:InstanceSsmAssociation": { + "type": "object", + "properties": { + "associationParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" + }, + "description": "The input parameter values to use with the associated SSM document." + }, + "documentName": { + "type": "string", + "description": "The name of an SSM document to associate with the instance." + } + } + }, + "aws-native:ec2:InstanceTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:ec2:InstanceVolume": { + "type": "object", + "properties": { + "device": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "volumeId": { + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." + } + } + }, "aws-native:ec2:InternetGatewayTag": { "type": "object", "properties": { @@ -89921,6 +91967,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "type": "object", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -90160,6 +92210,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -90168,6 +92221,9 @@ } } }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string" + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string" }, @@ -92782,6 +94838,9 @@ "aws-native:emr:StudioAuthMode": { "type": "string" }, + "aws-native:emr:StudioIdcUserAssignment": { + "type": "string" + }, "aws-native:emr:StudioSessionMappingIdentityType": { "type": "string" }, @@ -93857,6 +95916,28 @@ } } }, + "aws-native:eventschemas:DiscovererTagsEntry": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "aws-native:eventschemas:RegistryTagsEntry": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:evidently:ExperimentMetricGoalObject": { "type": "object", "properties": { @@ -94278,6 +96359,25 @@ "aws-native:fis:ExperimentTemplateActionMap": { "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "type": "object", + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + } + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "type": "string" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "type": "string" + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "type": "object", "properties": { @@ -105926,7 +108026,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -105934,7 +108035,8 @@ "type": "object", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } } }, @@ -113954,6 +116056,24 @@ } } }, + "aws-native:osis:PipelineBufferOptions": { + "type": "object", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + } + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "type": "object", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + } + }, "aws-native:osis:PipelineLogPublishingOptions": { "type": "object", "properties": { @@ -145255,6 +147375,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } } }, @@ -145816,6 +147939,9 @@ } } }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "type": "object" + }, "aws-native:s3:BucketTiering": { "type": "object", "properties": { @@ -147101,6 +149227,42 @@ "aws-native:sagemaker:DomainAuthMode": { "type": "string" }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "type": "object", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + } + }, + "aws-native:sagemaker:DomainCodeRepository": { + "type": "object", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + } + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "type": "object", + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "irreversibleNames": { + "efsFileSystemConfig": "EFSFileSystemConfig" + } + }, "aws-native:sagemaker:DomainCustomImage": { "type": "object", "properties": { @@ -147118,6 +149280,30 @@ } } }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "type": "object", + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + } + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "type": "object", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + } + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "type": "object", "properties": { @@ -147142,6 +149328,55 @@ } } }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "type": "object", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + } + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "type": "object", + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + } + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "type": "object", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + } + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "type": "object", "properties": { @@ -147298,10 +149533,29 @@ "aws-native:sagemaker:DomainUserSettings": { "type": "object", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -147326,9 +149580,19 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } } }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "type": "string" + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "type": "object", "properties": { @@ -147379,6 +149643,9 @@ "s3Uri": "S3Uri" } }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string" + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "type": "string" }, @@ -150403,6 +152670,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } } }, @@ -150613,6 +152883,42 @@ } } }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "type": "object", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + } + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "type": "object", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + } + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "type": "object", + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "irreversibleNames": { + "efsFileSystemConfig": "EFSFileSystemConfig" + } + }, "aws-native:sagemaker:UserProfileCustomImage": { "type": "object", "properties": { @@ -150630,6 +152936,79 @@ } } }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "type": "object", + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + } + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "type": "object", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + } + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "type": "object", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + } + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "type": "object", + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + } + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "type": "object", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + } + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "type": "object", "properties": { @@ -150733,10 +153112,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "type": "object", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -150758,9 +153156,19 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } } }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "type": "string" + }, "aws-native:scheduler:ScheduleAssignPublicIp": { "type": "string" }, @@ -157649,6 +160057,18 @@ "tableName" ] }, + "aws-native:ce:getAnomalyMonitor": { + "cf": "AWS::CE::AnomalyMonitor", + "ids": [ + "monitorArn" + ] + }, + "aws-native:ce:getAnomalySubscription": { + "cf": "AWS::CE::AnomalySubscription", + "ids": [ + "subscriptionArn" + ] + }, "aws-native:ce:getCostCategory": { "cf": "AWS::CE::CostCategory", "ids": [ @@ -158425,6 +160845,24 @@ "directoryId" ] }, + "aws-native:dms:getDataProvider": { + "cf": "AWS::DMS::DataProvider", + "ids": [ + "dataProviderArn" + ] + }, + "aws-native:dms:getInstanceProfile": { + "cf": "AWS::DMS::InstanceProfile", + "ids": [ + "instanceProfileArn" + ] + }, + "aws-native:dms:getMigrationProject": { + "cf": "AWS::DMS::MigrationProject", + "ids": [ + "migrationProjectArn" + ] + }, "aws-native:dms:getReplicationConfig": { "cf": "AWS::DMS::ReplicationConfig", "ids": [ @@ -158529,6 +160967,12 @@ "hostId" ] }, + "aws-native:ec2:getInstance": { + "cf": "AWS::EC2::Instance", + "ids": [ + "instanceId" + ] + }, "aws-native:ec2:getInstanceConnectEndpoint": { "cf": "AWS::EC2::InstanceConnectEndpoint", "ids": [ @@ -158696,6 +161140,12 @@ "routeTableId" ] }, + "aws-native:ec2:getSecurityGroupEgress": { + "cf": "AWS::EC2::SecurityGroupEgress", + "ids": [ + "id" + ] + }, "aws-native:ec2:getSpotFleet": { "cf": "AWS::EC2::SpotFleet", "ids": [ @@ -159178,6 +161628,18 @@ "arn" ] }, + "aws-native:eventschemas:getDiscoverer": { + "cf": "AWS::EventSchemas::Discoverer", + "ids": [ + "discovererArn" + ] + }, + "aws-native:eventschemas:getRegistry": { + "cf": "AWS::EventSchemas::Registry", + "ids": [ + "registryArn" + ] + }, "aws-native:eventschemas:getRegistryPolicy": { "cf": "AWS::EventSchemas::RegistryPolicy", "ids": [ @@ -159226,6 +161688,13 @@ "id" ] }, + "aws-native:fis:getTargetAccountConfiguration": { + "cf": "AWS::FIS::TargetAccountConfiguration", + "ids": [ + "experimentTemplateId", + "accountId" + ] + }, "aws-native:fms:getNotificationChannel": { "cf": "AWS::FMS::NotificationChannel", "ids": [ @@ -160116,7 +162585,8 @@ "aws-native:lambda:getEventInvokeConfig": { "cf": "AWS::Lambda::EventInvokeConfig", "ids": [ - "id" + "functionName", + "qualifier" ] }, "aws-native:lambda:getEventSourceMapping": { @@ -161445,7 +163915,7 @@ "aws-native:route53resolver:getResolverConfig": { "cf": "AWS::Route53Resolver::ResolverConfig", "ids": [ - "id" + "resourceId" ] }, "aws-native:route53resolver:getResolverDnssecConfig": { diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 1aed49d8ec..eb1c6def00 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -448,7 +448,7 @@ "properties": { "unusedAccessAge": { "type": "integer", - "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that haven't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." + "description": "The specified access age in days for which to generate findings for unused access. For example, if you specify 90 days, the analyzer will generate findings for IAM entities within the accounts of the selected organization for any access that hasn't been used in 90 or more days since the analyzer's last scan. You can choose a value between 1 and 180 days." } }, "type": "object" @@ -8766,7 +8766,11 @@ "$ref": "#/types/aws-native:autoscaling:AutoScalingGroupVCpuCountRequest" } }, - "type": "object" + "type": "object", + "required": [ + "memoryMiB", + "vCpuCount" + ] }, "aws-native:autoscaling:AutoScalingGroupInstancesDistribution": { "properties": { @@ -10536,6 +10540,127 @@ "value" ] }, + "aws-native:ce:AnomalyMonitorMonitorDimension": { + "description": "The dimensions to evaluate", + "type": "string", + "enum": [ + { + "name": "Service", + "value": "SERVICE" + } + ] + }, + "aws-native:ce:AnomalyMonitorMonitorType": { + "type": "string", + "enum": [ + { + "name": "Dimensional", + "value": "DIMENSIONAL" + }, + { + "name": "Custom", + "value": "CUSTOM" + } + ] + }, + "aws-native:ce:AnomalyMonitorResourceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ce:AnomalySubscriptionFrequency": { + "description": "The frequency at which anomaly reports are sent over email. ", + "type": "string", + "enum": [ + { + "name": "Daily", + "value": "DAILY" + }, + { + "name": "Immediate", + "value": "IMMEDIATE" + }, + { + "name": "Weekly", + "value": "WEEKLY" + } + ] + }, + "aws-native:ce:AnomalySubscriptionResourceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name for the tag." + }, + "value": { + "type": "string", + "description": "The value for the tag." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriber": { + "properties": { + "address": { + "type": "string" + }, + "status": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberStatus" + }, + "type": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriberType" + } + }, + "type": "object", + "required": [ + "address", + "type" + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriberStatus": { + "type": "string", + "enum": [ + { + "name": "Confirmed", + "value": "CONFIRMED" + }, + { + "name": "Declined", + "value": "DECLINED" + } + ] + }, + "aws-native:ce:AnomalySubscriptionSubscriberType": { + "type": "string", + "enum": [ + { + "name": "Email", + "value": "EMAIL" + }, + { + "name": "Sns", + "value": "SNS" + } + ] + }, "aws-native:ce:CostCategoryRuleVersion": { "type": "string", "enum": [ @@ -10738,6 +10863,9 @@ "items": { "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } + }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" } }, "type": "object", @@ -10747,6 +10875,28 @@ "memberAbilities" ] }, + "aws-native:cleanrooms:CollaborationPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, + "aws-native:cleanrooms:CollaborationQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:CollaborationQueryLogStatus": { "type": "string", "enum": [ @@ -11174,6 +11324,17 @@ "value" ] }, + "aws-native:cleanrooms:MembershipPaymentConfiguration": { + "properties": { + "queryCompute": { + "$ref": "#/types/aws-native:cleanrooms:MembershipQueryComputePaymentConfig" + } + }, + "type": "object", + "required": [ + "queryCompute" + ] + }, "aws-native:cleanrooms:MembershipProtectedQueryOutputConfiguration": { "properties": { "s3": { @@ -11217,6 +11378,17 @@ "resultFormat" ] }, + "aws-native:cleanrooms:MembershipQueryComputePaymentConfig": { + "properties": { + "isResponsible": { + "type": "boolean" + } + }, + "type": "object", + "required": [ + "isResponsible" + ] + }, "aws-native:cleanrooms:MembershipQueryLogStatus": { "type": "string", "enum": [ @@ -13851,6 +14023,21 @@ "value" ] }, + "aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, "aws-native:codedeploy:DeploymentConfigTimeBasedCanary": { "properties": { "canaryInterval": { @@ -13898,6 +14085,20 @@ "type" ] }, + "aws-native:codedeploy:DeploymentConfigZonalConfig": { + "properties": { + "firstZoneMonitorDurationInSeconds": { + "type": "integer" + }, + "minimumHealthyHostsPerZone": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigMinimumHealthyHostsPerZone" + }, + "monitorDurationInSeconds": { + "type": "integer" + } + }, + "type": "object" + }, "aws-native:codeguruprofiler:AgentPermissionsProperties": { "description": "The agent permissions attached to this profiling group.", "properties": { @@ -17647,6 +17848,7 @@ }, "type": "object", "required": [ + "encryptionConfig", "prefix", "retentionPeriodHours" ] @@ -17691,6 +17893,24 @@ } ] }, + "aws-native:connect:InstanceTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:connect:IntegrationAssociationIntegrationType": { "description": "Specifies the integration type to be associated with the instance", "type": "string", @@ -17702,6 +17922,10 @@ { "name": "LambdaFunction", "value": "LAMBDA_FUNCTION" + }, + { + "name": "Application", + "value": "APPLICATION" } ] }, @@ -23803,6 +24027,150 @@ "vpcId" ] }, + "aws-native:dms:DataProviderDmsSslModeValue": { + "type": "string", + "enum": [ + { + "name": "None", + "value": "none" + }, + { + "name": "Require", + "value": "require" + }, + { + "name": "VerifyCa", + "value": "verify_ca" + }, + { + "name": "VerifyFull", + "value": "verify_full" + } + ] + }, + "aws-native:dms:DataProviderEngine": { + "description": "The property describes a data engine for the data provider.", + "type": "string", + "enum": [ + { + "name": "Postgresql", + "value": "postgresql" + }, + { + "name": "Mysql", + "value": "mysql" + }, + { + "name": "Oracle", + "value": "oracle" + }, + { + "name": "Sqlserver", + "value": "sqlserver" + }, + { + "name": "Aurora", + "value": "aurora" + }, + { + "name": "AuroraPostgresql", + "value": "aurora_postgresql" + } + ] + }, + "aws-native:dms:DataProviderTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:InstanceProfileNetworkType": { + "description": "The property describes a network type for the instance profile.", + "type": "string", + "enum": [ + { + "name": "Ipv4", + "value": "IPV4" + }, + { + "name": "Ipv6", + "value": "IPV6" + }, + { + "name": "Dual", + "value": "DUAL" + } + ] + }, + "aws-native:dms:InstanceProfileTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:dms:MigrationProjectDataProviderDescriptor": { + "description": "It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject", + "properties": { + "dataProviderArn": { + "type": "string" + }, + "dataProviderIdentifier": { + "type": "string" + }, + "dataProviderName": { + "type": "string" + }, + "secretsManagerAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecretId": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:MigrationProjectTag": { + "description": "A key-value pair to associate with a resource.", + "properties": { + "key": { + "type": "string", + "description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + }, + "value": { + "type": "string", + "description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, , and -." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:dms:ReplicationConfigComputeConfig": { "description": "Configuration parameters for provisioning a AWS DMS Serverless replication", "properties": { @@ -23878,6 +24246,146 @@ "value" ] }, + "aws-native:dms:SchemaConversionApplicationAttributesProperties": { + "description": "The property describes schema conversion application attributes for the migration project.", + "properties": { + "s3BucketPath": { + "type": "string" + }, + "s3BucketRoleArn": { + "type": "string" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0Properties": { + "description": "PostgreSqlSettings property identifier.", + "properties": { + "postgreSqlSettings": { + "$ref": "#/types/aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings0PropertiesPostgreSqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1Properties": { + "description": "MySqlSettings property identifier.", + "properties": { + "mySqlSettings": { + "$ref": "#/types/aws-native:dms:Settings1PropertiesMySqlSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings1PropertiesMySqlSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2Properties": { + "description": "OracleSettings property identifier.", + "properties": { + "oracleSettings": { + "$ref": "#/types/aws-native:dms:Settings2PropertiesOracleSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings2PropertiesOracleSettingsProperties": { + "properties": { + "asmServer": { + "type": "string" + }, + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "secretsManagerOracleAsmAccessRoleArn": { + "type": "string" + }, + "secretsManagerOracleAsmSecretId": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionAccessRoleArn": { + "type": "string" + }, + "secretsManagerSecurityDbEncryptionSecretId": { + "type": "string" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3Properties": { + "description": "MicrosoftSqlServerSettings property identifier.", + "properties": { + "microsoftSqlServerSettings": { + "$ref": "#/types/aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties" + } + }, + "type": "object" + }, + "aws-native:dms:Settings3PropertiesMicrosoftSqlServerSettingsProperties": { + "properties": { + "certificateArn": { + "type": "string" + }, + "databaseName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "serverName": { + "type": "string" + }, + "sslMode": { + "$ref": "#/types/aws-native:dms:DataProviderDmsSslModeValue" + } + }, + "type": "object" + }, "aws-native:docdbelastic:ClusterTag": { "properties": { "key": { @@ -24570,6 +25078,27 @@ }, "type": "object" }, + "aws-native:ec2:CpuOptionsProperties": { + "description": "The CPU options for the instance.", + "properties": { + "coreCount": { + "type": "integer" + }, + "threadsPerCore": { + "type": "integer" + } + }, + "type": "object" + }, + "aws-native:ec2:CreditSpecificationProperties": { + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited.", + "properties": { + "cpuCredits": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:CustomerGatewayTag": { "properties": { "key": { @@ -25557,6 +26086,16 @@ "value" ] }, + "aws-native:ec2:EnclaveOptionsProperties": { + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "properties": { + "enabled": { + "type": "boolean", + "description": "If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves." + } + }, + "type": "object" + }, "aws-native:ec2:FlowLogDestinationOptionsPropertiesFileFormat": { "type": "string", "enum": [ @@ -25647,6 +26186,72 @@ } ] }, + "aws-native:ec2:HibernationOptionsProperties": { + "description": "Indicates whether an instance is enabled for hibernation.", + "properties": { + "configured": { + "type": "boolean", + "description": "If you set this parameter to true, your instance is enabled for hibernation." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceAffinity": { + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default.", + "type": "string", + "enum": [ + { + "name": "Default", + "value": "default" + }, + { + "name": "Host", + "value": "host" + } + ] + }, + "aws-native:ec2:InstanceAssociationParameter": { + "properties": { + "key": { + "type": "string", + "description": "The name of an input parameter that is in the associated SSM document." + }, + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of an input parameter." + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ec2:InstanceBlockDeviceMapping": { + "properties": { + "deviceName": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "ebs": { + "$ref": "#/types/aws-native:ec2:InstanceEbs", + "description": "Parameters used to automatically set up EBS volumes when the instance is launched." + }, + "noDevice": { + "$ref": "pulumi.json#/Any" + }, + "virtualName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "deviceName" + ] + }, "aws-native:ec2:InstanceConnectEndpointTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -25663,6 +26268,276 @@ "value" ] }, + "aws-native:ec2:InstanceEbs": { + "properties": { + "deleteOnTermination": { + "type": "boolean", + "description": "Indicates whether the EBS volume is deleted on instance termination." + }, + "encrypted": { + "type": "boolean", + "description": "Indicates whether the volume should be encrypted." + }, + "iops": { + "type": "integer", + "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting." + }, + "kmsKeyId": { + "type": "string", + "description": "The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used." + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot." + }, + "volumeSize": { + "type": "integer", + "description": "The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size." + }, + "volumeType": { + "type": "string", + "description": "The volume type." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceElasticGpuSpecification": { + "properties": { + "type": { + "type": "string", + "description": "The type of Elastic Graphics accelerator." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:ec2:InstanceElasticInferenceAccelerator": { + "properties": { + "count": { + "type": "integer", + "description": "The number of elastic inference accelerators to attach to the instance." + }, + "type": { + "type": "string", + "description": "The type of elastic inference accelerator." + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws-native:ec2:InstanceIpv6Address": { + "properties": { + "ipv6Address": { + "type": "string", + "description": "The IPv6 address." + } + }, + "type": "object", + "required": [ + "ipv6Address" + ] + }, + "aws-native:ec2:InstanceLaunchTemplateSpecification": { + "properties": { + "launchTemplateId": { + "type": "string", + "description": "The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "launchTemplateName": { + "type": "string", + "description": "The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both." + }, + "version": { + "type": "string", + "description": "The version number of the launch template." + } + }, + "type": "object" + }, + "aws-native:ec2:InstanceLicenseSpecification": { + "properties": { + "licenseConfigurationArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the license configuration." + } + }, + "type": "object", + "required": [ + "licenseConfigurationArn" + ] + }, + "aws-native:ec2:InstanceNetworkInterface": { + "properties": { + "associateCarrierIpAddress": { + "type": "boolean", + "description": "Not currently supported by AWS CloudFormation." + }, + "associatePublicIpAddress": { + "type": "boolean", + "description": "Indicates whether to assign a public IPv4 address to an instance you launch in a VPC." + }, + "deleteOnTermination": { + "type": "boolean", + "description": "If set to true, the interface is deleted when the instance is terminated." + }, + "description": { + "type": "string", + "description": "The description of the network interface." + }, + "deviceIndex": { + "type": "string", + "description": "The position of the network interface in the attachment order. A primary network interface has a device index of 0." + }, + "groupSet": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups for the network interface." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "A number of IPv6 addresses to assign to the network interface." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "The IPv6 addresses associated with the network interface." + }, + "networkInterfaceId": { + "type": "string", + "description": "The ID of the network interface." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 address of the network interface." + }, + "privateIpAddresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstancePrivateIpAddressSpecification" + }, + "description": "One or more private IPv4 addresses to assign to the network interface." + }, + "secondaryPrivateIpAddressCount": { + "type": "integer", + "description": "The number of secondary private IPv4 addresses." + }, + "subnetId": { + "type": "string", + "description": "The ID of the subnet." + } + }, + "type": "object", + "required": [ + "deviceIndex" + ] + }, + "aws-native:ec2:InstancePrivateDnsNameOptions": { + "properties": { + "enableResourceNameDnsARecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "enableResourceNameDnsAaaaRecord": { + "type": "boolean", + "description": "Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + }, + "hostnameType": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType", + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide." + } + }, + "type": "object" + }, + "aws-native:ec2:InstancePrivateDnsNameOptionsHostnameType": { + "description": "The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.", + "type": "string", + "enum": [ + { + "name": "IpName", + "value": "ip-name" + }, + { + "name": "ResourceName", + "value": "resource-name" + } + ] + }, + "aws-native:ec2:InstancePrivateIpAddressSpecification": { + "properties": { + "primary": { + "type": "boolean", + "description": "Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary." + }, + "privateIpAddress": { + "type": "string", + "description": "The private IPv4 addresses." + } + }, + "type": "object", + "required": [ + "primary", + "privateIpAddress" + ] + }, + "aws-native:ec2:InstanceSsmAssociation": { + "properties": { + "associationParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceAssociationParameter" + }, + "description": "The input parameter values to use with the associated SSM document." + }, + "documentName": { + "type": "string", + "description": "The name of an SSM document to associate with the instance." + } + }, + "type": "object", + "required": [ + "documentName" + ] + }, + "aws-native:ec2:InstanceTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:ec2:InstanceVolume": { + "properties": { + "device": { + "type": "string", + "description": "The device name (for example, /dev/sdh or xvdh)." + }, + "volumeId": { + "type": "string", + "description": "The ID of the EBS volume. The volume and instance must be within the same Availability Zone." + } + }, + "type": "object", + "required": [ + "device", + "volumeId" + ] + }, "aws-native:ec2:InternetGatewayTag": { "properties": { "key": { @@ -29473,6 +30348,10 @@ "aws-native:ec2:VerifiedAccessTrustProviderDeviceOptions": { "description": "The options for device identity based trust providers.", "properties": { + "publicSigningKeyUrl": { + "type": "string", + "description": "URL Verified Access will use to verify authenticity of the device tokens." + }, "tenantId": { "type": "string", "description": "The ID of the tenant application with the device-identity provider." @@ -29811,6 +30690,9 @@ "type": "string", "replaceOnChanges": true }, + "managedDraining": { + "$ref": "#/types/aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining" + }, "managedScaling": { "$ref": "#/types/aws-native:ecs:CapacityProviderManagedScaling" }, @@ -29823,6 +30705,19 @@ "autoScalingGroupArn" ] }, + "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedDraining": { + "type": "string", + "enum": [ + { + "name": "Disabled", + "value": "DISABLED" + }, + { + "name": "Enabled", + "value": "ENABLED" + } + ] + }, "aws-native:ecs:CapacityProviderAutoScalingGroupProviderManagedTerminationProtection": { "type": "string", "enum": [ @@ -32987,6 +33882,20 @@ } ] }, + "aws-native:emr:StudioIdcUserAssignment": { + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "type": "string", + "enum": [ + { + "name": "Required", + "value": "REQUIRED" + }, + { + "name": "Optional", + "value": "OPTIONAL" + } + ] + }, "aws-native:emr:StudioSessionMappingIdentityType": { "description": "Specifies whether the identity to map to the Studio is a user or a group.", "type": "string", @@ -34472,6 +35381,36 @@ "id" ] }, + "aws-native:eventschemas:DiscovererTagsEntry": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, + "aws-native:eventschemas:RegistryTagsEntry": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:evidently:ExperimentMetricGoalObject": { "properties": { "desiredChange": { @@ -35041,6 +35980,47 @@ "description": "The actions for the experiment.", "type": "object" }, + "aws-native:fis:ExperimentTemplateExperimentOptions": { + "properties": { + "accountTargeting": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting", + "description": "The account targeting setting for the experiment template." + }, + "emptyTargetResolutionMode": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode", + "description": "The target resolution failure mode for the experiment template." + } + }, + "type": "object" + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsAccountTargeting": { + "description": "The account targeting setting for the experiment template.", + "type": "string", + "enum": [ + { + "name": "MultiAccount", + "value": "multi-account" + }, + { + "name": "SingleAccount", + "value": "single-account" + } + ] + }, + "aws-native:fis:ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode": { + "description": "The target resolution failure mode for the experiment template.", + "type": "string", + "enum": [ + { + "name": "Fail", + "value": "fail" + }, + { + "name": "Skip", + "value": "skip" + } + ] + }, "aws-native:fis:ExperimentTemplateLogConfiguration": { "properties": { "cloudWatchLogsConfiguration": { @@ -53830,6 +54810,7 @@ ] }, "aws-native:lambda:EventInvokeConfigDestinationConfig": { + "description": "A destination for events after they have been sent to a function for processing.", "properties": { "onFailure": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigOnFailure" @@ -53841,9 +54822,11 @@ "type": "object" }, "aws-native:lambda:EventInvokeConfigOnFailure": { + "description": "The destination configuration for failed invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -53852,9 +54835,11 @@ ] }, "aws-native:lambda:EventInvokeConfigOnSuccess": { + "description": "The destination configuration for successful invocations.", "properties": { "destination": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the destination resource." } }, "type": "object", @@ -65946,6 +66931,32 @@ "value" ] }, + "aws-native:osis:PipelineBufferOptions": { + "description": "Key-value pairs to configure buffering.", + "properties": { + "persistentBufferEnabled": { + "type": "boolean", + "description": "Whether persistent buffering should be enabled." + } + }, + "type": "object", + "required": [ + "persistentBufferEnabled" + ] + }, + "aws-native:osis:PipelineEncryptionAtRestOptions": { + "description": "Key-value pairs to configure encryption at rest.", + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The KMS key to use for encrypting data. By default an AWS owned key is used" + } + }, + "type": "object", + "required": [ + "kmsKeyArn" + ] + }, "aws-native:osis:PipelineLogPublishingOptions": { "description": "Key-value pairs to configure log publishing.", "properties": { @@ -65967,7 +66978,10 @@ "type": "string" } }, - "type": "object" + "type": "object", + "required": [ + "logGroup" + ] }, "aws-native:osis:PipelineTag": { "description": "A key-value pair to associate with a resource.", @@ -66022,7 +67036,10 @@ "description": "A list of subnet IDs associated with the VPC endpoint." } }, - "type": "object" + "type": "object", + "required": [ + "subnetIds" + ] }, "aws-native:panorama:ApplicationInstanceHealthStatus": { "type": "string", @@ -108277,6 +109294,9 @@ }, "logFilePrefix": { "type": "string" + }, + "targetObjectKeyFormat": { + "$ref": "#/types/aws-native:s3:BucketTargetObjectKeyFormat" } }, "type": "object" @@ -109100,6 +110120,10 @@ "value" ] }, + "aws-native:s3:BucketTargetObjectKeyFormat": { + "description": "Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix.", + "type": "object" + }, "aws-native:s3:BucketTiering": { "properties": { "accessTier": { @@ -109780,7 +110804,7 @@ ] }, "aws-native:s3express:DirectoryBucketDataRedundancy": { - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "type": "string", "enum": [ { @@ -110478,6 +111502,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -111056,6 +112092,43 @@ } ] }, + "aws-native:sagemaker:DomainCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:DomainCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -111078,6 +112151,39 @@ "imageName" ] }, + "aws-native:sagemaker:DomainCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:DomainDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume. Must be provided if storage type is Amazon EBS and must not be provided if storage type is not Amazon EBS", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, "aws-native:sagemaker:DomainDefaultSpaceSettings": { "description": "A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called.", "properties": { @@ -111106,6 +112212,60 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:DomainEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:DomainJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomImage" + }, + "description": "A list of custom images for use for JupyterLab apps." + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:DomainResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:DomainJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -111479,6 +112639,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -111548,10 +112720,29 @@ "aws-native:sagemaker:DomainUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:DomainCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The execution role for the user." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:DomainJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -111576,6 +112767,13 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:DomainSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:DomainDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:DomainUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object", @@ -111583,6 +112781,20 @@ "executionRole" ] }, + "aws-native:sagemaker:DomainUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:sagemaker:FeatureGroupDataCatalogConfig": { "properties": { "catalog": { @@ -111656,6 +112868,19 @@ "s3Uri" ] }, + "aws-native:sagemaker:FeatureGroupStorageType": { + "type": "string", + "enum": [ + { + "name": "Standard", + "value": "Standard" + }, + { + "name": "InMemory", + "value": "InMemory" + } + ] + }, "aws-native:sagemaker:FeatureGroupTableFormat": { "description": "Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores.", "type": "string", @@ -115848,6 +117073,9 @@ }, "securityConfig": { "$ref": "#/types/aws-native:sagemaker:FeatureGroupOnlineStoreSecurityConfig" + }, + "storageType": { + "$ref": "#/types/aws-native:sagemaker:FeatureGroupStorageType" } }, "type": "object" @@ -116374,6 +117602,43 @@ "value" ] }, + "aws-native:sagemaker:UserProfileCodeEditorAppSettings": { + "description": "The CodeEditor app settings.", + "properties": { + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with CodeEditor apps." + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileCodeRepository": { + "properties": { + "repositoryUrl": { + "type": "string", + "description": "A CodeRepository (valid URL) to be used within Jupyter's Git extension." + } + }, + "type": "object", + "required": [ + "repositoryUrl" + ] + }, + "aws-native:sagemaker:UserProfileCustomFileSystemConfig": { + "properties": { + "efsFileSystemConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileEfsFileSystemConfig" + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileCustomImage": { "description": "A custom SageMaker image.", "properties": { @@ -116396,6 +117661,93 @@ "imageName" ] }, + "aws-native:sagemaker:UserProfileCustomPosixUserConfig": { + "properties": { + "gid": { + "type": "integer" + }, + "uid": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "gid", + "uid" + ] + }, + "aws-native:sagemaker:UserProfileDefaultEbsStorageSettings": { + "description": "Properties related to the Amazon Elastic Block Store volume.", + "properties": { + "defaultEbsVolumeSizeInGb": { + "type": "integer", + "description": "Default size of the Amazon EBS volume in Gb" + }, + "maximumEbsVolumeSizeInGb": { + "type": "integer", + "description": "Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb." + } + }, + "type": "object", + "required": [ + "defaultEbsVolumeSizeInGb", + "maximumEbsVolumeSizeInGb" + ] + }, + "aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings": { + "description": "Default storage settings for a space.", + "properties": { + "defaultEbsStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultEbsStorageSettings" + } + }, + "type": "object" + }, + "aws-native:sagemaker:UserProfileEfsFileSystemConfig": { + "properties": { + "fileSystemId": { + "type": "string" + }, + "fileSystemPath": { + "type": "string" + } + }, + "type": "object", + "required": [ + "fileSystemId" + ] + }, + "aws-native:sagemaker:UserProfileJupyterLabAppSettings": { + "description": "The JupyterLab app settings.", + "properties": { + "codeRepositories": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeRepository" + }, + "description": "A list of CodeRepositories available for use with JupyterLab apps." + }, + "customImages": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomImage" + }, + "description": "A list of custom images available for use for JupyterLab apps" + }, + "defaultResourceSpec": { + "$ref": "#/types/aws-native:sagemaker:UserProfileResourceSpec", + "description": "The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app." + }, + "lifecycleConfigArns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of LifecycleConfigArns available for use with JupyterLab apps." + } + }, + "type": "object" + }, "aws-native:sagemaker:UserProfileJupyterServerAppSettings": { "description": "The JupyterServer app settings.", "properties": { @@ -116726,6 +118078,18 @@ { "name": "MlGeospatialInteractive", "value": "ml.geospatial.interactive" + }, + { + "name": "MlTrn12xlarge", + "value": "ml.trn1.2xlarge" + }, + { + "name": "MlTrn132xlarge", + "value": "ml.trn1.32xlarge" + }, + { + "name": "MlTrn1n32xlarge", + "value": "ml.trn1n.32xlarge" } ] }, @@ -116779,10 +118143,29 @@ "aws-native:sagemaker:UserProfileUserSettings": { "description": "A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.", "properties": { + "codeEditorAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCodeEditorAppSettings" + }, + "customFileSystemConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomFileSystemConfig" + } + }, + "customPosixUserConfig": { + "$ref": "#/types/aws-native:sagemaker:UserProfileCustomPosixUserConfig" + }, + "defaultLandingUri": { + "type": "string", + "description": "Defines which Amazon SageMaker application users are directed to by default." + }, "executionRole": { "type": "string", "description": "The user profile Amazon Resource Name (ARN)." }, + "jupyterLabAppSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterLabAppSettings" + }, "jupyterServerAppSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileJupyterServerAppSettings", "description": "The Jupyter server's app settings." @@ -116804,10 +118187,31 @@ "sharingSettings": { "$ref": "#/types/aws-native:sagemaker:UserProfileSharingSettings", "description": "The sharing settings." + }, + "spaceStorageSettings": { + "$ref": "#/types/aws-native:sagemaker:UserProfileDefaultSpaceStorageSettings" + }, + "studioWebPortal": { + "$ref": "#/types/aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal", + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio." } }, "type": "object" }, + "aws-native:sagemaker:UserProfileUserSettingsStudioWebPortal": { + "description": "Indicates whether the Studio experience is available to users. If not, users cannot access Studio.", + "type": "string", + "enum": [ + { + "name": "Enabled", + "value": "ENABLED" + }, + { + "name": "Disabled", + "value": "DISABLED" + } + ] + }, "aws-native:scheduler:ScheduleAssignPublicIp": { "description": "Specifies whether the task's elastic network interface receives a public IP address. You can specify ENABLED only when LaunchType in EcsParameters is set to FARGATE.", "type": "string", @@ -134573,6 +135977,196 @@ "partitionKeyColumns" ] }, + "aws-native:ce:AnomalyMonitor": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithTags = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithTags\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithTags = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_tags = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithTags = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithTags\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithTags = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_tags = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithTags\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Tags\\\" : { \\\"Key\\\" : \\\"Tag Key\\\", \\\"Values\\\" : [ \\\"TagValue1\\\", \\\"TagValue2\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithCC = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithCC\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithCC = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_cc = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithCC = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithCC\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithCC = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_cc = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithCC\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"CostCategories\\\" : { \\\"Key\\\" : \\\"CostCategoryKey\\\", \\\"Values\\\" : [ \\\"CostCategoryValue\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var customAnomalyMonitorWithLinkedAccount = new AwsNative.Ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Custom,\n MonitorSpecification = \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n });\n\n var anomalyServiceMonitor = new AwsNative.Ce.AnomalyMonitor(\"anomalyServiceMonitor\", new()\n {\n MonitorName = \"MonitorName\",\n MonitorType = AwsNative.Ce.AnomalyMonitorMonitorType.Dimensional,\n MonitorDimension = AwsNative.Ce.AnomalyMonitorMonitorDimension.Service,\n });\n\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n Threshold = 100,\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[]\n {\n customAnomalyMonitorWithLinkedAccount.Id,\n anomalyServiceMonitor.Id,\n },\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcustomAnomalyMonitorWithLinkedAccount, err := ce.NewAnomalyMonitor(ctx, \"customAnomalyMonitorWithLinkedAccount\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeCustom,\n\t\t\tMonitorSpecification: pulumi.String(\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tanomalyServiceMonitor, err := ce.NewAnomalyMonitor(ctx, \"anomalyServiceMonitor\", \u0026ce.AnomalyMonitorArgs{\n\t\t\tMonitorName: pulumi.String(\"MonitorName\"),\n\t\t\tMonitorType: ce.AnomalyMonitorMonitorTypeDimensional,\n\t\t\tMonitorDimension: ce.AnomalyMonitorMonitorDimensionService,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThreshold: pulumi.Float64(100),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{\n\t\t\t\tcustomAnomalyMonitorWithLinkedAccount.ID(),\n\t\t\t\tanomalyServiceMonitor.ID(),\n\t\t\t},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst customAnomalyMonitorWithLinkedAccount = new aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Custom,\n monitorSpecification: \" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\",\n});\nconst anomalyServiceMonitor = new aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\", {\n monitorName: \"MonitorName\",\n monitorType: aws_native.ce.AnomalyMonitorMonitorType.Dimensional,\n monitorDimension: aws_native.ce.AnomalyMonitorMonitorDimension.Service,\n});\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n threshold: 100,\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [\n customAnomalyMonitorWithLinkedAccount.id,\n anomalyServiceMonitor.id,\n ],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\ncustom_anomaly_monitor_with_linked_account = aws_native.ce.AnomalyMonitor(\"customAnomalyMonitorWithLinkedAccount\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.CUSTOM,\n monitor_specification=\" { \\\"Dimensions\\\" : { \\\"Key\\\" : \\\"LINKED_ACCOUNT\\\", \\\"Values\\\" : [ \\\"123456789012\\\", \\\"123456789013\\\" ] } }\")\nanomaly_service_monitor = aws_native.ce.AnomalyMonitor(\"anomalyServiceMonitor\",\n monitor_name=\"MonitorName\",\n monitor_type=aws_native.ce.AnomalyMonitorMonitorType.DIMENSIONAL,\n monitor_dimension=aws_native.ce.AnomalyMonitorMonitorDimension.SERVICE)\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold=100,\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[\n custom_anomaly_monitor_with_linked_account.id,\n anomaly_service_monitor.id,\n ],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate", + "replaceOnChanges": true + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string", + "replaceOnChanges": true + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType", + "replaceOnChanges": true + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "creationDate", + "dimensionalValueCount", + "lastEvaluatedDate", + "lastUpdatedDate", + "monitorArn", + "monitorName", + "monitorType" + ], + "inputProperties": { + "monitorDimension": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorDimension", + "description": "The dimensions to evaluate" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + }, + "monitorSpecification": { + "type": "string" + }, + "monitorType": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorMonitorType" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalyMonitorResourceTag" + }, + "description": "Tags to assign to monitor." + } + }, + "requiredInputs": [ + "monitorName", + "monitorType" + ] + }, + "aws-native:ce:AnomalySubscription": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"Values\\\": [ \\\"100\\\" ], \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ] } }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"Subscription 1\",\n ThresholdExpression = \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"Subscription 1\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"Subscription 1\",\n thresholdExpression: \"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"Subscription 1\",\n threshold_expression=\"{ \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"And\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Address = \"abc@def.com\",\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n },\n },\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t},\n\t\t\t},\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitorArnList: [],\n subscribers: [{\n address: \"abc@def.com\",\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n }],\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n address=\"abc@def.com\",\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n )],\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var anomalySubscription = new AwsNative.Ce.AnomalySubscription(\"anomalySubscription\", new()\n {\n SubscriptionName = \"SubscriptionName\",\n ThresholdExpression = \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n Frequency = AwsNative.Ce.AnomalySubscriptionFrequency.Daily,\n MonitorArnList = new[] {},\n Subscribers = new[]\n {\n new AwsNative.Ce.Inputs.AnomalySubscriptionSubscriberArgs\n {\n Type = AwsNative.Ce.AnomalySubscriptionSubscriberType.Email,\n Address = \"abc@def.com\",\n },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ce\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ce.NewAnomalySubscription(ctx, \"anomalySubscription\", \u0026ce.AnomalySubscriptionArgs{\n\t\t\tSubscriptionName: pulumi.String(\"SubscriptionName\"),\n\t\t\tThresholdExpression: pulumi.String(\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\"),\n\t\t\tFrequency: ce.AnomalySubscriptionFrequencyDaily,\n\t\t\tMonitorArnList: pulumi.StringArray{},\n\t\t\tSubscribers: ce.AnomalySubscriptionSubscriberArray{\n\t\t\t\t\u0026ce.AnomalySubscriptionSubscriberArgs{\n\t\t\t\t\tType: ce.AnomalySubscriptionSubscriberTypeEmail,\n\t\t\t\t\tAddress: pulumi.String(\"abc@def.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst anomalySubscription = new aws_native.ce.AnomalySubscription(\"anomalySubscription\", {\n subscriptionName: \"SubscriptionName\",\n thresholdExpression: \"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency: aws_native.ce.AnomalySubscriptionFrequency.Daily,\n monitorArnList: [],\n subscribers: [{\n type: aws_native.ce.AnomalySubscriptionSubscriberType.Email,\n address: \"abc@def.com\",\n }],\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nanomaly_subscription = aws_native.ce.AnomalySubscription(\"anomalySubscription\",\n subscription_name=\"SubscriptionName\",\n threshold_expression=\"{ \\\"Or\\\": [ { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_PERCENTAGE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"100\\\" ] } }, { \\\"Dimensions\\\": { \\\"Key\\\": \\\"ANOMALY_TOTAL_IMPACT_ABSOLUTE\\\", \\\"MatchOptions\\\": [ \\\"GREATER_THAN_OR_EQUAL\\\" ], \\\"Values\\\": [ \\\"200\\\" ] } } ] }\",\n frequency=aws_native.ce.AnomalySubscriptionFrequency.DAILY,\n monitor_arn_list=[],\n subscribers=[aws_native.ce.AnomalySubscriptionSubscriberArgs(\n type=aws_native.ce.AnomalySubscriptionSubscriberType.EMAIL,\n address=\"abc@def.com\",\n )])\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription.", + "replaceOnChanges": true + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "type": "object", + "required": [ + "accountId", + "frequency", + "monitorArnList", + "subscribers", + "subscriptionArn", + "subscriptionName" + ], + "inputProperties": { + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionResourceTag" + }, + "description": "Tags to assign to subscription." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + }, + "requiredInputs": [ + "frequency", + "monitorArnList", + "subscribers", + "subscriptionName" + ] + }, "aws-native:ce:CostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", "properties": { @@ -135003,6 +136597,10 @@ }, "replaceOnChanges": true }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration", + "replaceOnChanges": true + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata", "replaceOnChanges": true @@ -135053,6 +136651,9 @@ "$ref": "#/types/aws-native:cleanrooms:CollaborationMemberAbility" } }, + "creatorPaymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:CollaborationPaymentConfiguration" + }, "dataEncryptionMetadata": { "$ref": "#/types/aws-native:cleanrooms:CollaborationDataEncryptionMetadata" }, @@ -135275,6 +136876,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -135302,6 +136906,9 @@ "defaultResultConfiguration": { "$ref": "#/types/aws-native:cleanrooms:MembershipProtectedQueryResultConfiguration" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -136706,6 +138313,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -136779,6 +138394,14 @@ "type": "string", "description": "The mode that the event data store will use to charge for event storage." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -137755,6 +139378,11 @@ "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed.", "replaceOnChanges": true + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves", + "replaceOnChanges": true } }, "type": "object", @@ -137774,6 +139402,10 @@ "trafficRoutingConfig": { "$ref": "#/types/aws-native:codedeploy:DeploymentConfigTrafficRoutingConfig", "description": "The configuration that specifies how the deployment traffic is routed." + }, + "zonalConfig": { + "$ref": "#/types/aws-native:codedeploy:DeploymentConfigZonalConfig", + "description": "The zonal deployment config that specifies how the zonal deployment behaves" } } }, @@ -140142,6 +141774,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "type": "object", @@ -140169,6 +141808,13 @@ "instanceAlias": { "type": "string", "description": "Alias of the new directory created as part of new instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } }, "requiredInputs": [ @@ -144736,6 +146382,359 @@ "vpcSettings" ] }, + "aws-native:dms:DataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "type": "object", + "required": [ + "dataProviderArn", + "dataProviderCreationTime", + "engine" + ], + "inputProperties": { + "dataProviderIdentifier": { + "type": "string", + "description": "The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn" + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "exactSettings": { + "type": "boolean", + "description": "The property describes the exact settings which can be modified" + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + }, + "requiredInputs": [ + "engine" + ] + }, + "aws-native:dms:InstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + }, + "type": "object", + "required": [ + "instanceProfileArn", + "instanceProfileCreationTime" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + }, + "aws-native:dms:MigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + }, + "type": "object", + "required": [ + "migrationProjectArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileIdentifier": { + "type": "string", + "description": "The property describes an instance profile identifier for the migration project. For create" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectIdentifier": { + "type": "string", + "description": "The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn" + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + }, "aws-native:dms:ReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "properties": { @@ -144760,7 +146759,8 @@ }, "resourceIdentifier": { "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" + "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource", + "replaceOnChanges": true }, "sourceEndpointArn": { "type": "string", @@ -146244,6 +148244,445 @@ "availabilityZone" ] }, + "aws-native:ec2:Instance": { + "description": "Resource Type definition for AWS::EC2::Instance", + "properties": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance.", + "replaceOnChanges": true + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance.", + "replaceOnChanges": true + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance.", + "replaceOnChanges": true + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance.", + "replaceOnChanges": true + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves.", + "replaceOnChanges": true + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation.", + "replaceOnChanges": true + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.", + "replaceOnChanges": true + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.", + "replaceOnChanges": true + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.", + "replaceOnChanges": true + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface.", + "replaceOnChanges": true + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair.", + "replaceOnChanges": true + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances.", + "replaceOnChanges": true + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations.", + "replaceOnChanges": true + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance.", + "replaceOnChanges": true + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).", + "replaceOnChanges": true + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.", + "replaceOnChanges": true + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead.", + "replaceOnChanges": true + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + }, + "type": "object", + "required": [ + "instanceId", + "privateDnsName", + "privateIp", + "publicDnsName", + "publicIp" + ], + "inputProperties": { + "additionalInfo": { + "type": "string", + "description": "This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX)." + }, + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "availabilityZone": { + "type": "string", + "description": "The Availability Zone of the instance." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "cpuOptions": { + "$ref": "#/types/aws-native:ec2:CpuOptionsProperties", + "description": "The CPU options for the instance." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "elasticGpuSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticGpuSpecification" + }, + "description": "An elastic GPU to associate with the instance." + }, + "elasticInferenceAccelerators": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceElasticInferenceAccelerator" + }, + "description": "An elastic inference accelerator to associate with the instance." + }, + "enclaveOptions": { + "$ref": "#/types/aws-native:ec2:EnclaveOptionsProperties", + "description": "Indicates whether the instance is enabled for AWS Nitro Enclaves." + }, + "hibernationOptions": { + "$ref": "#/types/aws-native:ec2:HibernationOptionsProperties", + "description": "Indicates whether an instance is enabled for hibernation." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "hostResourceGroupArn": { + "type": "string", + "description": "The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "imageId": { + "type": "string", + "description": "The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "ipv6AddressCount": { + "type": "integer", + "description": "[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet." + }, + "ipv6Addresses": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceIpv6Address" + }, + "description": "[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "keyName": { + "type": "string", + "description": "The name of the key pair." + }, + "launchTemplate": { + "$ref": "#/types/aws-native:ec2:InstanceLaunchTemplateSpecification", + "description": "The launch template to use to launch the instances." + }, + "licenseSpecifications": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceLicenseSpecification" + }, + "description": "The license configurations." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceNetworkInterface" + }, + "description": "The network interfaces to associate with the instance." + }, + "placementGroupName": { + "type": "string", + "description": "The name of an existing placement group that you want to launch the instance into (cluster | partition | spread)." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIpAddress": { + "type": "string", + "description": "[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet." + }, + "propagateTagsToVolumeOnCreation": { + "type": "boolean", + "description": "Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "securityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "the names of the security groups. For a nondefault VPC, you must use security group IDs instead." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "subnetId": { + "type": "string", + "description": "[EC2-VPC] The ID of the subnet to launch the instance into.\n\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceVolume" + }, + "description": "The volumes to attach to the instance." + } + } + }, "aws-native:ec2:InstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", "properties": { @@ -146972,7 +149411,7 @@ ] }, "aws-native:ec2:KeyPair": { - "description": "The AWS::EC2::KeyPair creates an SSH key pair", + "description": "The AWS::EC2::KeyPair creates an SSH key pair\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newKeyPair = new AwsNative.Ec2.KeyPair(\"newKeyPair\", new()\n {\n KeyName = \"MyKeyPair\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = newKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnewKeyPair, err := ec2.NewKeyPair(ctx, \"newKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"MyKeyPair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: newKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst newKeyPair = new aws_native.ec2.KeyPair(\"newKeyPair\", {keyName: \"MyKeyPair\"});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: newKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nnew_key_pair = aws_native.ec2.KeyPair(\"newKeyPair\", key_name=\"MyKeyPair\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=new_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var newKeyPair = new AwsNative.Ec2.KeyPair(\"newKeyPair\", new()\n {\n KeyName = \"MyKeyPair\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = newKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnewKeyPair, err := ec2.NewKeyPair(ctx, \"newKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"MyKeyPair\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: newKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst newKeyPair = new aws_native.ec2.KeyPair(\"newKeyPair\", {keyName: \"MyKeyPair\"});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: newKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nnew_key_pair = aws_native.ec2.KeyPair(\"newKeyPair\", key_name=\"MyKeyPair\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=new_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var importedKeyPair = new AwsNative.Ec2.KeyPair(\"importedKeyPair\", new()\n {\n KeyName = \"NameForMyImportedKeyPair\",\n PublicKeyMaterial = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = importedKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportedKeyPair, err := ec2.NewKeyPair(ctx, \"importedKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"NameForMyImportedKeyPair\"),\n\t\t\tPublicKeyMaterial: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: importedKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst importedKeyPair = new aws_native.ec2.KeyPair(\"importedKeyPair\", {\n keyName: \"NameForMyImportedKeyPair\",\n publicKeyMaterial: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: importedKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nimported_key_pair = aws_native.ec2.KeyPair(\"importedKeyPair\",\n key_name=\"NameForMyImportedKeyPair\",\n public_key_material=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=imported_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var importedKeyPair = new AwsNative.Ec2.KeyPair(\"importedKeyPair\", new()\n {\n KeyName = \"NameForMyImportedKeyPair\",\n PublicKeyMaterial = \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n });\n\n var ec2Instance = new AwsNative.Ec2.Instance(\"ec2Instance\", new()\n {\n ImageId = \"ami-02b92c281a4d3dc79\",\n KeyName = importedKeyPair.Id,\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/ec2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\timportedKeyPair, err := ec2.NewKeyPair(ctx, \"importedKeyPair\", \u0026ec2.KeyPairArgs{\n\t\t\tKeyName: pulumi.String(\"NameForMyImportedKeyPair\"),\n\t\t\tPublicKeyMaterial: pulumi.String(\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ec2.NewInstance(ctx, \"ec2Instance\", \u0026ec2.InstanceArgs{\n\t\t\tImageId: pulumi.String(\"ami-02b92c281a4d3dc79\"),\n\t\t\tKeyName: importedKeyPair.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst importedKeyPair = new aws_native.ec2.KeyPair(\"importedKeyPair\", {\n keyName: \"NameForMyImportedKeyPair\",\n publicKeyMaterial: \"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\",\n});\nconst ec2Instance = new aws_native.ec2.Instance(\"ec2Instance\", {\n imageId: \"ami-02b92c281a4d3dc79\",\n keyName: importedKeyPair.id,\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nimported_key_pair = aws_native.ec2.KeyPair(\"importedKeyPair\",\n key_name=\"NameForMyImportedKeyPair\",\n public_key_material=\"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICfp1F7DhdWZdqkYAUGCzcBsLmJeu9izpIyGpmmg7eCz example\")\nec2_instance = aws_native.ec2.Instance(\"ec2Instance\",\n image_id=\"ami-02b92c281a4d3dc79\",\n key_name=imported_key_pair.id)\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { "keyFingerprint": { "type": "string", @@ -148477,6 +150916,102 @@ "vpcId" ] }, + "aws-native:ec2:SecurityGroupEgress": { + "description": "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "properties": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges", + "replaceOnChanges": true + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges", + "replaceOnChanges": true + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list.", + "replaceOnChanges": true + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6).", + "replaceOnChanges": true + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.", + "replaceOnChanges": true + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.", + "replaceOnChanges": true + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.", + "replaceOnChanges": true + } + }, + "type": "object", + "required": [ + "groupId", + "ipProtocol" + ], + "inputProperties": { + "cidrIp": { + "type": "string", + "description": "The IPv4 ranges" + }, + "cidrIpv6": { + "type": "string", + "description": "[VPC only] The IPv6 ranges" + }, + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "destinationPrefixListId": { + "type": "string", + "description": "[EC2-VPC only] The ID of a prefix list." + }, + "destinationSecurityGroupId": { + "type": "string", + "description": "You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6)." + }, + "fromPort": { + "type": "integer", + "description": "The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes." + }, + "groupId": { + "type": "string", + "description": "The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID." + }, + "ipProtocol": { + "type": "string", + "description": "[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed." + }, + "toPort": { + "type": "integer", + "description": "The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes." + } + }, + "requiredInputs": [ + "groupId", + "ipProtocol" + ] + }, "aws-native:ec2:SpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "properties": { @@ -152807,10 +155342,8 @@ "required": [ "arn", "createTime", - "endpoint", "engine", "fullEngineVersion", - "readerEndpoint", "serverlessCacheName", "status" ], @@ -152826,6 +155359,9 @@ "type": "string", "description": "The description of the Serverless Cache." }, + "endpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "engine": { "type": "string", "description": "The engine name of the Serverless Cache." @@ -152842,6 +155378,9 @@ "type": "string", "description": "The major engine version of the Serverless Cache." }, + "readerEndpoint": { + "$ref": "#/types/aws-native:elasticache:ServerlessCacheEndpoint" + }, "securityGroupIds": { "type": "array", "items": { @@ -154096,11 +156635,26 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3.", + "replaceOnChanges": true + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.", "replaceOnChanges": true }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application.", + "replaceOnChanges": true + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio.", + "replaceOnChanges": true + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -154136,6 +156690,11 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false.", + "replaceOnChanges": true + }, "url": { "type": "string", "description": "The unique Studio access URL." @@ -154183,10 +156742,22 @@ "type": "string", "description": "A detailed description of the Studio." }, + "encryptionKeyArn": { + "type": "string", + "description": "The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3." + }, "engineSecurityGroupId": { "type": "string", "description": "The ID of the Amazon EMR Studio Engine security group. The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId." }, + "idcInstanceArn": { + "type": "string", + "description": "The ARN of the IAM Identity Center instance to create the Studio application." + }, + "idcUserAssignment": { + "$ref": "#/types/aws-native:emr:StudioIdcUserAssignment", + "description": "Specifies whether IAM Identity Center user assignment is REQUIRED or OPTIONAL. If the value is set to REQUIRED, users must be explicitly assigned to the Studio application to access the Studio." + }, "idpAuthUrl": { "type": "string", "description": "Your identity provider's authentication endpoint. Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL." @@ -154217,6 +156788,10 @@ }, "description": "A list of tags to associate with the Studio. Tags are user-defined key-value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters." }, + "trustedIdentityPropagationEnabled": { + "type": "boolean", + "description": "A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false." + }, "userRole": { "type": "string", "description": "The IAM user role that will be assumed by users and groups logged in to a Studio. The permissions attached to this IAM role can be scoped down for each user or group using session policies." @@ -155191,6 +157766,120 @@ } } }, + "aws-native:eventschemas:Discoverer": { + "description": "Resource Type definition for AWS::EventSchemas::Discoverer\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDiscoverer = new AwsNative.EventSchemas.Discoverer(\"myDiscoverer\", new()\n {\n SourceArn = \"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n Description = \"discover all custom schemas\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewDiscoverer(ctx, \"myDiscoverer\", \u0026eventschemas.DiscovererArgs{\n\t\t\tSourceArn: pulumi.String(\"arn:aws:events:us-west-2:012345678910:event-bus/default\"),\n\t\t\tDescription: pulumi.String(\"discover all custom schemas\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst myDiscoverer = new aws_native.eventschemas.Discoverer(\"myDiscoverer\", {\n sourceArn: \"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n description: \"discover all custom schemas\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_discoverer = aws_native.eventschemas.Discoverer(\"myDiscoverer\",\n source_arn=\"arn:aws:events:us-west-2:012345678910:event-bus/default\",\n description=\"discover all custom schemas\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus.", + "replaceOnChanges": true + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "type": "object", + "required": [ + "discovererArn", + "discovererId", + "sourceArn", + "state" + ], + "inputProperties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "sourceArn": { + "type": "string", + "description": "The ARN of the event bus." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "requiredInputs": [ + "sourceArn" + ] + }, + "aws-native:eventschemas:Registry": { + "description": "Resource Type definition for AWS::EventSchemas::Registry\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var statesSchemasRegistry = new AwsNative.EventSchemas.Registry(\"statesSchemasRegistry\", new()\n {\n RegistryName = \"aws.states\",\n Description = \"Contains the schemas of events emitted by AWS Step Functions\",\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistry(ctx, \"statesSchemasRegistry\", \u0026eventschemas.RegistryArgs{\n\t\t\tRegistryName: pulumi.String(\"aws.states\"),\n\t\t\tDescription: pulumi.String(\"Contains the schemas of events emitted by AWS Step Functions\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst statesSchemasRegistry = new aws_native.eventschemas.Registry(\"statesSchemasRegistry\", {\n registryName: \"aws.states\",\n description: \"Contains the schemas of events emitted by AWS Step Functions\",\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nstates_schemas_registry = aws_native.eventschemas.Registry(\"statesSchemasRegistry\",\n registry_name=\"aws.states\",\n description=\"Contains the schemas of events emitted by AWS Step Functions\")\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", + "properties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry.", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + }, + "type": "object", + "required": [ + "registryArn" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryName": { + "type": "string", + "description": "The name of the schema registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + }, "aws-native:eventschemas:RegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"registryName\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", \n {\n { \"sid\", 1 },\n { \"effect\", \"Allow\" },\n { \"principal\", \n {\n { \"aws\", \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\" },\n } },\n { \"action\", new[]\n {\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n } },\n { \"resource\", \"registryArn\" },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"registryName\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: map[string]interface{}{\n\t\t\t\t\t\"sid\": 1,\n\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\"aws\": \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n\t\t\t\t\t},\n\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\"schemas:DescribeRegistry\",\n\t\t\t\t\t\t\"schemas:CreateSchema\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resource\": \"registryArn\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"registryName\",\n policy: {\n version: \"2012-10-17\",\n statement: {\n sid: 1,\n effect: \"Allow\",\n principal: {\n aws: \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n },\n action: [\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n ],\n resource: \"registryArn\",\n },\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"registryName\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": {\n \"sid\": 1,\n \"effect\": \"Allow\",\n \"principal\": {\n \"aws\": \"arn:aws:iam::012345678901:user/TestAccountForRegistryPolicy\",\n },\n \"action\": [\n \"schemas:DescribeRegistry\",\n \"schemas:CreateSchema\",\n ],\n \"resource\": \"registryArn\",\n },\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"MyRegistry\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", new[]\n {\n \n {\n { \"sid\", \"Test\" },\n { \"effect\", \"Allow\" },\n { \"action\", new[]\n {\n \"schemas:*\",\n } },\n { \"principal\", \n {\n { \"aws\", new[]\n {\n \"109876543210\",\n } },\n } },\n { \"resource\", new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n } },\n },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"MyRegistry\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"sid\": \"Test\",\n\t\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws\": []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"resource\": []string{\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"MyRegistry\",\n policy: {\n version: \"2012-10-17\",\n statement: [{\n sid: \"Test\",\n effect: \"Allow\",\n action: [\"schemas:*\"],\n principal: {\n aws: [\"109876543210\"],\n },\n resource: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"MyRegistry\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": [{\n \"sid\": \"Test\",\n \"effect\": \"Allow\",\n \"action\": [\"schemas:*\"],\n \"principal\": {\n \"aws\": [\"109876543210\"],\n },\n \"resource\": [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n })\n\n```\n\n{{% /example %}}\n{{% example %}}\n### Example\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing AwsNative = Pulumi.AwsNative;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var registryPolicy = new AwsNative.EventSchemas.RegistryPolicy(\"registryPolicy\", new()\n {\n RegistryName = \"MyRegistry\",\n Policy = \n {\n { \"version\", \"2012-10-17\" },\n { \"statement\", new[]\n {\n \n {\n { \"sid\", \"Test\" },\n { \"effect\", \"Allow\" },\n { \"action\", new[]\n {\n \"schemas:*\",\n } },\n { \"principal\", \n {\n { \"aws\", new[]\n {\n \"109876543210\",\n } },\n } },\n { \"resource\", new[]\n {\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n } },\n },\n } },\n },\n });\n\n});\n\n\n```\n\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws-native/sdk/go/aws/eventschemas\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := eventschemas.NewRegistryPolicy(ctx, \"registryPolicy\", \u0026eventschemas.RegistryPolicyArgs{\n\t\t\tRegistryName: pulumi.String(\"MyRegistry\"),\n\t\t\tPolicy: pulumi.Any{\n\t\t\t\tVersion: \"2012-10-17\",\n\t\t\t\tStatement: []map[string]interface{}{\n\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\"sid\": \"Test\",\n\t\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\t\"schemas:*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\t\"aws\": []string{\n\t\t\t\t\t\t\t\t\"109876543210\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"resource\": []string{\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n\t\t\t\t\t\t\t\"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws_native from \"@pulumi/aws-native\";\n\nconst registryPolicy = new aws_native.eventschemas.RegistryPolicy(\"registryPolicy\", {\n registryName: \"MyRegistry\",\n policy: {\n version: \"2012-10-17\",\n statement: [{\n sid: \"Test\",\n effect: \"Allow\",\n action: [\"schemas:*\"],\n principal: {\n aws: [\"109876543210\"],\n },\n resource: [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nregistry_policy = aws_native.eventschemas.RegistryPolicy(\"registryPolicy\",\n registry_name=\"MyRegistry\",\n policy={\n \"version\": \"2012-10-17\",\n \"statement\": [{\n \"sid\": \"Test\",\n \"effect\": \"Allow\",\n \"action\": [\"schemas:*\"],\n \"principal\": {\n \"aws\": [\"109876543210\"],\n },\n \"resource\": [\n \"arn:aws:schemas:us-east-1:012345678901:registry/MyRegistry\",\n \"arn:aws:schemas:us-east-1:012345678901:schema/MyRegistry*\",\n ],\n }],\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -155777,6 +158466,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155812,6 +158504,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "logConfiguration": { "$ref": "#/types/aws-native:fis:ExperimentTemplateLogConfiguration" }, @@ -155839,6 +158534,50 @@ "targets" ] }, + "aws-native:fis:TargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "properties": { + "accountId": { + "type": "string", + "replaceOnChanges": true + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string", + "replaceOnChanges": true + }, + "roleArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "accountId", + "experimentTemplateId", + "roleArn" + ], + "inputProperties": { + "accountId": { + "type": "string" + }, + "description": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "requiredInputs": [ + "accountId", + "experimentTemplateId", + "roleArn" + ] + }, "aws-native:fms:NotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "properties": { @@ -167078,23 +169817,27 @@ ] }, "aws-native:lambda:EventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "properties": { "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { "type": "string", + "description": "The name of the Lambda function.", "replaceOnChanges": true }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { "type": "string", + "description": "The identifier of a version or alias.", "replaceOnChanges": true } }, @@ -167108,16 +169851,20 @@ "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, "functionName": { - "type": "string" + "type": "string", + "description": "The name of the Lambda function." }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." }, "qualifier": { - "type": "string" + "type": "string", + "description": "The identifier of a version or alias." } }, "requiredInputs": [ @@ -167433,10 +170180,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -167561,10 +170304,6 @@ "$ref": "#/types/aws-native:lambda:FunctionPackageType", "description": "PackageType." }, - "policy": { - "$ref": "pulumi.json#/Any", - "description": "The resource policy of your function" - }, "reservedConcurrentExecutions": { "type": "integer", "description": "The number of simultaneous executions to reserve for the function." @@ -169970,28 +172709,28 @@ ] }, "aws-native:logs:Delivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object.", + "description": "The ARN of the delivery destination that is associated with this delivery.", "replaceOnChanges": true }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object.", + "description": "The name of the delivery source that is associated with this delivery.", "replaceOnChanges": true }, "tags": { @@ -169999,7 +172738,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "type": "object", @@ -170013,18 +172752,18 @@ "inputProperties": { "deliveryDestinationArn": { "type": "string", - "description": "The value of the DeliveryDestinationArn property for this object." + "description": "The ARN of the delivery destination that is associated with this delivery." }, "deliverySourceName": { "type": "string", - "description": "The value of the DeliverySourceName property for this object." + "description": "The name of the delivery source that is associated with this delivery." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } }, "requiredInputs": [ @@ -170033,11 +172772,11 @@ ] }, "aws-native:logs:DeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -170045,16 +172784,16 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource.", + "description": "The ARN of the AWS resource that will receive the logs.", "replaceOnChanges": true }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination.", + "description": "The name of this delivery destination.", "replaceOnChanges": true }, "tags": { @@ -170062,7 +172801,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } }, "type": "object", @@ -170078,27 +172817,27 @@ }, "destinationResourceArn": { "type": "string", - "description": "The ARN of the Destination Resource." + "description": "The ARN of the AWS resource that will receive the logs." }, "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } }, "aws-native:logs:DeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -170118,18 +172857,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } }, "type": "object", @@ -170157,7 +172896,7 @@ "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } }, @@ -177713,6 +180452,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -177729,6 +180471,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -177763,6 +180508,7 @@ "arn", "domainArn", "domainEndpoint", + "domainEndpointV2", "domainEndpoints", "serviceSoftwareOptions" ], @@ -177797,6 +180543,9 @@ "engineVersion": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -178334,6 +181083,12 @@ "aws-native:osis:Pipeline": { "description": "An OpenSearch Ingestion Service Data Prepper pipeline running Data Prepper.", "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -178394,6 +181149,12 @@ "vpcEndpoints" ], "inputProperties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "logPublishingOptions": { "$ref": "#/types/aws-native:osis:PipelineLogPublishingOptions" }, @@ -187586,12 +190347,12 @@ }, "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name.", "replaceOnChanges": true }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket.", + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket.", "replaceOnChanges": true }, "locationName": { @@ -187609,11 +190370,11 @@ "inputProperties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." }, "dataRedundancy": { "$ref": "#/types/aws-native:s3express:DirectoryBucketDataRedundancy", - "description": "Specifies the number of Avilability Zone that's used for redundancy for the bucket." + "description": "Specifies the number of Availability Zone that's used for redundancy for the bucket." }, "locationName": { "type": "string", @@ -188333,8 +191094,7 @@ "properties": { "appNetworkAccessType": { "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", - "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.", - "replaceOnChanges": true + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", @@ -188382,6 +191142,10 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." @@ -188391,8 +191155,7 @@ "items": { "type": "string" }, - "description": "The VPC subnets that Studio uses for communication.", - "replaceOnChanges": true + "description": "The VPC subnets that Studio uses for communication." }, "tags": { "type": "array", @@ -188421,6 +191184,7 @@ "domainName", "homeEfsFileSystemId", "securityGroupIdForDomainBoundary", + "singleSignOnApplicationArn", "singleSignOnManagedApplicationInstanceId", "subnetIds", "url", @@ -200949,6 +203713,100 @@ } } }, + "aws-native:ce:getAnomalyMonitor": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. You can use Cost Anomaly Detection by creating monitor.", + "inputs": { + "properties": { + "monitorArn": { + "type": "string" + } + }, + "required": [ + "monitorArn" + ] + }, + "outputs": { + "properties": { + "creationDate": { + "type": "string", + "description": "The date when the monitor was created. " + }, + "dimensionalValueCount": { + "type": "integer", + "description": "The value for evaluated dimensions." + }, + "lastEvaluatedDate": { + "type": "string", + "description": "The date when the monitor last evaluated for anomalies." + }, + "lastUpdatedDate": { + "type": "string", + "description": "The date when the monitor was last updated." + }, + "monitorArn": { + "type": "string" + }, + "monitorName": { + "type": "string", + "description": "The name of the monitor." + } + } + } + }, + "aws-native:ce:getAnomalySubscription": { + "description": "AWS Cost Anomaly Detection leverages advanced Machine Learning technologies to identify anomalous spend and root causes, so you can quickly take action. Create subscription to be notified", + "inputs": { + "properties": { + "subscriptionArn": { + "type": "string" + } + }, + "required": [ + "subscriptionArn" + ] + }, + "outputs": { + "properties": { + "accountId": { + "type": "string", + "description": "The accountId" + }, + "frequency": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionFrequency", + "description": "The frequency at which anomaly reports are sent over email. " + }, + "monitorArnList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of cost anomaly monitors." + }, + "subscribers": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ce:AnomalySubscriptionSubscriber" + }, + "description": "A list of subscriber" + }, + "subscriptionArn": { + "type": "string" + }, + "subscriptionName": { + "type": "string", + "description": "The name of the subscription." + }, + "threshold": { + "type": "number", + "description": "The dollar value that triggers a notification if the threshold is exceeded. " + }, + "thresholdExpression": { + "type": "string", + "description": "An Expression object in JSON String format used to specify the anomalies that you want to generate alerts for." + } + } + } + }, "aws-native:ce:getCostCategory": { "description": "Cost Category enables you to map your cost and usage into meaningful categories. You can use Cost Category to organize your costs using a rule-based engine.", "inputs": { @@ -201312,6 +204170,9 @@ "membershipIdentifier": { "type": "string" }, + "paymentConfiguration": { + "$ref": "#/types/aws-native:cleanrooms:MembershipPaymentConfiguration" + }, "queryLogStatus": { "$ref": "#/types/aws-native:cleanrooms:MembershipQueryLogStatus" }, @@ -202211,6 +205072,14 @@ "type": "string", "description": "The ARN of the event data store." }, + "federationEnabled": { + "type": "boolean", + "description": "Indicates whether federation is enabled on an event data store." + }, + "federationRoleArn": { + "type": "string", + "description": "The ARN of the role used for event data store federation." + }, "ingestionEnabled": { "type": "boolean", "description": "Indicates whether the event data store is ingesting events." @@ -203966,6 +206835,13 @@ "serviceRole": { "type": "string", "description": "Service linked role created as part of instance creation." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:connect:InstanceTag" + }, + "description": "An array of key-value pairs to apply to this resource." } } } @@ -206491,6 +209367,207 @@ } } }, + "aws-native:dms:getDataProvider": { + "description": "Resource schema for AWS::DMS::DataProvider", + "inputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + } + }, + "required": [ + "dataProviderArn" + ] + }, + "outputs": { + "properties": { + "dataProviderArn": { + "type": "string", + "description": "The data provider ARN." + }, + "dataProviderCreationTime": { + "type": "string", + "description": "The data provider creation time." + }, + "dataProviderName": { + "type": "string", + "description": "The property describes a name to identify the data provider." + }, + "description": { + "type": "string", + "description": "The optional description of the data provider." + }, + "engine": { + "$ref": "#/types/aws-native:dms:DataProviderEngine", + "description": "The property describes a data engine for the data provider." + }, + "settings": { + "oneOf": [ + { + "$ref": "#/types/aws-native:dms:Settings0Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings1Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings2Properties" + }, + { + "$ref": "#/types/aws-native:dms:Settings3Properties" + } + ], + "description": "The property identifies the exact type of settings for the data provider." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:DataProviderTag" + }, + "description": "An array of key-value pairs to apply to this resource." + } + } + } + }, + "aws-native:dms:getInstanceProfile": { + "description": "Resource schema for AWS::DMS::InstanceProfile.", + "inputs": { + "properties": { + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + } + }, + "required": [ + "instanceProfileArn" + ] + }, + "outputs": { + "properties": { + "availabilityZone": { + "type": "string", + "description": "The property describes an availability zone of the instance profile." + }, + "description": { + "type": "string", + "description": "The optional description of the instance profile." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an ARN of the instance profile." + }, + "instanceProfileCreationTime": { + "type": "string", + "description": "The property describes a creating time of the instance profile." + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes a name for the instance profile." + }, + "kmsKeyArn": { + "type": "string", + "description": "The property describes kms key arn for the instance profile." + }, + "networkType": { + "$ref": "#/types/aws-native:dms:InstanceProfileNetworkType", + "description": "The property describes a network type for the instance profile." + }, + "publiclyAccessible": { + "type": "boolean", + "description": "The property describes the publicly accessible of the instance profile" + }, + "subnetGroupIdentifier": { + "type": "string", + "description": "The property describes a subnet group identifier for the instance profile." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:InstanceProfileTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "vpcSecurityGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The property describes vps security groups for the instance profile." + } + } + } + }, + "aws-native:dms:getMigrationProject": { + "description": "Resource schema for AWS::DMS::MigrationProject", + "inputs": { + "properties": { + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + } + }, + "required": [ + "migrationProjectArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "The optional description of the migration project." + }, + "instanceProfileArn": { + "type": "string", + "description": "The property describes an instance profile arn for the migration project. For read" + }, + "instanceProfileName": { + "type": "string", + "description": "The property describes an instance profile name for the migration project. For read" + }, + "migrationProjectArn": { + "type": "string", + "description": "The property describes an ARN of the migration project." + }, + "migrationProjectCreationTime": { + "type": "string", + "description": "The property describes a creating time of the migration project." + }, + "migrationProjectName": { + "type": "string", + "description": "The property describes a name to identify the migration project." + }, + "schemaConversionApplicationAttributes": { + "$ref": "#/types/aws-native:dms:SchemaConversionApplicationAttributesProperties", + "description": "The property describes schema conversion application attributes for the migration project." + }, + "sourceDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes source data provider descriptors for the migration project." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectTag" + }, + "description": "An array of key-value pairs to apply to this resource." + }, + "targetDataProviderDescriptors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:dms:MigrationProjectDataProviderDescriptor" + }, + "description": "The property describes target data provider descriptors for the migration project." + }, + "transformationRules": { + "type": "string", + "description": "The property describes transformation rules for the migration project." + } + } + } + }, "aws-native:dms:getReplicationConfig": { "description": "A replication configuration that you later provide to configure and start a AWS DMS Serverless replication", "inputs": { @@ -206525,10 +209602,6 @@ "$ref": "#/types/aws-native:dms:ReplicationConfigReplicationType", "description": "The type of AWS DMS Serverless replication to provision using this replication configuration" }, - "resourceIdentifier": { - "type": "string", - "description": "A unique value or name that you get set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource" - }, "sourceEndpointArn": { "type": "string", "description": "The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration" @@ -207154,6 +210227,132 @@ } } }, + "aws-native:ec2:getInstance": { + "description": "Resource Type definition for AWS::EC2::Instance", + "inputs": { + "properties": { + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + } + }, + "required": [ + "instanceId" + ] + }, + "outputs": { + "properties": { + "affinity": { + "$ref": "#/types/aws-native:ec2:InstanceAffinity", + "description": "Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default." + }, + "blockDeviceMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceBlockDeviceMapping" + }, + "description": "The block device mapping entries that defines the block devices to attach to the instance at launch." + }, + "creditSpecification": { + "$ref": "#/types/aws-native:ec2:CreditSpecificationProperties", + "description": "The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited." + }, + "disableApiTermination": { + "type": "boolean", + "description": "If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can." + }, + "ebsOptimized": { + "type": "boolean", + "description": "Indicates whether the instance is optimized for Amazon EBS I/O." + }, + "hostId": { + "type": "string", + "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account." + }, + "iamInstanceProfile": { + "type": "string", + "description": "The IAM instance profile." + }, + "instanceId": { + "type": "string", + "description": "The EC2 Instance ID." + }, + "instanceInitiatedShutdownBehavior": { + "type": "string", + "description": "Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown)." + }, + "instanceType": { + "type": "string", + "description": "The instance type." + }, + "kernelId": { + "type": "string", + "description": "The ID of the kernel." + }, + "monitoring": { + "type": "boolean", + "description": "Specifies whether detailed monitoring is enabled for the instance." + }, + "privateDnsName": { + "type": "string", + "description": "The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal." + }, + "privateDnsNameOptions": { + "$ref": "#/types/aws-native:ec2:InstancePrivateDnsNameOptions", + "description": "The options for the instance hostname." + }, + "privateIp": { + "type": "string", + "description": "The private IP address of the specified instance. For example: 10.24.34.0." + }, + "publicDnsName": { + "type": "string", + "description": "The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com." + }, + "publicIp": { + "type": "string", + "description": "The public IP address of the specified instance. For example: 192.0.2.0." + }, + "ramdiskId": { + "type": "string", + "description": "The ID of the RAM disk to select." + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of the security groups." + }, + "sourceDestCheck": { + "type": "boolean", + "description": "Specifies whether to enable an instance launched in a VPC to perform NAT." + }, + "ssmAssociations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceSsmAssociation" + }, + "description": "The SSM document and parameter values in AWS Systems Manager to associate with this instance." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:InstanceTag" + }, + "description": "The tags to add to the instance." + }, + "tenancy": { + "type": "string", + "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware." + }, + "userData": { + "type": "string", + "description": "The user data to make available to the instance." + } + } + } + }, "aws-native:ec2:getInstanceConnectEndpoint": { "description": "Resource Type definition for AWS::EC2::InstanceConnectEndpoint", "inputs": { @@ -208393,6 +211592,32 @@ } } }, + "aws-native:ec2:getSecurityGroupEgress": { + "description": "Resource Type definition for AWS::EC2::SecurityGroupEgress", + "inputs": { + "properties": { + "id": { + "type": "string", + "description": "The Security Group Rule Id" + } + }, + "required": [ + "id" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "Resource Type definition for an egress (outbound) security group rule." + }, + "id": { + "type": "string", + "description": "The Security Group Rule Id" + } + } + } + }, "aws-native:ec2:getSpotFleet": { "description": "Resource Type definition for AWS::EC2::SpotFleet", "inputs": { @@ -211728,6 +214953,84 @@ } } }, + "aws-native:eventschemas:getDiscoverer": { + "description": "Resource Type definition for AWS::EventSchemas::Discoverer", + "inputs": { + "properties": { + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + } + }, + "required": [ + "discovererArn" + ] + }, + "outputs": { + "properties": { + "crossAccount": { + "type": "boolean", + "description": "Defines whether event schemas from other accounts are discovered. Default is True." + }, + "description": { + "type": "string", + "description": "A description for the discoverer." + }, + "discovererArn": { + "type": "string", + "description": "The ARN of the discoverer." + }, + "discovererId": { + "type": "string", + "description": "The Id of the discoverer." + }, + "state": { + "type": "string", + "description": "Defines the current state of the discoverer." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:DiscovererTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + } + }, + "aws-native:eventschemas:getRegistry": { + "description": "Resource Type definition for AWS::EventSchemas::Registry", + "inputs": { + "properties": { + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + } + }, + "required": [ + "registryArn" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string", + "description": "A description of the registry to be created." + }, + "registryArn": { + "type": "string", + "description": "The ARN of the registry." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:eventschemas:RegistryTagsEntry" + }, + "description": "Tags associated with the resource." + } + } + } + }, "aws-native:eventschemas:getRegistryPolicy": { "description": "Resource Type definition for AWS::EventSchemas::RegistryPolicy", "inputs": { @@ -212071,6 +215374,9 @@ "description": { "type": "string" }, + "experimentOptions": { + "$ref": "#/types/aws-native:fis:ExperimentTemplateExperimentOptions" + }, "id": { "type": "string" }, @@ -212092,6 +215398,33 @@ } } }, + "aws-native:fis:getTargetAccountConfiguration": { + "description": "Resource schema for AWS::FIS::TargetAccountConfiguration", + "inputs": { + "properties": { + "accountId": { + "type": "string" + }, + "experimentTemplateId": { + "type": "string" + } + }, + "required": [ + "experimentTemplateId", + "accountId" + ] + }, + "outputs": { + "properties": { + "description": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + } + } + }, "aws-native:fms:getNotificationChannel": { "description": "Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.", "inputs": { @@ -218573,15 +221906,21 @@ } }, "aws-native:lambda:getEventInvokeConfig": { - "description": "Resource Type definition for AWS::Lambda::EventInvokeConfig", + "description": "The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias.", "inputs": { "properties": { - "id": { - "type": "string" + "functionName": { + "type": "string", + "description": "The name of the Lambda function." + }, + "qualifier": { + "type": "string", + "description": "The identifier of a version or alias." } }, "required": [ - "id" + "functionName", + "qualifier" ] }, "outputs": { @@ -218589,14 +221928,13 @@ "destinationConfig": { "$ref": "#/types/aws-native:lambda:EventInvokeConfigDestinationConfig" }, - "id": { - "type": "string" - }, "maximumEventAgeInSeconds": { - "type": "integer" + "type": "integer", + "description": "The maximum age of a request that Lambda sends to a function for processing." }, "maximumRetryAttempts": { - "type": "integer" + "type": "integer", + "description": "The maximum number of times to retry when the function returns an error." } } } @@ -219970,12 +223308,12 @@ } }, "aws-native:logs:getDelivery": { - "description": "Resource Type definition for AWS::Logs::Delivery.", + "description": "This structure contains information about one delivery in your account.\n\nA delivery is a connection between a logical delivery source and a logical delivery destination.\n\nFor more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html).", "inputs": { "properties": { "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." } }, "required": [ @@ -219986,33 +223324,33 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery." }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "deliveryId": { "type": "string", - "description": "The value of the Id property for this object." + "description": "The unique ID that identifies this delivery in your account." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryTag" }, - "description": "The value of the Tags property for this object." + "description": "The tags that have been assigned to this delivery." } } } }, "aws-native:logs:getDeliveryDestination": { - "description": "Resource Type definition for AWS::Logs::DeliveryDestination", + "description": "This structure contains information about one delivery destination in your account.\n\nA delivery destination is an AWS resource that represents an AWS service that logs can be sent to CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.", "inputs": { "properties": { "name": { "type": "string", - "description": "The unique name of the Delivery Destination." + "description": "The name of this delivery destination." } }, "required": [ @@ -220023,7 +223361,7 @@ "properties": { "arn": { "type": "string", - "description": "The value of the Arn property for this object." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery destination." }, "deliveryDestinationPolicy": { "$ref": "pulumi.json#/Any", @@ -220031,20 +223369,20 @@ }, "deliveryDestinationType": { "type": "string", - "description": "The value of the DeliveryDestinationType property for this object." + "description": "Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliveryDestinationTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery destination." } } } }, "aws-native:logs:getDeliverySource": { - "description": "Resource Type definition for AWS::Logs::DeliverySource.", + "description": " A delivery source is an AWS resource that sends logs to an AWS destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.\n\nOnly some AWS services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at [Enabling logging from AWS services](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html).", "inputs": { "properties": { "name": { @@ -220060,7 +223398,7 @@ "properties": { "arn": { "type": "string", - "description": "The ARN of the Aqueduct Source." + "description": "The Amazon Resource Name (ARN) that uniquely identifies this delivery source." }, "logType": { "type": "string", @@ -220071,18 +223409,18 @@ "items": { "type": "string" }, - "description": "List of ARN of the resource that will be sending the logs" + "description": "This array contains the ARN of the AWS resource that sends logs and is represented by this delivery source. Currently, only one ARN can be in the array." }, "service": { "type": "string", - "description": "The service generating the log" + "description": "The AWS service that is sending logs." }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:logs:DeliverySourceTag" }, - "description": "An array of key-value pairs to apply to this resource." + "description": "The tags that have been assigned to this delivery source." } } } @@ -224149,6 +227487,9 @@ "domainEndpointOptions": { "$ref": "#/types/aws-native:opensearchservice:DomainEndpointOptions" }, + "domainEndpointV2": { + "type": "string" + }, "domainEndpoints": { "$ref": "pulumi.json#/Any" }, @@ -224164,6 +227505,9 @@ "id": { "type": "string" }, + "ipAddressType": { + "type": "string" + }, "logPublishingOptions": { "$ref": "pulumi.json#/Any" }, @@ -224481,6 +227825,12 @@ }, "outputs": { "properties": { + "bufferOptions": { + "$ref": "#/types/aws-native:osis:PipelineBufferOptions" + }, + "encryptionAtRestOptions": { + "$ref": "#/types/aws-native:osis:PipelineEncryptionAtRestOptions" + }, "ingestEndpointUrls": { "type": "array", "items": { @@ -228489,13 +231839,13 @@ "description": "Resource schema for AWS::Route53Resolver::ResolverConfig.", "inputs": { "properties": { - "id": { + "resourceId": { "type": "string", - "description": "Id" + "description": "ResourceId" } }, "required": [ - "id" + "resourceId" ] }, "outputs": { @@ -229151,7 +232501,7 @@ "properties": { "bucketName": { "type": "string", - "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, dots (.), and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az2--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." + "description": "Specifies a name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format 'bucket_base_name--az_id--x-s3' (for example, 'DOC-EXAMPLE-BUCKET--usw2-az1--x-s3'). If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the bucket name." } }, "required": [ @@ -229498,6 +232848,10 @@ }, "outputs": { "properties": { + "appNetworkAccessType": { + "$ref": "#/types/aws-native:sagemaker:DomainAppNetworkAccessType", + "description": "Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly." + }, "appSecurityGroupManagement": { "$ref": "#/types/aws-native:sagemaker:DomainAppSecurityGroupManagement", "description": "The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided." @@ -229529,10 +232883,21 @@ "type": "string", "description": "The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app." }, + "singleSignOnApplicationArn": { + "type": "string", + "description": "The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023." + }, "singleSignOnManagedApplicationInstanceId": { "type": "string", "description": "The SSO managed application instance ID." }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The VPC subnets that Studio uses for communication." + }, "url": { "type": "string", "description": "The URL to the created domain." diff --git a/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs b/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs index 4385a08c34..b45f1ed15c 100644 --- a/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs +++ b/sdk/dotnet/AccessAnalyzer/Inputs/AnalyzerUnusedAccessConfigurationArgs.cs @@ -16,7 +16,7 @@ namespace Pulumi.AwsNative.AccessAnalyzer.Inputs public sealed class AnalyzerUnusedAccessConfigurationArgs : global::Pulumi.ResourceArgs { /// - /// 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. + /// 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. /// [Input("unusedAccessAge")] public Input? UnusedAccessAge { get; set; } diff --git a/sdk/dotnet/AccessAnalyzer/Outputs/AnalyzerUnusedAccessConfiguration.cs b/sdk/dotnet/AccessAnalyzer/Outputs/AnalyzerUnusedAccessConfiguration.cs index 048e6dbbce..4154b2008d 100644 --- a/sdk/dotnet/AccessAnalyzer/Outputs/AnalyzerUnusedAccessConfiguration.cs +++ b/sdk/dotnet/AccessAnalyzer/Outputs/AnalyzerUnusedAccessConfiguration.cs @@ -17,7 +17,7 @@ namespace Pulumi.AwsNative.AccessAnalyzer.Outputs public sealed class AnalyzerUnusedAccessConfiguration { /// - /// 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. + /// 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. /// public readonly int? UnusedAccessAge; diff --git a/sdk/dotnet/AppSync/GetGraphQlApi.cs b/sdk/dotnet/AppSync/GetGraphQlApi.cs index db508461e5..dfc909d831 100644 --- a/sdk/dotnet/AppSync/GetGraphQlApi.cs +++ b/sdk/dotnet/AppSync/GetGraphQlApi.cs @@ -57,6 +57,7 @@ public sealed class GetGraphQlApiResult public readonly string? Arn; public readonly string? AuthenticationType; public readonly string? GraphQlDns; + public readonly string? GraphQlEndpointArn; public readonly string? GraphQlUrl; public readonly string? Id; public readonly Outputs.GraphQlApiLambdaAuthorizerConfig? LambdaAuthorizerConfig; @@ -86,6 +87,8 @@ private GetGraphQlApiResult( string? graphQlDns, + string? graphQlEndpointArn, + string? graphQlUrl, string? id, @@ -120,6 +123,7 @@ private GetGraphQlApiResult( Arn = arn; AuthenticationType = authenticationType; GraphQlDns = graphQlDns; + GraphQlEndpointArn = graphQlEndpointArn; GraphQlUrl = graphQlUrl; Id = id; LambdaAuthorizerConfig = lambdaAuthorizerConfig; diff --git a/sdk/dotnet/AppSync/GraphQlApi.cs b/sdk/dotnet/AppSync/GraphQlApi.cs index 791ec8cfc5..ec860160e0 100644 --- a/sdk/dotnet/AppSync/GraphQlApi.cs +++ b/sdk/dotnet/AppSync/GraphQlApi.cs @@ -34,6 +34,9 @@ public partial class GraphQlApi : global::Pulumi.CustomResource [Output("graphQlDns")] public Output GraphQlDns { get; private set; } = null!; + [Output("graphQlEndpointArn")] + public Output GraphQlEndpointArn { get; private set; } = null!; + [Output("graphQlUrl")] public Output GraphQlUrl { get; private set; } = null!; diff --git a/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupInstanceRequirementsArgs.cs b/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupInstanceRequirementsArgs.cs index 42294a9585..74658f048f 100644 --- a/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupInstanceRequirementsArgs.cs +++ b/sdk/dotnet/AutoScaling/Inputs/AutoScalingGroupInstanceRequirementsArgs.cs @@ -97,8 +97,8 @@ public InputList LocalStorageTypes [Input("memoryGiBPerVCpu")] public Input? MemoryGiBPerVCpu { get; set; } - [Input("memoryMiB")] - public Input? MemoryMiB { get; set; } + [Input("memoryMiB", required: true)] + public Input MemoryMiB { get; set; } = null!; [Input("networkBandwidthGbps")] public Input? NetworkBandwidthGbps { get; set; } @@ -118,8 +118,8 @@ public InputList LocalStorageTypes [Input("totalLocalStorageGb")] public Input? TotalLocalStorageGb { get; set; } - [Input("vCpuCount")] - public Input? VCpuCount { get; set; } + [Input("vCpuCount", required: true)] + public Input VCpuCount { get; set; } = null!; public AutoScalingGroupInstanceRequirementsArgs() { diff --git a/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupInstanceRequirements.cs b/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupInstanceRequirements.cs index f24cac8f41..f9809128d1 100644 --- a/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupInstanceRequirements.cs +++ b/sdk/dotnet/AutoScaling/Outputs/AutoScalingGroupInstanceRequirements.cs @@ -28,14 +28,14 @@ public sealed class AutoScalingGroupInstanceRequirements public readonly string? LocalStorage; public readonly ImmutableArray LocalStorageTypes; public readonly Outputs.AutoScalingGroupMemoryGiBPerVCpuRequest? MemoryGiBPerVCpu; - public readonly Outputs.AutoScalingGroupMemoryMiBRequest? MemoryMiB; + public readonly Outputs.AutoScalingGroupMemoryMiBRequest MemoryMiB; public readonly Outputs.AutoScalingGroupNetworkBandwidthGbpsRequest? NetworkBandwidthGbps; public readonly Outputs.AutoScalingGroupNetworkInterfaceCountRequest? NetworkInterfaceCount; public readonly int? OnDemandMaxPricePercentageOverLowestPrice; public readonly bool? RequireHibernateSupport; public readonly int? SpotMaxPricePercentageOverLowestPrice; public readonly Outputs.AutoScalingGroupTotalLocalStorageGbRequest? TotalLocalStorageGb; - public readonly Outputs.AutoScalingGroupVCpuCountRequest? VCpuCount; + public readonly Outputs.AutoScalingGroupVCpuCountRequest VCpuCount; [OutputConstructor] private AutoScalingGroupInstanceRequirements( @@ -69,7 +69,7 @@ private AutoScalingGroupInstanceRequirements( Outputs.AutoScalingGroupMemoryGiBPerVCpuRequest? memoryGiBPerVCpu, - Outputs.AutoScalingGroupMemoryMiBRequest? memoryMiB, + Outputs.AutoScalingGroupMemoryMiBRequest memoryMiB, Outputs.AutoScalingGroupNetworkBandwidthGbpsRequest? networkBandwidthGbps, @@ -83,7 +83,7 @@ private AutoScalingGroupInstanceRequirements( Outputs.AutoScalingGroupTotalLocalStorageGbRequest? totalLocalStorageGb, - Outputs.AutoScalingGroupVCpuCountRequest? vCpuCount) + Outputs.AutoScalingGroupVCpuCountRequest vCpuCount) { AcceleratorCount = acceleratorCount; AcceleratorManufacturers = acceleratorManufacturers; diff --git a/sdk/dotnet/BillingConductor/CustomLineItem.cs b/sdk/dotnet/BillingConductor/CustomLineItem.cs index a1df1b45af..a7eaaa5375 100644 --- a/sdk/dotnet/BillingConductor/CustomLineItem.cs +++ b/sdk/dotnet/BillingConductor/CustomLineItem.cs @@ -16,6 +16,12 @@ namespace Pulumi.AwsNative.BillingConductor [AwsNativeResourceType("aws-native:billingconductor:CustomLineItem")] public partial class CustomLineItem : global::Pulumi.CustomResource { + /// + /// The account which this custom line item will be charged to + /// + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + /// /// ARN /// @@ -92,6 +98,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, ReplaceOnChanges = { + "accountId", "billingGroupArn", "billingPeriodRange.exclusiveEndBillingPeriod", "billingPeriodRange.inclusiveStartBillingPeriod", @@ -119,6 +126,12 @@ public static CustomLineItem Get(string name, Input id, CustomResourceOp public sealed class CustomLineItemArgs : global::Pulumi.ResourceArgs { + /// + /// The account which this custom line item will be charged to + /// + [Input("accountId")] + public Input? AccountId { get; set; } + /// /// Billing Group ARN /// diff --git a/sdk/dotnet/Ce/AnomalyMonitor.cs b/sdk/dotnet/Ce/AnomalyMonitor.cs index ceb2f3cd5b..6e2fb98a13 100644 --- a/sdk/dotnet/Ce/AnomalyMonitor.cs +++ b/sdk/dotnet/Ce/AnomalyMonitor.cs @@ -12,7 +12,6 @@ namespace Pulumi.AwsNative.Ce /// /// 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. /// - [Obsolete(@"AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:ce:AnomalyMonitor")] public partial class AnomalyMonitor : global::Pulumi.CustomResource { diff --git a/sdk/dotnet/Ce/AnomalySubscription.cs b/sdk/dotnet/Ce/AnomalySubscription.cs index 5bb27ed95b..76a267d352 100644 --- a/sdk/dotnet/Ce/AnomalySubscription.cs +++ b/sdk/dotnet/Ce/AnomalySubscription.cs @@ -12,7 +12,6 @@ namespace Pulumi.AwsNative.Ce /// /// 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 /// - [Obsolete(@"AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:ce:AnomalySubscription")] public partial class AnomalySubscription : global::Pulumi.CustomResource { diff --git a/sdk/dotnet/CleanRooms/Collaboration.cs b/sdk/dotnet/CleanRooms/Collaboration.cs index 60dc824af2..68d2e2b7bf 100644 --- a/sdk/dotnet/CleanRooms/Collaboration.cs +++ b/sdk/dotnet/CleanRooms/Collaboration.cs @@ -27,6 +27,9 @@ public partial class Collaboration : global::Pulumi.CustomResource [Output("creatorMemberAbilities")] public Output> CreatorMemberAbilities { get; private set; } = null!; + [Output("creatorPaymentConfiguration")] + public Output CreatorPaymentConfiguration { get; private set; } = null!; + [Output("dataEncryptionMetadata")] public Output DataEncryptionMetadata { get; private set; } = null!; @@ -75,6 +78,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { "creatorDisplayName", "creatorMemberAbilities[*]", + "creatorPaymentConfiguration", "dataEncryptionMetadata", "members[*]", "queryLogStatus", @@ -112,6 +116,9 @@ public InputList Creator set => _creatorMemberAbilities = value; } + [Input("creatorPaymentConfiguration")] + public Input? CreatorPaymentConfiguration { get; set; } + [Input("dataEncryptionMetadata")] public Input? DataEncryptionMetadata { get; set; } diff --git a/sdk/dotnet/CleanRooms/GetMembership.cs b/sdk/dotnet/CleanRooms/GetMembership.cs index 486bbf72c0..79bfeb2560 100644 --- a/sdk/dotnet/CleanRooms/GetMembership.cs +++ b/sdk/dotnet/CleanRooms/GetMembership.cs @@ -56,6 +56,7 @@ public sealed class GetMembershipResult public readonly string? CollaborationCreatorAccountId; public readonly Outputs.MembershipProtectedQueryResultConfiguration? DefaultResultConfiguration; public readonly string? MembershipIdentifier; + public readonly Outputs.MembershipPaymentConfiguration? PaymentConfiguration; public readonly Pulumi.AwsNative.CleanRooms.MembershipQueryLogStatus? QueryLogStatus; /// /// An arbitrary set of tags (key-value pairs) for this cleanrooms membership. @@ -74,6 +75,8 @@ private GetMembershipResult( string? membershipIdentifier, + Outputs.MembershipPaymentConfiguration? paymentConfiguration, + Pulumi.AwsNative.CleanRooms.MembershipQueryLogStatus? queryLogStatus, ImmutableArray tags) @@ -83,6 +86,7 @@ private GetMembershipResult( CollaborationCreatorAccountId = collaborationCreatorAccountId; DefaultResultConfiguration = defaultResultConfiguration; MembershipIdentifier = membershipIdentifier; + PaymentConfiguration = paymentConfiguration; QueryLogStatus = queryLogStatus; Tags = tags; } diff --git a/sdk/dotnet/CleanRooms/Inputs/CollaborationMemberSpecificationArgs.cs b/sdk/dotnet/CleanRooms/Inputs/CollaborationMemberSpecificationArgs.cs index 5cc4104cdf..b4473801c8 100644 --- a/sdk/dotnet/CleanRooms/Inputs/CollaborationMemberSpecificationArgs.cs +++ b/sdk/dotnet/CleanRooms/Inputs/CollaborationMemberSpecificationArgs.cs @@ -26,6 +26,9 @@ public InputList MemberA set => _memberAbilities = value; } + [Input("paymentConfiguration")] + public Input? PaymentConfiguration { get; set; } + public CollaborationMemberSpecificationArgs() { } diff --git a/sdk/dotnet/CleanRooms/Inputs/CollaborationPaymentConfigurationArgs.cs b/sdk/dotnet/CleanRooms/Inputs/CollaborationPaymentConfigurationArgs.cs new file mode 100644 index 0000000000..fbba7482c4 --- /dev/null +++ b/sdk/dotnet/CleanRooms/Inputs/CollaborationPaymentConfigurationArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Inputs +{ + + public sealed class CollaborationPaymentConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("queryCompute", required: true)] + public Input QueryCompute { get; set; } = null!; + + public CollaborationPaymentConfigurationArgs() + { + } + public static new CollaborationPaymentConfigurationArgs Empty => new CollaborationPaymentConfigurationArgs(); + } +} diff --git a/sdk/dotnet/CleanRooms/Inputs/CollaborationQueryComputePaymentConfigArgs.cs b/sdk/dotnet/CleanRooms/Inputs/CollaborationQueryComputePaymentConfigArgs.cs new file mode 100644 index 0000000000..08ac214721 --- /dev/null +++ b/sdk/dotnet/CleanRooms/Inputs/CollaborationQueryComputePaymentConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Inputs +{ + + public sealed class CollaborationQueryComputePaymentConfigArgs : global::Pulumi.ResourceArgs + { + [Input("isResponsible", required: true)] + public Input IsResponsible { get; set; } = null!; + + public CollaborationQueryComputePaymentConfigArgs() + { + } + public static new CollaborationQueryComputePaymentConfigArgs Empty => new CollaborationQueryComputePaymentConfigArgs(); + } +} diff --git a/sdk/dotnet/CleanRooms/Inputs/MembershipPaymentConfigurationArgs.cs b/sdk/dotnet/CleanRooms/Inputs/MembershipPaymentConfigurationArgs.cs new file mode 100644 index 0000000000..32fc43f91b --- /dev/null +++ b/sdk/dotnet/CleanRooms/Inputs/MembershipPaymentConfigurationArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Inputs +{ + + public sealed class MembershipPaymentConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("queryCompute", required: true)] + public Input QueryCompute { get; set; } = null!; + + public MembershipPaymentConfigurationArgs() + { + } + public static new MembershipPaymentConfigurationArgs Empty => new MembershipPaymentConfigurationArgs(); + } +} diff --git a/sdk/dotnet/CleanRooms/Inputs/MembershipQueryComputePaymentConfigArgs.cs b/sdk/dotnet/CleanRooms/Inputs/MembershipQueryComputePaymentConfigArgs.cs new file mode 100644 index 0000000000..ac183598b1 --- /dev/null +++ b/sdk/dotnet/CleanRooms/Inputs/MembershipQueryComputePaymentConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Inputs +{ + + public sealed class MembershipQueryComputePaymentConfigArgs : global::Pulumi.ResourceArgs + { + [Input("isResponsible", required: true)] + public Input IsResponsible { get; set; } = null!; + + public MembershipQueryComputePaymentConfigArgs() + { + } + public static new MembershipQueryComputePaymentConfigArgs Empty => new MembershipQueryComputePaymentConfigArgs(); + } +} diff --git a/sdk/dotnet/CleanRooms/Membership.cs b/sdk/dotnet/CleanRooms/Membership.cs index 542df9932c..7a8e81d5be 100644 --- a/sdk/dotnet/CleanRooms/Membership.cs +++ b/sdk/dotnet/CleanRooms/Membership.cs @@ -33,6 +33,9 @@ public partial class Membership : global::Pulumi.CustomResource [Output("membershipIdentifier")] public Output MembershipIdentifier { get; private set; } = null!; + [Output("paymentConfiguration")] + public Output PaymentConfiguration { get; private set; } = null!; + [Output("queryLogStatus")] public Output QueryLogStatus { get; private set; } = null!; @@ -97,6 +100,9 @@ public sealed class MembershipArgs : global::Pulumi.ResourceArgs [Input("defaultResultConfiguration")] public Input? DefaultResultConfiguration { get; set; } + [Input("paymentConfiguration")] + public Input? PaymentConfiguration { get; set; } + [Input("queryLogStatus", required: true)] public Input QueryLogStatus { get; set; } = null!; diff --git a/sdk/dotnet/CleanRooms/Outputs/CollaborationMemberSpecification.cs b/sdk/dotnet/CleanRooms/Outputs/CollaborationMemberSpecification.cs index a82ab7b7a7..6b2c6c5590 100644 --- a/sdk/dotnet/CleanRooms/Outputs/CollaborationMemberSpecification.cs +++ b/sdk/dotnet/CleanRooms/Outputs/CollaborationMemberSpecification.cs @@ -16,6 +16,7 @@ public sealed class CollaborationMemberSpecification public readonly string AccountId; public readonly string DisplayName; public readonly ImmutableArray MemberAbilities; + public readonly Outputs.CollaborationPaymentConfiguration? PaymentConfiguration; [OutputConstructor] private CollaborationMemberSpecification( @@ -23,11 +24,14 @@ private CollaborationMemberSpecification( string displayName, - ImmutableArray memberAbilities) + ImmutableArray memberAbilities, + + Outputs.CollaborationPaymentConfiguration? paymentConfiguration) { AccountId = accountId; DisplayName = displayName; MemberAbilities = memberAbilities; + PaymentConfiguration = paymentConfiguration; } } } diff --git a/sdk/dotnet/CleanRooms/Outputs/CollaborationPaymentConfiguration.cs b/sdk/dotnet/CleanRooms/Outputs/CollaborationPaymentConfiguration.cs new file mode 100644 index 0000000000..01f763d1f8 --- /dev/null +++ b/sdk/dotnet/CleanRooms/Outputs/CollaborationPaymentConfiguration.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Outputs +{ + + [OutputType] + public sealed class CollaborationPaymentConfiguration + { + public readonly Outputs.CollaborationQueryComputePaymentConfig QueryCompute; + + [OutputConstructor] + private CollaborationPaymentConfiguration(Outputs.CollaborationQueryComputePaymentConfig queryCompute) + { + QueryCompute = queryCompute; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/InstanceNoDevice.cs b/sdk/dotnet/CleanRooms/Outputs/CollaborationQueryComputePaymentConfig.cs similarity index 58% rename from sdk/dotnet/Ec2/Outputs/InstanceNoDevice.cs rename to sdk/dotnet/CleanRooms/Outputs/CollaborationQueryComputePaymentConfig.cs index 7504f7fa1f..766dd5752b 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceNoDevice.cs +++ b/sdk/dotnet/CleanRooms/Outputs/CollaborationQueryComputePaymentConfig.cs @@ -7,15 +7,18 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AwsNative.Ec2.Outputs +namespace Pulumi.AwsNative.CleanRooms.Outputs { [OutputType] - public sealed class InstanceNoDevice + public sealed class CollaborationQueryComputePaymentConfig { + public readonly bool IsResponsible; + [OutputConstructor] - private InstanceNoDevice() + private CollaborationQueryComputePaymentConfig(bool isResponsible) { + IsResponsible = isResponsible; } } } diff --git a/sdk/dotnet/CleanRooms/Outputs/MembershipPaymentConfiguration.cs b/sdk/dotnet/CleanRooms/Outputs/MembershipPaymentConfiguration.cs new file mode 100644 index 0000000000..7ea12a6668 --- /dev/null +++ b/sdk/dotnet/CleanRooms/Outputs/MembershipPaymentConfiguration.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CleanRooms.Outputs +{ + + [OutputType] + public sealed class MembershipPaymentConfiguration + { + public readonly Outputs.MembershipQueryComputePaymentConfig QueryCompute; + + [OutputConstructor] + private MembershipPaymentConfiguration(Outputs.MembershipQueryComputePaymentConfig queryCompute) + { + QueryCompute = queryCompute; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/InstanceHibernationOptions.cs b/sdk/dotnet/CleanRooms/Outputs/MembershipQueryComputePaymentConfig.cs similarity index 59% rename from sdk/dotnet/Ec2/Outputs/InstanceHibernationOptions.cs rename to sdk/dotnet/CleanRooms/Outputs/MembershipQueryComputePaymentConfig.cs index 51db3d6969..dfb4326d5a 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceHibernationOptions.cs +++ b/sdk/dotnet/CleanRooms/Outputs/MembershipQueryComputePaymentConfig.cs @@ -7,18 +7,18 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AwsNative.Ec2.Outputs +namespace Pulumi.AwsNative.CleanRooms.Outputs { [OutputType] - public sealed class InstanceHibernationOptions + public sealed class MembershipQueryComputePaymentConfig { - public readonly bool? Configured; + public readonly bool IsResponsible; [OutputConstructor] - private InstanceHibernationOptions(bool? configured) + private MembershipQueryComputePaymentConfig(bool isResponsible) { - Configured = configured; + IsResponsible = isResponsible; } } } diff --git a/sdk/dotnet/Cloud9/EnvironmentEc2.cs b/sdk/dotnet/Cloud9/EnvironmentEc2.cs index 8b1fce604e..6838c4cd98 100644 --- a/sdk/dotnet/Cloud9/EnvironmentEc2.cs +++ b/sdk/dotnet/Cloud9/EnvironmentEc2.cs @@ -29,7 +29,7 @@ public partial class EnvironmentEc2 : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; [Output("imageId")] - public Output ImageId { get; private set; } = null!; + public Output ImageId { get; private set; } = null!; [Output("instanceType")] public Output InstanceType { get; private set; } = null!; @@ -113,8 +113,8 @@ public sealed class EnvironmentEc2Args : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } - [Input("imageId")] - public Input? ImageId { get; set; } + [Input("imageId", required: true)] + public Input ImageId { get; set; } = null!; [Input("instanceType", required: true)] public Input InstanceType { get; set; } = null!; diff --git a/sdk/dotnet/CloudFront/GetKeyValueStore.cs b/sdk/dotnet/CloudFront/GetKeyValueStore.cs new file mode 100644 index 0000000000..fcdf836672 --- /dev/null +++ b/sdk/dotnet/CloudFront/GetKeyValueStore.cs @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CloudFront +{ + public static class GetKeyValueStore + { + /// + /// Resource Type definition for AWS::CloudFront::KeyValueStore + /// + public static Task InvokeAsync(GetKeyValueStoreArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:cloudfront:getKeyValueStore", args ?? new GetKeyValueStoreArgs(), options.WithDefaults()); + + /// + /// Resource Type definition for AWS::CloudFront::KeyValueStore + /// + public static Output Invoke(GetKeyValueStoreInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:cloudfront:getKeyValueStore", args ?? new GetKeyValueStoreInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetKeyValueStoreArgs : global::Pulumi.InvokeArgs + { + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetKeyValueStoreArgs() + { + } + public static new GetKeyValueStoreArgs Empty => new GetKeyValueStoreArgs(); + } + + public sealed class GetKeyValueStoreInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GetKeyValueStoreInvokeArgs() + { + } + public static new GetKeyValueStoreInvokeArgs Empty => new GetKeyValueStoreInvokeArgs(); + } + + + [OutputType] + public sealed class GetKeyValueStoreResult + { + public readonly string? Arn; + public readonly string? Comment; + public readonly string? Id; + public readonly string? Status; + + [OutputConstructor] + private GetKeyValueStoreResult( + string? arn, + + string? comment, + + string? id, + + string? status) + { + Arn = arn; + Comment = comment; + Id = id; + Status = status; + } + } +} diff --git a/sdk/dotnet/CloudFront/Inputs/KeyValueStoreImportSourceArgs.cs b/sdk/dotnet/CloudFront/Inputs/KeyValueStoreImportSourceArgs.cs new file mode 100644 index 0000000000..c31fe22319 --- /dev/null +++ b/sdk/dotnet/CloudFront/Inputs/KeyValueStoreImportSourceArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CloudFront.Inputs +{ + + public sealed class KeyValueStoreImportSourceArgs : global::Pulumi.ResourceArgs + { + [Input("sourceArn", required: true)] + public Input SourceArn { get; set; } = null!; + + [Input("sourceType", required: true)] + public Input SourceType { get; set; } = null!; + + public KeyValueStoreImportSourceArgs() + { + } + public static new KeyValueStoreImportSourceArgs Empty => new KeyValueStoreImportSourceArgs(); + } +} diff --git a/sdk/dotnet/CloudFront/KeyValueStore.cs b/sdk/dotnet/CloudFront/KeyValueStore.cs new file mode 100644 index 0000000000..496c3ca320 --- /dev/null +++ b/sdk/dotnet/CloudFront/KeyValueStore.cs @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CloudFront +{ + /// + /// Resource Type definition for AWS::CloudFront::KeyValueStore + /// + [Obsolete(@"KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] + [AwsNativeResourceType("aws-native:cloudfront:KeyValueStore")] + public partial class KeyValueStore : global::Pulumi.CustomResource + { + [Output("arn")] + public Output Arn { get; private set; } = null!; + + [Output("comment")] + public Output Comment { get; private set; } = null!; + + [Output("importSource")] + public Output ImportSource { get; private set; } = null!; + + [Output("name")] + public Output Name { get; private set; } = null!; + + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a KeyValueStore resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public KeyValueStore(string name, KeyValueStoreArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:cloudfront:KeyValueStore", name, args ?? new KeyValueStoreArgs(), MakeResourceOptions(options, "")) + { + } + + private KeyValueStore(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:cloudfront:KeyValueStore", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "name", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing KeyValueStore resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static KeyValueStore Get(string name, Input id, CustomResourceOptions? options = null) + { + return new KeyValueStore(name, id, options); + } + } + + public sealed class KeyValueStoreArgs : global::Pulumi.ResourceArgs + { + [Input("comment")] + public Input? Comment { get; set; } + + [Input("importSource")] + public Input? ImportSource { get; set; } + + [Input("name")] + public Input? Name { get; set; } + + public KeyValueStoreArgs() + { + } + public static new KeyValueStoreArgs Empty => new KeyValueStoreArgs(); + } +} diff --git a/sdk/dotnet/CloudFront/Outputs/KeyValueStoreImportSource.cs b/sdk/dotnet/CloudFront/Outputs/KeyValueStoreImportSource.cs new file mode 100644 index 0000000000..bb1a5c30d3 --- /dev/null +++ b/sdk/dotnet/CloudFront/Outputs/KeyValueStoreImportSource.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CloudFront.Outputs +{ + + [OutputType] + public sealed class KeyValueStoreImportSource + { + public readonly string SourceArn; + public readonly string SourceType; + + [OutputConstructor] + private KeyValueStoreImportSource( + string sourceArn, + + string sourceType) + { + SourceArn = sourceArn; + SourceType = sourceType; + } + } +} diff --git a/sdk/dotnet/CloudTrail/EventDataStore.cs b/sdk/dotnet/CloudTrail/EventDataStore.cs index 53164734bb..35da68380b 100644 --- a/sdk/dotnet/CloudTrail/EventDataStore.cs +++ b/sdk/dotnet/CloudTrail/EventDataStore.cs @@ -39,6 +39,18 @@ public partial class EventDataStore : global::Pulumi.CustomResource [Output("eventDataStoreArn")] public Output EventDataStoreArn { get; private set; } = null!; + /// + /// Indicates whether federation is enabled on an event data store. + /// + [Output("federationEnabled")] + public Output FederationEnabled { get; private set; } = null!; + + /// + /// The ARN of the role used for event data store federation. + /// + [Output("federationRoleArn")] + public Output FederationRoleArn { get; private set; } = null!; + /// /// Indicates whether the event data store is ingesting events. /// @@ -171,6 +183,18 @@ public InputList AdvancedEventSe [Input("billingMode")] public Input? BillingMode { get; set; } + /// + /// Indicates whether federation is enabled on an event data store. + /// + [Input("federationEnabled")] + public Input? FederationEnabled { get; set; } + + /// + /// The ARN of the role used for event data store federation. + /// + [Input("federationRoleArn")] + public Input? FederationRoleArn { get; set; } + /// /// Indicates whether the event data store is ingesting events. /// diff --git a/sdk/dotnet/CloudTrail/GetEventDataStore.cs b/sdk/dotnet/CloudTrail/GetEventDataStore.cs index 06691e4905..55a2c1d691 100644 --- a/sdk/dotnet/CloudTrail/GetEventDataStore.cs +++ b/sdk/dotnet/CloudTrail/GetEventDataStore.cs @@ -74,6 +74,14 @@ public sealed class GetEventDataStoreResult /// public readonly string? EventDataStoreArn; /// + /// Indicates whether federation is enabled on an event data store. + /// + public readonly bool? FederationEnabled; + /// + /// The ARN of the role used for event data store federation. + /// + public readonly string? FederationRoleArn; + /// /// Indicates whether the event data store is ingesting events. /// public readonly bool? IngestionEnabled; @@ -129,6 +137,10 @@ private GetEventDataStoreResult( string? eventDataStoreArn, + bool? federationEnabled, + + string? federationRoleArn, + bool? ingestionEnabled, ImmutableArray insightSelectors, @@ -157,6 +169,8 @@ private GetEventDataStoreResult( BillingMode = billingMode; CreatedTimestamp = createdTimestamp; EventDataStoreArn = eventDataStoreArn; + FederationEnabled = federationEnabled; + FederationRoleArn = federationRoleArn; IngestionEnabled = ingestionEnabled; InsightSelectors = insightSelectors; InsightsDestination = insightsDestination; diff --git a/sdk/dotnet/CodeDeploy/DeploymentConfig.cs b/sdk/dotnet/CodeDeploy/DeploymentConfig.cs index 9744930164..ddb8e6b663 100644 --- a/sdk/dotnet/CodeDeploy/DeploymentConfig.cs +++ b/sdk/dotnet/CodeDeploy/DeploymentConfig.cs @@ -39,6 +39,12 @@ public partial class DeploymentConfig : global::Pulumi.CustomResource [Output("trafficRoutingConfig")] public Output TrafficRoutingConfig { get; private set; } = null!; + /// + /// The zonal deployment config that specifies how the zonal deployment behaves + /// + [Output("zonalConfig")] + public Output ZonalConfig { get; private set; } = null!; + /// /// Create a DeploymentConfig resource with the given unique name, arguments, and options. @@ -68,6 +74,7 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? "deploymentConfigName", "minimumHealthyHosts", "trafficRoutingConfig", + "zonalConfig", }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); @@ -115,6 +122,12 @@ public sealed class DeploymentConfigArgs : global::Pulumi.ResourceArgs [Input("trafficRoutingConfig")] public Input? TrafficRoutingConfig { get; set; } + /// + /// The zonal deployment config that specifies how the zonal deployment behaves + /// + [Input("zonalConfig")] + public Input? ZonalConfig { get; set; } + public DeploymentConfigArgs() { } diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigMinimumHealthyHostsPerZoneArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigMinimumHealthyHostsPerZoneArgs.cs new file mode 100644 index 0000000000..0a396f6c3f --- /dev/null +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigMinimumHealthyHostsPerZoneArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodeDeploy.Inputs +{ + + public sealed class DeploymentConfigMinimumHealthyHostsPerZoneArgs : global::Pulumi.ResourceArgs + { + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DeploymentConfigMinimumHealthyHostsPerZoneArgs() + { + } + public static new DeploymentConfigMinimumHealthyHostsPerZoneArgs Empty => new DeploymentConfigMinimumHealthyHostsPerZoneArgs(); + } +} diff --git a/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigZonalConfigArgs.cs b/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigZonalConfigArgs.cs new file mode 100644 index 0000000000..a499165e63 --- /dev/null +++ b/sdk/dotnet/CodeDeploy/Inputs/DeploymentConfigZonalConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodeDeploy.Inputs +{ + + public sealed class DeploymentConfigZonalConfigArgs : global::Pulumi.ResourceArgs + { + [Input("firstZoneMonitorDurationInSeconds")] + public Input? FirstZoneMonitorDurationInSeconds { get; set; } + + [Input("minimumHealthyHostsPerZone")] + public Input? MinimumHealthyHostsPerZone { get; set; } + + [Input("monitorDurationInSeconds")] + public Input? MonitorDurationInSeconds { get; set; } + + public DeploymentConfigZonalConfigArgs() + { + } + public static new DeploymentConfigZonalConfigArgs Empty => new DeploymentConfigZonalConfigArgs(); + } +} diff --git a/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigMinimumHealthyHostsPerZone.cs b/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigMinimumHealthyHostsPerZone.cs new file mode 100644 index 0000000000..52382cde1f --- /dev/null +++ b/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigMinimumHealthyHostsPerZone.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodeDeploy.Outputs +{ + + [OutputType] + public sealed class DeploymentConfigMinimumHealthyHostsPerZone + { + public readonly string Type; + public readonly int Value; + + [OutputConstructor] + private DeploymentConfigMinimumHealthyHostsPerZone( + string type, + + int value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigZonalConfig.cs b/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigZonalConfig.cs new file mode 100644 index 0000000000..a111b93b0c --- /dev/null +++ b/sdk/dotnet/CodeDeploy/Outputs/DeploymentConfigZonalConfig.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodeDeploy.Outputs +{ + + [OutputType] + public sealed class DeploymentConfigZonalConfig + { + public readonly int? FirstZoneMonitorDurationInSeconds; + public readonly Outputs.DeploymentConfigMinimumHealthyHostsPerZone? MinimumHealthyHostsPerZone; + public readonly int? MonitorDurationInSeconds; + + [OutputConstructor] + private DeploymentConfigZonalConfig( + int? firstZoneMonitorDurationInSeconds, + + Outputs.DeploymentConfigMinimumHealthyHostsPerZone? minimumHealthyHostsPerZone, + + int? monitorDurationInSeconds) + { + FirstZoneMonitorDurationInSeconds = firstZoneMonitorDurationInSeconds; + MinimumHealthyHostsPerZone = minimumHealthyHostsPerZone; + MonitorDurationInSeconds = monitorDurationInSeconds; + } + } +} diff --git a/sdk/dotnet/CodePipeline/GetPipeline.cs b/sdk/dotnet/CodePipeline/GetPipeline.cs index 4293d0f8dd..8072f31523 100644 --- a/sdk/dotnet/CodePipeline/GetPipeline.cs +++ b/sdk/dotnet/CodePipeline/GetPipeline.cs @@ -55,10 +55,13 @@ public sealed class GetPipelineResult public readonly ImmutableArray ArtifactStores; public readonly ImmutableArray DisableInboundStageTransitions; public readonly string? Id; + public readonly string? PipelineType; public readonly bool? RestartExecutionOnUpdate; public readonly string? RoleArn; public readonly ImmutableArray Stages; public readonly ImmutableArray Tags; + public readonly ImmutableArray Triggers; + public readonly ImmutableArray Variables; public readonly string? Version; [OutputConstructor] @@ -71,6 +74,8 @@ private GetPipelineResult( string? id, + string? pipelineType, + bool? restartExecutionOnUpdate, string? roleArn, @@ -79,16 +84,23 @@ private GetPipelineResult( ImmutableArray tags, + ImmutableArray triggers, + + ImmutableArray variables, + string? version) { ArtifactStore = artifactStore; ArtifactStores = artifactStores; DisableInboundStageTransitions = disableInboundStageTransitions; Id = id; + PipelineType = pipelineType; RestartExecutionOnUpdate = restartExecutionOnUpdate; RoleArn = roleArn; Stages = stages; Tags = tags; + Triggers = triggers; + Variables = variables; Version = version; } } diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineGitConfigurationArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineGitConfigurationArgs.cs new file mode 100644 index 0000000000..4f55bed3fe --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineGitConfigurationArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Inputs +{ + + public sealed class PipelineGitConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("push")] + private InputList? _push; + public InputList Push + { + get => _push ?? (_push = new InputList()); + set => _push = value; + } + + [Input("sourceActionName", required: true)] + public Input SourceActionName { get; set; } = null!; + + public PipelineGitConfigurationArgs() + { + } + public static new PipelineGitConfigurationArgs Empty => new PipelineGitConfigurationArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineGitPushFilterArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineGitPushFilterArgs.cs new file mode 100644 index 0000000000..afe508ce6e --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineGitPushFilterArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Inputs +{ + + public sealed class PipelineGitPushFilterArgs : global::Pulumi.ResourceArgs + { + [Input("tags")] + public Input? Tags { get; set; } + + public PipelineGitPushFilterArgs() + { + } + public static new PipelineGitPushFilterArgs Empty => new PipelineGitPushFilterArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineGitTagFilterCriteriaArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineGitTagFilterCriteriaArgs.cs new file mode 100644 index 0000000000..81a09b4d76 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineGitTagFilterCriteriaArgs.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Inputs +{ + + public sealed class PipelineGitTagFilterCriteriaArgs : global::Pulumi.ResourceArgs + { + [Input("excludes")] + private InputList? _excludes; + public InputList Excludes + { + get => _excludes ?? (_excludes = new InputList()); + set => _excludes = value; + } + + [Input("includes")] + private InputList? _includes; + public InputList Includes + { + get => _includes ?? (_includes = new InputList()); + set => _includes = value; + } + + public PipelineGitTagFilterCriteriaArgs() + { + } + public static new PipelineGitTagFilterCriteriaArgs Empty => new PipelineGitTagFilterCriteriaArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerDeclarationArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerDeclarationArgs.cs new file mode 100644 index 0000000000..302be170bb --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineTriggerDeclarationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Inputs +{ + + public sealed class PipelineTriggerDeclarationArgs : global::Pulumi.ResourceArgs + { + [Input("gitConfiguration")] + public Input? GitConfiguration { get; set; } + + [Input("providerType", required: true)] + public Input ProviderType { get; set; } = null!; + + public PipelineTriggerDeclarationArgs() + { + } + public static new PipelineTriggerDeclarationArgs Empty => new PipelineTriggerDeclarationArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Inputs/PipelineVariableDeclarationArgs.cs b/sdk/dotnet/CodePipeline/Inputs/PipelineVariableDeclarationArgs.cs new file mode 100644 index 0000000000..efcab2a965 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Inputs/PipelineVariableDeclarationArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Inputs +{ + + public sealed class PipelineVariableDeclarationArgs : global::Pulumi.ResourceArgs + { + [Input("defaultValue")] + public Input? DefaultValue { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public PipelineVariableDeclarationArgs() + { + } + public static new PipelineVariableDeclarationArgs Empty => new PipelineVariableDeclarationArgs(); + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineGitConfiguration.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineGitConfiguration.cs new file mode 100644 index 0000000000..308095e812 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineGitConfiguration.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Outputs +{ + + [OutputType] + public sealed class PipelineGitConfiguration + { + public readonly ImmutableArray Push; + public readonly string SourceActionName; + + [OutputConstructor] + private PipelineGitConfiguration( + ImmutableArray push, + + string sourceActionName) + { + Push = push; + SourceActionName = sourceActionName; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/InstanceEnclaveOptions.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineGitPushFilter.cs similarity index 58% rename from sdk/dotnet/Ec2/Outputs/InstanceEnclaveOptions.cs rename to sdk/dotnet/CodePipeline/Outputs/PipelineGitPushFilter.cs index 445a40f3bb..142cb89a2c 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceEnclaveOptions.cs +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineGitPushFilter.cs @@ -7,18 +7,18 @@ using System.Threading.Tasks; using Pulumi.Serialization; -namespace Pulumi.AwsNative.Ec2.Outputs +namespace Pulumi.AwsNative.CodePipeline.Outputs { [OutputType] - public sealed class InstanceEnclaveOptions + public sealed class PipelineGitPushFilter { - public readonly bool? Enabled; + public readonly Outputs.PipelineGitTagFilterCriteria? Tags; [OutputConstructor] - private InstanceEnclaveOptions(bool? enabled) + private PipelineGitPushFilter(Outputs.PipelineGitTagFilterCriteria? tags) { - Enabled = enabled; + Tags = tags; } } } diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineGitTagFilterCriteria.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineGitTagFilterCriteria.cs new file mode 100644 index 0000000000..32dd73f576 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineGitTagFilterCriteria.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Outputs +{ + + [OutputType] + public sealed class PipelineGitTagFilterCriteria + { + public readonly ImmutableArray Excludes; + public readonly ImmutableArray Includes; + + [OutputConstructor] + private PipelineGitTagFilterCriteria( + ImmutableArray excludes, + + ImmutableArray includes) + { + Excludes = excludes; + Includes = includes; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerDeclaration.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerDeclaration.cs new file mode 100644 index 0000000000..8edb4cd07f --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineTriggerDeclaration.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Outputs +{ + + [OutputType] + public sealed class PipelineTriggerDeclaration + { + public readonly Outputs.PipelineGitConfiguration? GitConfiguration; + public readonly string ProviderType; + + [OutputConstructor] + private PipelineTriggerDeclaration( + Outputs.PipelineGitConfiguration? gitConfiguration, + + string providerType) + { + GitConfiguration = gitConfiguration; + ProviderType = providerType; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Outputs/PipelineVariableDeclaration.cs b/sdk/dotnet/CodePipeline/Outputs/PipelineVariableDeclaration.cs new file mode 100644 index 0000000000..d741405832 --- /dev/null +++ b/sdk/dotnet/CodePipeline/Outputs/PipelineVariableDeclaration.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.CodePipeline.Outputs +{ + + [OutputType] + public sealed class PipelineVariableDeclaration + { + public readonly string? DefaultValue; + public readonly string? Description; + public readonly string Name; + + [OutputConstructor] + private PipelineVariableDeclaration( + string? defaultValue, + + string? description, + + string name) + { + DefaultValue = defaultValue; + Description = description; + Name = name; + } + } +} diff --git a/sdk/dotnet/CodePipeline/Pipeline.cs b/sdk/dotnet/CodePipeline/Pipeline.cs index a968657c62..b8544d5f75 100644 --- a/sdk/dotnet/CodePipeline/Pipeline.cs +++ b/sdk/dotnet/CodePipeline/Pipeline.cs @@ -28,6 +28,9 @@ public partial class Pipeline : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + [Output("pipelineType")] + public Output PipelineType { get; private set; } = null!; + [Output("restartExecutionOnUpdate")] public Output RestartExecutionOnUpdate { get; private set; } = null!; @@ -40,6 +43,12 @@ public partial class Pipeline : global::Pulumi.CustomResource [Output("tags")] public Output> Tags { get; private set; } = null!; + [Output("triggers")] + public Output> Triggers { get; private set; } = null!; + + [Output("variables")] + public Output> Variables { get; private set; } = null!; + [Output("version")] public Output Version { get; private set; } = null!; @@ -114,6 +123,9 @@ public InputList DisableInboundStageTransiti [Input("name")] public Input? Name { get; set; } + [Input("pipelineType")] + public Input? PipelineType { get; set; } + [Input("restartExecutionOnUpdate")] public Input? RestartExecutionOnUpdate { get; set; } @@ -136,6 +148,22 @@ public InputList Tags set => _tags = value; } + [Input("triggers")] + private InputList? _triggers; + public InputList Triggers + { + get => _triggers ?? (_triggers = new InputList()); + set => _triggers = value; + } + + [Input("variables")] + private InputList? _variables; + public InputList Variables + { + get => _variables ?? (_variables = new InputList()); + set => _variables = value; + } + public PipelineArgs() { } diff --git a/sdk/dotnet/Configuration/ConfigurationRecorder.cs b/sdk/dotnet/Configuration/ConfigurationRecorder.cs index ad2f74d71a..29d3a84e59 100644 --- a/sdk/dotnet/Configuration/ConfigurationRecorder.cs +++ b/sdk/dotnet/Configuration/ConfigurationRecorder.cs @@ -22,6 +22,9 @@ public partial class ConfigurationRecorder : global::Pulumi.CustomResource [Output("recordingGroup")] public Output RecordingGroup { get; private set; } = null!; + [Output("recordingMode")] + public Output RecordingMode { get; private set; } = null!; + [Output("roleArn")] public Output RoleArn { get; private set; } = null!; @@ -80,6 +83,9 @@ public sealed class ConfigurationRecorderArgs : global::Pulumi.ResourceArgs [Input("recordingGroup")] public Input? RecordingGroup { get; set; } + [Input("recordingMode")] + public Input? RecordingMode { get; set; } + [Input("roleArn", required: true)] public Input RoleArn { get; set; } = null!; diff --git a/sdk/dotnet/Configuration/GetConfigurationRecorder.cs b/sdk/dotnet/Configuration/GetConfigurationRecorder.cs index c333313e15..60cb0a8f0f 100644 --- a/sdk/dotnet/Configuration/GetConfigurationRecorder.cs +++ b/sdk/dotnet/Configuration/GetConfigurationRecorder.cs @@ -53,6 +53,7 @@ public sealed class GetConfigurationRecorderResult { public readonly string? Id; public readonly Outputs.ConfigurationRecorderRecordingGroup? RecordingGroup; + public readonly Outputs.ConfigurationRecorderRecordingMode? RecordingMode; public readonly string? RoleArn; [OutputConstructor] @@ -61,10 +62,13 @@ private GetConfigurationRecorderResult( Outputs.ConfigurationRecorderRecordingGroup? recordingGroup, + Outputs.ConfigurationRecorderRecordingMode? recordingMode, + string? roleArn) { Id = id; RecordingGroup = recordingGroup; + RecordingMode = recordingMode; RoleArn = roleArn; } } diff --git a/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeArgs.cs b/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeArgs.cs new file mode 100644 index 0000000000..ff09bc24c4 --- /dev/null +++ b/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeArgs.cs @@ -0,0 +1,31 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Configuration.Inputs +{ + + public sealed class ConfigurationRecorderRecordingModeArgs : global::Pulumi.ResourceArgs + { + [Input("recordingFrequency", required: true)] + public Input RecordingFrequency { get; set; } = null!; + + [Input("recordingModeOverrides")] + private InputList? _recordingModeOverrides; + public InputList RecordingModeOverrides + { + get => _recordingModeOverrides ?? (_recordingModeOverrides = new InputList()); + set => _recordingModeOverrides = value; + } + + public ConfigurationRecorderRecordingModeArgs() + { + } + public static new ConfigurationRecorderRecordingModeArgs Empty => new ConfigurationRecorderRecordingModeArgs(); + } +} diff --git a/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeOverrideArgs.cs b/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeOverrideArgs.cs new file mode 100644 index 0000000000..5bb6b904d5 --- /dev/null +++ b/sdk/dotnet/Configuration/Inputs/ConfigurationRecorderRecordingModeOverrideArgs.cs @@ -0,0 +1,34 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Configuration.Inputs +{ + + public sealed class ConfigurationRecorderRecordingModeOverrideArgs : global::Pulumi.ResourceArgs + { + [Input("description")] + public Input? Description { get; set; } + + [Input("recordingFrequency", required: true)] + public Input RecordingFrequency { get; set; } = null!; + + [Input("resourceTypes", required: true)] + private InputList? _resourceTypes; + public InputList ResourceTypes + { + get => _resourceTypes ?? (_resourceTypes = new InputList()); + set => _resourceTypes = value; + } + + public ConfigurationRecorderRecordingModeOverrideArgs() + { + } + public static new ConfigurationRecorderRecordingModeOverrideArgs Empty => new ConfigurationRecorderRecordingModeOverrideArgs(); + } +} diff --git a/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingMode.cs b/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingMode.cs new file mode 100644 index 0000000000..548c43e31d --- /dev/null +++ b/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingMode.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Configuration.Outputs +{ + + [OutputType] + public sealed class ConfigurationRecorderRecordingMode + { + public readonly string RecordingFrequency; + public readonly ImmutableArray RecordingModeOverrides; + + [OutputConstructor] + private ConfigurationRecorderRecordingMode( + string recordingFrequency, + + ImmutableArray recordingModeOverrides) + { + RecordingFrequency = recordingFrequency; + RecordingModeOverrides = recordingModeOverrides; + } + } +} diff --git a/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingModeOverride.cs b/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingModeOverride.cs new file mode 100644 index 0000000000..b65b4f6c32 --- /dev/null +++ b/sdk/dotnet/Configuration/Outputs/ConfigurationRecorderRecordingModeOverride.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Configuration.Outputs +{ + + [OutputType] + public sealed class ConfigurationRecorderRecordingModeOverride + { + public readonly string? Description; + public readonly string RecordingFrequency; + public readonly ImmutableArray ResourceTypes; + + [OutputConstructor] + private ConfigurationRecorderRecordingModeOverride( + string? description, + + string recordingFrequency, + + ImmutableArray resourceTypes) + { + Description = description; + RecordingFrequency = recordingFrequency; + ResourceTypes = resourceTypes; + } + } +} diff --git a/sdk/dotnet/Connect/Enums.cs b/sdk/dotnet/Connect/Enums.cs index e0481bd98d..b96877495a 100644 --- a/sdk/dotnet/Connect/Enums.cs +++ b/sdk/dotnet/Connect/Enums.cs @@ -513,6 +513,7 @@ private IntegrationAssociationIntegrationType(string value) public static IntegrationAssociationIntegrationType LexBot { get; } = new IntegrationAssociationIntegrationType("LEX_BOT"); public static IntegrationAssociationIntegrationType LambdaFunction { get; } = new IntegrationAssociationIntegrationType("LAMBDA_FUNCTION"); + public static IntegrationAssociationIntegrationType Application { get; } = new IntegrationAssociationIntegrationType("APPLICATION"); public static bool operator ==(IntegrationAssociationIntegrationType left, IntegrationAssociationIntegrationType right) => left.Equals(right); public static bool operator !=(IntegrationAssociationIntegrationType left, IntegrationAssociationIntegrationType right) => !left.Equals(right); diff --git a/sdk/dotnet/Connect/GetInstance.cs b/sdk/dotnet/Connect/GetInstance.cs index 4c4a737282..ff183afaee 100644 --- a/sdk/dotnet/Connect/GetInstance.cs +++ b/sdk/dotnet/Connect/GetInstance.cs @@ -81,6 +81,10 @@ public sealed class GetInstanceResult /// Service linked role created as part of instance creation. /// public readonly string? ServiceRole; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; [OutputConstructor] private GetInstanceResult( @@ -94,7 +98,9 @@ private GetInstanceResult( Pulumi.AwsNative.Connect.InstanceStatus? instanceStatus, - string? serviceRole) + string? serviceRole, + + ImmutableArray tags) { Arn = arn; Attributes = attributes; @@ -102,6 +108,7 @@ private GetInstanceResult( Id = id; InstanceStatus = instanceStatus; ServiceRole = serviceRole; + Tags = tags; } } } diff --git a/sdk/dotnet/Connect/Inputs/InstanceStorageConfigKinesisVideoStreamConfigArgs.cs b/sdk/dotnet/Connect/Inputs/InstanceStorageConfigKinesisVideoStreamConfigArgs.cs index 75cbb144c5..c9c2a97801 100644 --- a/sdk/dotnet/Connect/Inputs/InstanceStorageConfigKinesisVideoStreamConfigArgs.cs +++ b/sdk/dotnet/Connect/Inputs/InstanceStorageConfigKinesisVideoStreamConfigArgs.cs @@ -12,8 +12,8 @@ namespace Pulumi.AwsNative.Connect.Inputs public sealed class InstanceStorageConfigKinesisVideoStreamConfigArgs : global::Pulumi.ResourceArgs { - [Input("encryptionConfig")] - public Input? EncryptionConfig { get; set; } + [Input("encryptionConfig", required: true)] + public Input EncryptionConfig { get; set; } = null!; [Input("prefix", required: true)] public Input Prefix { get; set; } = null!; diff --git a/sdk/dotnet/Connect/Inputs/InstanceTagArgs.cs b/sdk/dotnet/Connect/Inputs/InstanceTagArgs.cs new file mode 100644 index 0000000000..f50d560627 --- /dev/null +++ b/sdk/dotnet/Connect/Inputs/InstanceTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Connect.Inputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + public sealed class InstanceTagArgs : global::Pulumi.ResourceArgs + { + /// + /// 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 -. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// 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 -. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public InstanceTagArgs() + { + } + public static new InstanceTagArgs Empty => new InstanceTagArgs(); + } +} diff --git a/sdk/dotnet/Connect/Instance.cs b/sdk/dotnet/Connect/Instance.cs index 4e60a6d0b1..c000fdd7ed 100644 --- a/sdk/dotnet/Connect/Instance.cs +++ b/sdk/dotnet/Connect/Instance.cs @@ -63,6 +63,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("serviceRole")] public Output ServiceRole { get; private set; } = null!; + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + /// /// Create a Instance resource with the given unique name, arguments, and options. @@ -138,6 +144,18 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("instanceAlias")] public Input? InstanceAlias { get; set; } + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + public InstanceArgs() { } diff --git a/sdk/dotnet/Connect/Outputs/InstanceStorageConfigKinesisVideoStreamConfig.cs b/sdk/dotnet/Connect/Outputs/InstanceStorageConfigKinesisVideoStreamConfig.cs index d0d3765576..e122c5d95a 100644 --- a/sdk/dotnet/Connect/Outputs/InstanceStorageConfigKinesisVideoStreamConfig.cs +++ b/sdk/dotnet/Connect/Outputs/InstanceStorageConfigKinesisVideoStreamConfig.cs @@ -13,13 +13,13 @@ namespace Pulumi.AwsNative.Connect.Outputs [OutputType] public sealed class InstanceStorageConfigKinesisVideoStreamConfig { - public readonly Outputs.InstanceStorageConfigEncryptionConfig? EncryptionConfig; + public readonly Outputs.InstanceStorageConfigEncryptionConfig EncryptionConfig; public readonly string Prefix; public readonly double RetentionPeriodHours; [OutputConstructor] private InstanceStorageConfigKinesisVideoStreamConfig( - Outputs.InstanceStorageConfigEncryptionConfig? encryptionConfig, + Outputs.InstanceStorageConfigEncryptionConfig encryptionConfig, string prefix, diff --git a/sdk/dotnet/Connect/Outputs/InstanceTag.cs b/sdk/dotnet/Connect/Outputs/InstanceTag.cs new file mode 100644 index 0000000000..6fc5acf25b --- /dev/null +++ b/sdk/dotnet/Connect/Outputs/InstanceTag.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Connect.Outputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + [OutputType] + public sealed class InstanceTag + { + /// + /// 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 -. + /// + public readonly string Key; + /// + /// 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 -. + /// + public readonly string Value; + + [OutputConstructor] + private InstanceTag( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Dms/DataProvider.cs b/sdk/dotnet/Dms/DataProvider.cs new file mode 100644 index 0000000000..1bca2364a0 --- /dev/null +++ b/sdk/dotnet/Dms/DataProvider.cs @@ -0,0 +1,170 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + /// + /// Resource schema for AWS::DMS::DataProvider + /// + [AwsNativeResourceType("aws-native:dms:DataProvider")] + public partial class DataProvider : global::Pulumi.CustomResource + { + /// + /// The data provider ARN. + /// + [Output("dataProviderArn")] + public Output DataProviderArn { get; private set; } = null!; + + /// + /// The data provider creation time. + /// + [Output("dataProviderCreationTime")] + public Output DataProviderCreationTime { get; private set; } = null!; + + /// + /// The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + /// + [Output("dataProviderIdentifier")] + public Output DataProviderIdentifier { get; private set; } = null!; + + /// + /// The property describes a name to identify the data provider. + /// + [Output("dataProviderName")] + public Output DataProviderName { get; private set; } = null!; + + /// + /// The optional description of the data provider. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The property describes a data engine for the data provider. + /// + [Output("engine")] + public Output Engine { get; private set; } = null!; + + /// + /// The property describes the exact settings which can be modified + /// + [Output("exactSettings")] + public Output ExactSettings { get; private set; } = null!; + + /// + /// The property identifies the exact type of settings for the data provider. + /// + [Output("settings")] + public Output Settings { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a DataProvider resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DataProvider(string name, DataProviderArgs args, CustomResourceOptions? options = null) + : base("aws-native:dms:DataProvider", name, args ?? new DataProviderArgs(), MakeResourceOptions(options, "")) + { + } + + private DataProvider(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:dms:DataProvider", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DataProvider resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static DataProvider Get(string name, Input id, CustomResourceOptions? options = null) + { + return new DataProvider(name, id, options); + } + } + + public sealed class DataProviderArgs : global::Pulumi.ResourceArgs + { + /// + /// The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + /// + [Input("dataProviderIdentifier")] + public Input? DataProviderIdentifier { get; set; } + + /// + /// The property describes a name to identify the data provider. + /// + [Input("dataProviderName")] + public Input? DataProviderName { get; set; } + + /// + /// The optional description of the data provider. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The property describes a data engine for the data provider. + /// + [Input("engine", required: true)] + public Input Engine { get; set; } = null!; + + /// + /// The property describes the exact settings which can be modified + /// + [Input("exactSettings")] + public Input? ExactSettings { get; set; } + + /// + /// The property identifies the exact type of settings for the data provider. + /// + [Input("settings")] + public object? Settings { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public DataProviderArgs() + { + } + public static new DataProviderArgs Empty => new DataProviderArgs(); + } +} diff --git a/sdk/dotnet/Dms/Enums.cs b/sdk/dotnet/Dms/Enums.cs index 4b260e9c06..c660532ada 100644 --- a/sdk/dotnet/Dms/Enums.cs +++ b/sdk/dotnet/Dms/Enums.cs @@ -7,6 +7,103 @@ namespace Pulumi.AwsNative.Dms { + [EnumType] + public readonly struct DataProviderDmsSslModeValue : IEquatable + { + private readonly string _value; + + private DataProviderDmsSslModeValue(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DataProviderDmsSslModeValue None { get; } = new DataProviderDmsSslModeValue("none"); + public static DataProviderDmsSslModeValue Require { get; } = new DataProviderDmsSslModeValue("require"); + public static DataProviderDmsSslModeValue VerifyCa { get; } = new DataProviderDmsSslModeValue("verify_ca"); + public static DataProviderDmsSslModeValue VerifyFull { get; } = new DataProviderDmsSslModeValue("verify_full"); + + public static bool operator ==(DataProviderDmsSslModeValue left, DataProviderDmsSslModeValue right) => left.Equals(right); + public static bool operator !=(DataProviderDmsSslModeValue left, DataProviderDmsSslModeValue right) => !left.Equals(right); + + public static explicit operator string(DataProviderDmsSslModeValue value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataProviderDmsSslModeValue other && Equals(other); + public bool Equals(DataProviderDmsSslModeValue other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The property describes a data engine for the data provider. + /// + [EnumType] + public readonly struct DataProviderEngine : IEquatable + { + private readonly string _value; + + private DataProviderEngine(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DataProviderEngine Postgresql { get; } = new DataProviderEngine("postgresql"); + public static DataProviderEngine Mysql { get; } = new DataProviderEngine("mysql"); + public static DataProviderEngine Oracle { get; } = new DataProviderEngine("oracle"); + public static DataProviderEngine Sqlserver { get; } = new DataProviderEngine("sqlserver"); + public static DataProviderEngine Aurora { get; } = new DataProviderEngine("aurora"); + public static DataProviderEngine AuroraPostgresql { get; } = new DataProviderEngine("aurora_postgresql"); + + public static bool operator ==(DataProviderEngine left, DataProviderEngine right) => left.Equals(right); + public static bool operator !=(DataProviderEngine left, DataProviderEngine right) => !left.Equals(right); + + public static explicit operator string(DataProviderEngine value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DataProviderEngine other && Equals(other); + public bool Equals(DataProviderEngine other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The property describes a network type for the instance profile. + /// + [EnumType] + public readonly struct InstanceProfileNetworkType : IEquatable + { + private readonly string _value; + + private InstanceProfileNetworkType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static InstanceProfileNetworkType Ipv4 { get; } = new InstanceProfileNetworkType("IPV4"); + public static InstanceProfileNetworkType Ipv6 { get; } = new InstanceProfileNetworkType("IPV6"); + public static InstanceProfileNetworkType Dual { get; } = new InstanceProfileNetworkType("DUAL"); + + public static bool operator ==(InstanceProfileNetworkType left, InstanceProfileNetworkType right) => left.Equals(right); + public static bool operator !=(InstanceProfileNetworkType left, InstanceProfileNetworkType right) => !left.Equals(right); + + public static explicit operator string(InstanceProfileNetworkType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is InstanceProfileNetworkType other && Equals(other); + public bool Equals(InstanceProfileNetworkType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// The type of AWS DMS Serverless replication to provision using this replication configuration /// diff --git a/sdk/dotnet/Dms/GetDataProvider.cs b/sdk/dotnet/Dms/GetDataProvider.cs new file mode 100644 index 0000000000..3a42b8c5e1 --- /dev/null +++ b/sdk/dotnet/Dms/GetDataProvider.cs @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + public static class GetDataProvider + { + /// + /// Resource schema for AWS::DMS::DataProvider + /// + public static Task InvokeAsync(GetDataProviderArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:dms:getDataProvider", args ?? new GetDataProviderArgs(), options.WithDefaults()); + + /// + /// Resource schema for AWS::DMS::DataProvider + /// + public static Output Invoke(GetDataProviderInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:dms:getDataProvider", args ?? new GetDataProviderInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDataProviderArgs : global::Pulumi.InvokeArgs + { + /// + /// The data provider ARN. + /// + [Input("dataProviderArn", required: true)] + public string DataProviderArn { get; set; } = null!; + + public GetDataProviderArgs() + { + } + public static new GetDataProviderArgs Empty => new GetDataProviderArgs(); + } + + public sealed class GetDataProviderInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The data provider ARN. + /// + [Input("dataProviderArn", required: true)] + public Input DataProviderArn { get; set; } = null!; + + public GetDataProviderInvokeArgs() + { + } + public static new GetDataProviderInvokeArgs Empty => new GetDataProviderInvokeArgs(); + } + + + [OutputType] + public sealed class GetDataProviderResult + { + /// + /// The data provider ARN. + /// + public readonly string? DataProviderArn; + /// + /// The data provider creation time. + /// + public readonly string? DataProviderCreationTime; + /// + /// The property describes a name to identify the data provider. + /// + public readonly string? DataProviderName; + /// + /// The optional description of the data provider. + /// + public readonly string? Description; + /// + /// The property describes a data engine for the data provider. + /// + public readonly Pulumi.AwsNative.Dms.DataProviderEngine? Engine; + /// + /// The property identifies the exact type of settings for the data provider. + /// + public readonly object? Settings; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetDataProviderResult( + string? dataProviderArn, + + string? dataProviderCreationTime, + + string? dataProviderName, + + string? description, + + Pulumi.AwsNative.Dms.DataProviderEngine? engine, + + object? settings, + + ImmutableArray tags) + { + DataProviderArn = dataProviderArn; + DataProviderCreationTime = dataProviderCreationTime; + DataProviderName = dataProviderName; + Description = description; + Engine = engine; + Settings = settings; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Dms/GetInstanceProfile.cs b/sdk/dotnet/Dms/GetInstanceProfile.cs new file mode 100644 index 0000000000..c4281d65f0 --- /dev/null +++ b/sdk/dotnet/Dms/GetInstanceProfile.cs @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + public static class GetInstanceProfile + { + /// + /// Resource schema for AWS::DMS::InstanceProfile. + /// + public static Task InvokeAsync(GetInstanceProfileArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:dms:getInstanceProfile", args ?? new GetInstanceProfileArgs(), options.WithDefaults()); + + /// + /// Resource schema for AWS::DMS::InstanceProfile. + /// + public static Output Invoke(GetInstanceProfileInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:dms:getInstanceProfile", args ?? new GetInstanceProfileInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetInstanceProfileArgs : global::Pulumi.InvokeArgs + { + /// + /// The property describes an ARN of the instance profile. + /// + [Input("instanceProfileArn", required: true)] + public string InstanceProfileArn { get; set; } = null!; + + public GetInstanceProfileArgs() + { + } + public static new GetInstanceProfileArgs Empty => new GetInstanceProfileArgs(); + } + + public sealed class GetInstanceProfileInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The property describes an ARN of the instance profile. + /// + [Input("instanceProfileArn", required: true)] + public Input InstanceProfileArn { get; set; } = null!; + + public GetInstanceProfileInvokeArgs() + { + } + public static new GetInstanceProfileInvokeArgs Empty => new GetInstanceProfileInvokeArgs(); + } + + + [OutputType] + public sealed class GetInstanceProfileResult + { + /// + /// The property describes an availability zone of the instance profile. + /// + public readonly string? AvailabilityZone; + /// + /// The optional description of the instance profile. + /// + public readonly string? Description; + /// + /// The property describes an ARN of the instance profile. + /// + public readonly string? InstanceProfileArn; + /// + /// The property describes a creating time of the instance profile. + /// + public readonly string? InstanceProfileCreationTime; + /// + /// The property describes a name for the instance profile. + /// + public readonly string? InstanceProfileName; + /// + /// The property describes kms key arn for the instance profile. + /// + public readonly string? KmsKeyArn; + /// + /// The property describes a network type for the instance profile. + /// + public readonly Pulumi.AwsNative.Dms.InstanceProfileNetworkType? NetworkType; + /// + /// The property describes the publicly accessible of the instance profile + /// + public readonly bool? PubliclyAccessible; + /// + /// The property describes a subnet group identifier for the instance profile. + /// + public readonly string? SubnetGroupIdentifier; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + /// + /// The property describes vps security groups for the instance profile. + /// + public readonly ImmutableArray VpcSecurityGroups; + + [OutputConstructor] + private GetInstanceProfileResult( + string? availabilityZone, + + string? description, + + string? instanceProfileArn, + + string? instanceProfileCreationTime, + + string? instanceProfileName, + + string? kmsKeyArn, + + Pulumi.AwsNative.Dms.InstanceProfileNetworkType? networkType, + + bool? publiclyAccessible, + + string? subnetGroupIdentifier, + + ImmutableArray tags, + + ImmutableArray vpcSecurityGroups) + { + AvailabilityZone = availabilityZone; + Description = description; + InstanceProfileArn = instanceProfileArn; + InstanceProfileCreationTime = instanceProfileCreationTime; + InstanceProfileName = instanceProfileName; + KmsKeyArn = kmsKeyArn; + NetworkType = networkType; + PubliclyAccessible = publiclyAccessible; + SubnetGroupIdentifier = subnetGroupIdentifier; + Tags = tags; + VpcSecurityGroups = vpcSecurityGroups; + } + } +} diff --git a/sdk/dotnet/Dms/GetMigrationProject.cs b/sdk/dotnet/Dms/GetMigrationProject.cs new file mode 100644 index 0000000000..9e571c76a5 --- /dev/null +++ b/sdk/dotnet/Dms/GetMigrationProject.cs @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + public static class GetMigrationProject + { + /// + /// Resource schema for AWS::DMS::MigrationProject + /// + public static Task InvokeAsync(GetMigrationProjectArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:dms:getMigrationProject", args ?? new GetMigrationProjectArgs(), options.WithDefaults()); + + /// + /// Resource schema for AWS::DMS::MigrationProject + /// + public static Output Invoke(GetMigrationProjectInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:dms:getMigrationProject", args ?? new GetMigrationProjectInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetMigrationProjectArgs : global::Pulumi.InvokeArgs + { + /// + /// The property describes an ARN of the migration project. + /// + [Input("migrationProjectArn", required: true)] + public string MigrationProjectArn { get; set; } = null!; + + public GetMigrationProjectArgs() + { + } + public static new GetMigrationProjectArgs Empty => new GetMigrationProjectArgs(); + } + + public sealed class GetMigrationProjectInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The property describes an ARN of the migration project. + /// + [Input("migrationProjectArn", required: true)] + public Input MigrationProjectArn { get; set; } = null!; + + public GetMigrationProjectInvokeArgs() + { + } + public static new GetMigrationProjectInvokeArgs Empty => new GetMigrationProjectInvokeArgs(); + } + + + [OutputType] + public sealed class GetMigrationProjectResult + { + /// + /// The optional description of the migration project. + /// + public readonly string? Description; + /// + /// The property describes an instance profile arn for the migration project. For read + /// + public readonly string? InstanceProfileArn; + /// + /// The property describes an instance profile name for the migration project. For read + /// + public readonly string? InstanceProfileName; + /// + /// The property describes an ARN of the migration project. + /// + public readonly string? MigrationProjectArn; + /// + /// The property describes a creating time of the migration project. + /// + public readonly string? MigrationProjectCreationTime; + /// + /// The property describes a name to identify the migration project. + /// + public readonly string? MigrationProjectName; + /// + /// The property describes schema conversion application attributes for the migration project. + /// + public readonly Outputs.SchemaConversionApplicationAttributesProperties? SchemaConversionApplicationAttributes; + /// + /// The property describes source data provider descriptors for the migration project. + /// + public readonly ImmutableArray SourceDataProviderDescriptors; + /// + /// An array of key-value pairs to apply to this resource. + /// + public readonly ImmutableArray Tags; + /// + /// The property describes target data provider descriptors for the migration project. + /// + public readonly ImmutableArray TargetDataProviderDescriptors; + /// + /// The property describes transformation rules for the migration project. + /// + public readonly string? TransformationRules; + + [OutputConstructor] + private GetMigrationProjectResult( + string? description, + + string? instanceProfileArn, + + string? instanceProfileName, + + string? migrationProjectArn, + + string? migrationProjectCreationTime, + + string? migrationProjectName, + + Outputs.SchemaConversionApplicationAttributesProperties? schemaConversionApplicationAttributes, + + ImmutableArray sourceDataProviderDescriptors, + + ImmutableArray tags, + + ImmutableArray targetDataProviderDescriptors, + + string? transformationRules) + { + Description = description; + InstanceProfileArn = instanceProfileArn; + InstanceProfileName = instanceProfileName; + MigrationProjectArn = migrationProjectArn; + MigrationProjectCreationTime = migrationProjectCreationTime; + MigrationProjectName = migrationProjectName; + SchemaConversionApplicationAttributes = schemaConversionApplicationAttributes; + SourceDataProviderDescriptors = sourceDataProviderDescriptors; + Tags = tags; + TargetDataProviderDescriptors = targetDataProviderDescriptors; + TransformationRules = transformationRules; + } + } +} diff --git a/sdk/dotnet/Dms/GetReplicationConfig.cs b/sdk/dotnet/Dms/GetReplicationConfig.cs index d46b1e39b3..e338439a0d 100644 --- a/sdk/dotnet/Dms/GetReplicationConfig.cs +++ b/sdk/dotnet/Dms/GetReplicationConfig.cs @@ -75,10 +75,6 @@ public sealed class GetReplicationConfigResult /// public readonly Pulumi.AwsNative.Dms.ReplicationConfigReplicationType? ReplicationType; /// - /// 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 - /// - public readonly string? ResourceIdentifier; - /// /// The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration /// public readonly string? SourceEndpointArn; @@ -111,8 +107,6 @@ private GetReplicationConfigResult( Pulumi.AwsNative.Dms.ReplicationConfigReplicationType? replicationType, - string? resourceIdentifier, - string? sourceEndpointArn, object? supplementalSettings, @@ -128,7 +122,6 @@ private GetReplicationConfigResult( ReplicationConfigIdentifier = replicationConfigIdentifier; ReplicationSettings = replicationSettings; ReplicationType = replicationType; - ResourceIdentifier = resourceIdentifier; SourceEndpointArn = sourceEndpointArn; SupplementalSettings = supplementalSettings; TableMappings = tableMappings; diff --git a/sdk/dotnet/Dms/Inputs/DataProviderTagArgs.cs b/sdk/dotnet/Dms/Inputs/DataProviderTagArgs.cs new file mode 100644 index 0000000000..2f953bace9 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/DataProviderTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + public sealed class DataProviderTagArgs : global::Pulumi.ResourceArgs + { + /// + /// 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 -. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// 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 -. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DataProviderTagArgs() + { + } + public static new DataProviderTagArgs Empty => new DataProviderTagArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/EndpointIbmDb2SettingsArgs.cs b/sdk/dotnet/Dms/Inputs/EndpointIbmDb2SettingsArgs.cs index b29d7b67fa..ce25d5930a 100644 --- a/sdk/dotnet/Dms/Inputs/EndpointIbmDb2SettingsArgs.cs +++ b/sdk/dotnet/Dms/Inputs/EndpointIbmDb2SettingsArgs.cs @@ -15,6 +15,15 @@ public sealed class EndpointIbmDb2SettingsArgs : global::Pulumi.ResourceArgs [Input("currentLsn")] public Input? CurrentLsn { get; set; } + [Input("keepCsvFiles")] + public Input? KeepCsvFiles { get; set; } + + [Input("loadTimeout")] + public Input? LoadTimeout { get; set; } + + [Input("maxFileSize")] + public Input? MaxFileSize { get; set; } + [Input("maxKBytesPerRead")] public Input? MaxKBytesPerRead { get; set; } @@ -27,6 +36,9 @@ public sealed class EndpointIbmDb2SettingsArgs : global::Pulumi.ResourceArgs [Input("setDataCaptureChanges")] public Input? SetDataCaptureChanges { get; set; } + [Input("writeBufferSize")] + public Input? WriteBufferSize { get; set; } + public EndpointIbmDb2SettingsArgs() { } diff --git a/sdk/dotnet/Dms/Inputs/InstanceProfileTagArgs.cs b/sdk/dotnet/Dms/Inputs/InstanceProfileTagArgs.cs new file mode 100644 index 0000000000..f2c6d7edab --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/InstanceProfileTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + public sealed class InstanceProfileTagArgs : global::Pulumi.ResourceArgs + { + /// + /// 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 -. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// 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 -. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public InstanceProfileTagArgs() + { + } + public static new InstanceProfileTagArgs Empty => new InstanceProfileTagArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/MigrationProjectDataProviderDescriptorArgs.cs b/sdk/dotnet/Dms/Inputs/MigrationProjectDataProviderDescriptorArgs.cs new file mode 100644 index 0000000000..00a2da7990 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/MigrationProjectDataProviderDescriptorArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + /// + public sealed class MigrationProjectDataProviderDescriptorArgs : global::Pulumi.ResourceArgs + { + [Input("dataProviderArn")] + public Input? DataProviderArn { get; set; } + + [Input("dataProviderIdentifier")] + public Input? DataProviderIdentifier { get; set; } + + [Input("dataProviderName")] + public Input? DataProviderName { get; set; } + + [Input("secretsManagerAccessRoleArn")] + public Input? SecretsManagerAccessRoleArn { get; set; } + + [Input("secretsManagerSecretId")] + public Input? SecretsManagerSecretId { get; set; } + + public MigrationProjectDataProviderDescriptorArgs() + { + } + public static new MigrationProjectDataProviderDescriptorArgs Empty => new MigrationProjectDataProviderDescriptorArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/MigrationProjectTagArgs.cs b/sdk/dotnet/Dms/Inputs/MigrationProjectTagArgs.cs new file mode 100644 index 0000000000..226a3430a2 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/MigrationProjectTagArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + public sealed class MigrationProjectTagArgs : global::Pulumi.ResourceArgs + { + /// + /// 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 -. + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// 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 -. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public MigrationProjectTagArgs() + { + } + public static new MigrationProjectTagArgs Empty => new MigrationProjectTagArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/SchemaConversionApplicationAttributesPropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/SchemaConversionApplicationAttributesPropertiesArgs.cs new file mode 100644 index 0000000000..f2ea13b2ba --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/SchemaConversionApplicationAttributesPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// The property describes schema conversion application attributes for the migration project. + /// + public sealed class SchemaConversionApplicationAttributesPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("s3BucketPath")] + public Input? S3BucketPath { get; set; } + + [Input("s3BucketRoleArn")] + public Input? S3BucketRoleArn { get; set; } + + public SchemaConversionApplicationAttributesPropertiesArgs() + { + } + public static new SchemaConversionApplicationAttributesPropertiesArgs Empty => new SchemaConversionApplicationAttributesPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings0PropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings0PropertiesArgs.cs new file mode 100644 index 0000000000..ef22047b8f --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings0PropertiesArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// PostgreSqlSettings property identifier. + /// + public sealed class Settings0PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("postgreSqlSettings")] + public Input? PostgreSqlSettings { get; set; } + + public Settings0PropertiesArgs() + { + } + public static new Settings0PropertiesArgs Empty => new Settings0PropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings0PropertiesPostgreSqlSettingsPropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings0PropertiesPostgreSqlSettingsPropertiesArgs.cs new file mode 100644 index 0000000000..387f877935 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings0PropertiesPostgreSqlSettingsPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + public sealed class Settings0PropertiesPostgreSqlSettingsPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("certificateArn")] + public Input? CertificateArn { get; set; } + + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + [Input("port")] + public Input? Port { get; set; } + + [Input("serverName")] + public Input? ServerName { get; set; } + + [Input("sslMode")] + public Input? SslMode { get; set; } + + public Settings0PropertiesPostgreSqlSettingsPropertiesArgs() + { + } + public static new Settings0PropertiesPostgreSqlSettingsPropertiesArgs Empty => new Settings0PropertiesPostgreSqlSettingsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings1PropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings1PropertiesArgs.cs new file mode 100644 index 0000000000..7a90a7e9e0 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings1PropertiesArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// MySqlSettings property identifier. + /// + public sealed class Settings1PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("mySqlSettings")] + public Input? MySqlSettings { get; set; } + + public Settings1PropertiesArgs() + { + } + public static new Settings1PropertiesArgs Empty => new Settings1PropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings1PropertiesMySqlSettingsPropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings1PropertiesMySqlSettingsPropertiesArgs.cs new file mode 100644 index 0000000000..28bf0b1c6f --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings1PropertiesMySqlSettingsPropertiesArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + public sealed class Settings1PropertiesMySqlSettingsPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("certificateArn")] + public Input? CertificateArn { get; set; } + + [Input("port")] + public Input? Port { get; set; } + + [Input("serverName")] + public Input? ServerName { get; set; } + + [Input("sslMode")] + public Input? SslMode { get; set; } + + public Settings1PropertiesMySqlSettingsPropertiesArgs() + { + } + public static new Settings1PropertiesMySqlSettingsPropertiesArgs Empty => new Settings1PropertiesMySqlSettingsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings2PropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings2PropertiesArgs.cs new file mode 100644 index 0000000000..89a477fa95 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings2PropertiesArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// OracleSettings property identifier. + /// + public sealed class Settings2PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("oracleSettings")] + public Input? OracleSettings { get; set; } + + public Settings2PropertiesArgs() + { + } + public static new Settings2PropertiesArgs Empty => new Settings2PropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings2PropertiesOracleSettingsPropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings2PropertiesOracleSettingsPropertiesArgs.cs new file mode 100644 index 0000000000..ae3e18a2d0 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings2PropertiesOracleSettingsPropertiesArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + public sealed class Settings2PropertiesOracleSettingsPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("asmServer")] + public Input? AsmServer { get; set; } + + [Input("certificateArn")] + public Input? CertificateArn { get; set; } + + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + [Input("port")] + public Input? Port { get; set; } + + [Input("secretsManagerOracleAsmAccessRoleArn")] + public Input? SecretsManagerOracleAsmAccessRoleArn { get; set; } + + [Input("secretsManagerOracleAsmSecretId")] + public Input? SecretsManagerOracleAsmSecretId { get; set; } + + [Input("secretsManagerSecurityDbEncryptionAccessRoleArn")] + public Input? SecretsManagerSecurityDbEncryptionAccessRoleArn { get; set; } + + [Input("secretsManagerSecurityDbEncryptionSecretId")] + public Input? SecretsManagerSecurityDbEncryptionSecretId { get; set; } + + [Input("serverName")] + public Input? ServerName { get; set; } + + [Input("sslMode")] + public Input? SslMode { get; set; } + + public Settings2PropertiesOracleSettingsPropertiesArgs() + { + } + public static new Settings2PropertiesOracleSettingsPropertiesArgs Empty => new Settings2PropertiesOracleSettingsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings3PropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings3PropertiesArgs.cs new file mode 100644 index 0000000000..24dc642727 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings3PropertiesArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + /// + /// MicrosoftSqlServerSettings property identifier. + /// + public sealed class Settings3PropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("microsoftSqlServerSettings")] + public Input? MicrosoftSqlServerSettings { get; set; } + + public Settings3PropertiesArgs() + { + } + public static new Settings3PropertiesArgs Empty => new Settings3PropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/Inputs/Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs.cs b/sdk/dotnet/Dms/Inputs/Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs.cs new file mode 100644 index 0000000000..80d783a096 --- /dev/null +++ b/sdk/dotnet/Dms/Inputs/Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Inputs +{ + + public sealed class Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("certificateArn")] + public Input? CertificateArn { get; set; } + + [Input("databaseName")] + public Input? DatabaseName { get; set; } + + [Input("port")] + public Input? Port { get; set; } + + [Input("serverName")] + public Input? ServerName { get; set; } + + [Input("sslMode")] + public Input? SslMode { get; set; } + + public Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs() + { + } + public static new Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs Empty => new Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Dms/InstanceProfile.cs b/sdk/dotnet/Dms/InstanceProfile.cs new file mode 100644 index 0000000000..4cc55a12c2 --- /dev/null +++ b/sdk/dotnet/Dms/InstanceProfile.cs @@ -0,0 +1,212 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + /// + /// Resource schema for AWS::DMS::InstanceProfile. + /// + [AwsNativeResourceType("aws-native:dms:InstanceProfile")] + public partial class InstanceProfile : global::Pulumi.CustomResource + { + /// + /// The property describes an availability zone of the instance profile. + /// + [Output("availabilityZone")] + public Output AvailabilityZone { get; private set; } = null!; + + /// + /// The optional description of the instance profile. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The property describes an ARN of the instance profile. + /// + [Output("instanceProfileArn")] + public Output InstanceProfileArn { get; private set; } = null!; + + /// + /// The property describes a creating time of the instance profile. + /// + [Output("instanceProfileCreationTime")] + public Output InstanceProfileCreationTime { get; private set; } = null!; + + /// + /// The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + /// + [Output("instanceProfileIdentifier")] + public Output InstanceProfileIdentifier { get; private set; } = null!; + + /// + /// The property describes a name for the instance profile. + /// + [Output("instanceProfileName")] + public Output InstanceProfileName { get; private set; } = null!; + + /// + /// The property describes kms key arn for the instance profile. + /// + [Output("kmsKeyArn")] + public Output KmsKeyArn { get; private set; } = null!; + + /// + /// The property describes a network type for the instance profile. + /// + [Output("networkType")] + public Output NetworkType { get; private set; } = null!; + + /// + /// The property describes the publicly accessible of the instance profile + /// + [Output("publiclyAccessible")] + public Output PubliclyAccessible { get; private set; } = null!; + + /// + /// The property describes a subnet group identifier for the instance profile. + /// + [Output("subnetGroupIdentifier")] + public Output SubnetGroupIdentifier { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// The property describes vps security groups for the instance profile. + /// + [Output("vpcSecurityGroups")] + public Output> VpcSecurityGroups { get; private set; } = null!; + + + /// + /// Create a InstanceProfile resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public InstanceProfile(string name, InstanceProfileArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:dms:InstanceProfile", name, args ?? new InstanceProfileArgs(), MakeResourceOptions(options, "")) + { + } + + private InstanceProfile(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:dms:InstanceProfile", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing InstanceProfile resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static InstanceProfile Get(string name, Input id, CustomResourceOptions? options = null) + { + return new InstanceProfile(name, id, options); + } + } + + public sealed class InstanceProfileArgs : global::Pulumi.ResourceArgs + { + /// + /// The property describes an availability zone of the instance profile. + /// + [Input("availabilityZone")] + public Input? AvailabilityZone { get; set; } + + /// + /// The optional description of the instance profile. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + /// + [Input("instanceProfileIdentifier")] + public Input? InstanceProfileIdentifier { get; set; } + + /// + /// The property describes a name for the instance profile. + /// + [Input("instanceProfileName")] + public Input? InstanceProfileName { get; set; } + + /// + /// The property describes kms key arn for the instance profile. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The property describes a network type for the instance profile. + /// + [Input("networkType")] + public Input? NetworkType { get; set; } + + /// + /// The property describes the publicly accessible of the instance profile + /// + [Input("publiclyAccessible")] + public Input? PubliclyAccessible { get; set; } + + /// + /// The property describes a subnet group identifier for the instance profile. + /// + [Input("subnetGroupIdentifier")] + public Input? SubnetGroupIdentifier { get; set; } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("vpcSecurityGroups")] + private InputList? _vpcSecurityGroups; + + /// + /// The property describes vps security groups for the instance profile. + /// + public InputList VpcSecurityGroups + { + get => _vpcSecurityGroups ?? (_vpcSecurityGroups = new InputList()); + set => _vpcSecurityGroups = value; + } + + public InstanceProfileArgs() + { + } + public static new InstanceProfileArgs Empty => new InstanceProfileArgs(); + } +} diff --git a/sdk/dotnet/Dms/MigrationProject.cs b/sdk/dotnet/Dms/MigrationProject.cs new file mode 100644 index 0000000000..136cfc260a --- /dev/null +++ b/sdk/dotnet/Dms/MigrationProject.cs @@ -0,0 +1,236 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms +{ + /// + /// Resource schema for AWS::DMS::MigrationProject + /// + [AwsNativeResourceType("aws-native:dms:MigrationProject")] + public partial class MigrationProject : global::Pulumi.CustomResource + { + /// + /// The optional description of the migration project. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The property describes an instance profile arn for the migration project. For read + /// + [Output("instanceProfileArn")] + public Output InstanceProfileArn { get; private set; } = null!; + + /// + /// The property describes an instance profile identifier for the migration project. For create + /// + [Output("instanceProfileIdentifier")] + public Output InstanceProfileIdentifier { get; private set; } = null!; + + /// + /// The property describes an instance profile name for the migration project. For read + /// + [Output("instanceProfileName")] + public Output InstanceProfileName { get; private set; } = null!; + + /// + /// The property describes an ARN of the migration project. + /// + [Output("migrationProjectArn")] + public Output MigrationProjectArn { get; private set; } = null!; + + /// + /// The property describes a creating time of the migration project. + /// + [Output("migrationProjectCreationTime")] + public Output MigrationProjectCreationTime { get; private set; } = null!; + + /// + /// The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + /// + [Output("migrationProjectIdentifier")] + public Output MigrationProjectIdentifier { get; private set; } = null!; + + /// + /// The property describes a name to identify the migration project. + /// + [Output("migrationProjectName")] + public Output MigrationProjectName { get; private set; } = null!; + + /// + /// The property describes schema conversion application attributes for the migration project. + /// + [Output("schemaConversionApplicationAttributes")] + public Output SchemaConversionApplicationAttributes { get; private set; } = null!; + + /// + /// The property describes source data provider descriptors for the migration project. + /// + [Output("sourceDataProviderDescriptors")] + public Output> SourceDataProviderDescriptors { get; private set; } = null!; + + /// + /// An array of key-value pairs to apply to this resource. + /// + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + /// + /// The property describes target data provider descriptors for the migration project. + /// + [Output("targetDataProviderDescriptors")] + public Output> TargetDataProviderDescriptors { get; private set; } = null!; + + /// + /// The property describes transformation rules for the migration project. + /// + [Output("transformationRules")] + public Output TransformationRules { get; private set; } = null!; + + + /// + /// Create a MigrationProject resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public MigrationProject(string name, MigrationProjectArgs? args = null, CustomResourceOptions? options = null) + : base("aws-native:dms:MigrationProject", name, args ?? new MigrationProjectArgs(), MakeResourceOptions(options, "")) + { + } + + private MigrationProject(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:dms:MigrationProject", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing MigrationProject resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static MigrationProject Get(string name, Input id, CustomResourceOptions? options = null) + { + return new MigrationProject(name, id, options); + } + } + + public sealed class MigrationProjectArgs : global::Pulumi.ResourceArgs + { + /// + /// The optional description of the migration project. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The property describes an instance profile arn for the migration project. For read + /// + [Input("instanceProfileArn")] + public Input? InstanceProfileArn { get; set; } + + /// + /// The property describes an instance profile identifier for the migration project. For create + /// + [Input("instanceProfileIdentifier")] + public Input? InstanceProfileIdentifier { get; set; } + + /// + /// The property describes an instance profile name for the migration project. For read + /// + [Input("instanceProfileName")] + public Input? InstanceProfileName { get; set; } + + /// + /// The property describes a creating time of the migration project. + /// + [Input("migrationProjectCreationTime")] + public Input? MigrationProjectCreationTime { get; set; } + + /// + /// The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + /// + [Input("migrationProjectIdentifier")] + public Input? MigrationProjectIdentifier { get; set; } + + /// + /// The property describes a name to identify the migration project. + /// + [Input("migrationProjectName")] + public Input? MigrationProjectName { get; set; } + + /// + /// The property describes schema conversion application attributes for the migration project. + /// + [Input("schemaConversionApplicationAttributes")] + public Input? SchemaConversionApplicationAttributes { get; set; } + + [Input("sourceDataProviderDescriptors")] + private InputList? _sourceDataProviderDescriptors; + + /// + /// The property describes source data provider descriptors for the migration project. + /// + public InputList SourceDataProviderDescriptors + { + get => _sourceDataProviderDescriptors ?? (_sourceDataProviderDescriptors = new InputList()); + set => _sourceDataProviderDescriptors = value; + } + + [Input("tags")] + private InputList? _tags; + + /// + /// An array of key-value pairs to apply to this resource. + /// + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + [Input("targetDataProviderDescriptors")] + private InputList? _targetDataProviderDescriptors; + + /// + /// The property describes target data provider descriptors for the migration project. + /// + public InputList TargetDataProviderDescriptors + { + get => _targetDataProviderDescriptors ?? (_targetDataProviderDescriptors = new InputList()); + set => _targetDataProviderDescriptors = value; + } + + /// + /// The property describes transformation rules for the migration project. + /// + [Input("transformationRules")] + public Input? TransformationRules { get; set; } + + public MigrationProjectArgs() + { + } + public static new MigrationProjectArgs Empty => new MigrationProjectArgs(); + } +} diff --git a/sdk/dotnet/Dms/Outputs/DataProviderTag.cs b/sdk/dotnet/Dms/Outputs/DataProviderTag.cs new file mode 100644 index 0000000000..4a9efffecf --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/DataProviderTag.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + [OutputType] + public sealed class DataProviderTag + { + /// + /// 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 -. + /// + public readonly string Key; + /// + /// 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 -. + /// + public readonly string Value; + + [OutputConstructor] + private DataProviderTag( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/EndpointIbmDb2Settings.cs b/sdk/dotnet/Dms/Outputs/EndpointIbmDb2Settings.cs index db1f06baa5..664471d644 100644 --- a/sdk/dotnet/Dms/Outputs/EndpointIbmDb2Settings.cs +++ b/sdk/dotnet/Dms/Outputs/EndpointIbmDb2Settings.cs @@ -14,28 +14,44 @@ namespace Pulumi.AwsNative.Dms.Outputs public sealed class EndpointIbmDb2Settings { public readonly string? CurrentLsn; + public readonly bool? KeepCsvFiles; + public readonly int? LoadTimeout; + public readonly int? MaxFileSize; public readonly int? MaxKBytesPerRead; public readonly string? SecretsManagerAccessRoleArn; public readonly string? SecretsManagerSecretId; public readonly bool? SetDataCaptureChanges; + public readonly int? WriteBufferSize; [OutputConstructor] private EndpointIbmDb2Settings( string? currentLsn, + bool? keepCsvFiles, + + int? loadTimeout, + + int? maxFileSize, + int? maxKBytesPerRead, string? secretsManagerAccessRoleArn, string? secretsManagerSecretId, - bool? setDataCaptureChanges) + bool? setDataCaptureChanges, + + int? writeBufferSize) { CurrentLsn = currentLsn; + KeepCsvFiles = keepCsvFiles; + LoadTimeout = loadTimeout; + MaxFileSize = maxFileSize; MaxKBytesPerRead = maxKBytesPerRead; SecretsManagerAccessRoleArn = secretsManagerAccessRoleArn; SecretsManagerSecretId = secretsManagerSecretId; SetDataCaptureChanges = setDataCaptureChanges; + WriteBufferSize = writeBufferSize; } } } diff --git a/sdk/dotnet/Dms/Outputs/InstanceProfileTag.cs b/sdk/dotnet/Dms/Outputs/InstanceProfileTag.cs new file mode 100644 index 0000000000..497ee2829c --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/InstanceProfileTag.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + [OutputType] + public sealed class InstanceProfileTag + { + /// + /// 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 -. + /// + public readonly string Key; + /// + /// 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 -. + /// + public readonly string Value; + + [OutputConstructor] + private InstanceProfileTag( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/MigrationProjectDataProviderDescriptor.cs b/sdk/dotnet/Dms/Outputs/MigrationProjectDataProviderDescriptor.cs new file mode 100644 index 0000000000..144352a9f2 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/MigrationProjectDataProviderDescriptor.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + /// + [OutputType] + public sealed class MigrationProjectDataProviderDescriptor + { + public readonly string? DataProviderArn; + public readonly string? DataProviderIdentifier; + public readonly string? DataProviderName; + public readonly string? SecretsManagerAccessRoleArn; + public readonly string? SecretsManagerSecretId; + + [OutputConstructor] + private MigrationProjectDataProviderDescriptor( + string? dataProviderArn, + + string? dataProviderIdentifier, + + string? dataProviderName, + + string? secretsManagerAccessRoleArn, + + string? secretsManagerSecretId) + { + DataProviderArn = dataProviderArn; + DataProviderIdentifier = dataProviderIdentifier; + DataProviderName = dataProviderName; + SecretsManagerAccessRoleArn = secretsManagerAccessRoleArn; + SecretsManagerSecretId = secretsManagerSecretId; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/MigrationProjectTag.cs b/sdk/dotnet/Dms/Outputs/MigrationProjectTag.cs new file mode 100644 index 0000000000..1d7f5d2bcb --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/MigrationProjectTag.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// A key-value pair to associate with a resource. + /// + [OutputType] + public sealed class MigrationProjectTag + { + /// + /// 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 -. + /// + public readonly string Key; + /// + /// 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 -. + /// + public readonly string Value; + + [OutputConstructor] + private MigrationProjectTag( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/SchemaConversionApplicationAttributesProperties.cs b/sdk/dotnet/Dms/Outputs/SchemaConversionApplicationAttributesProperties.cs new file mode 100644 index 0000000000..525b4f7fc2 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/SchemaConversionApplicationAttributesProperties.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// The property describes schema conversion application attributes for the migration project. + /// + [OutputType] + public sealed class SchemaConversionApplicationAttributesProperties + { + public readonly string? S3BucketPath; + public readonly string? S3BucketRoleArn; + + [OutputConstructor] + private SchemaConversionApplicationAttributesProperties( + string? s3BucketPath, + + string? s3BucketRoleArn) + { + S3BucketPath = s3BucketPath; + S3BucketRoleArn = s3BucketRoleArn; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings0Properties.cs b/sdk/dotnet/Dms/Outputs/Settings0Properties.cs new file mode 100644 index 0000000000..a4df172109 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings0Properties.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// PostgreSqlSettings property identifier. + /// + [OutputType] + public sealed class Settings0Properties + { + public readonly Outputs.Settings0PropertiesPostgreSqlSettingsProperties? PostgreSqlSettings; + + [OutputConstructor] + private Settings0Properties(Outputs.Settings0PropertiesPostgreSqlSettingsProperties? postgreSqlSettings) + { + PostgreSqlSettings = postgreSqlSettings; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings0PropertiesPostgreSqlSettingsProperties.cs b/sdk/dotnet/Dms/Outputs/Settings0PropertiesPostgreSqlSettingsProperties.cs new file mode 100644 index 0000000000..4f18faef07 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings0PropertiesPostgreSqlSettingsProperties.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + [OutputType] + public sealed class Settings0PropertiesPostgreSqlSettingsProperties + { + public readonly string? CertificateArn; + public readonly string? DatabaseName; + public readonly int? Port; + public readonly string? ServerName; + public readonly Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? SslMode; + + [OutputConstructor] + private Settings0PropertiesPostgreSqlSettingsProperties( + string? certificateArn, + + string? databaseName, + + int? port, + + string? serverName, + + Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? sslMode) + { + CertificateArn = certificateArn; + DatabaseName = databaseName; + Port = port; + ServerName = serverName; + SslMode = sslMode; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings1Properties.cs b/sdk/dotnet/Dms/Outputs/Settings1Properties.cs new file mode 100644 index 0000000000..6d583c2eab --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings1Properties.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// MySqlSettings property identifier. + /// + [OutputType] + public sealed class Settings1Properties + { + public readonly Outputs.Settings1PropertiesMySqlSettingsProperties? MySqlSettings; + + [OutputConstructor] + private Settings1Properties(Outputs.Settings1PropertiesMySqlSettingsProperties? mySqlSettings) + { + MySqlSettings = mySqlSettings; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings1PropertiesMySqlSettingsProperties.cs b/sdk/dotnet/Dms/Outputs/Settings1PropertiesMySqlSettingsProperties.cs new file mode 100644 index 0000000000..cc1d7a2b84 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings1PropertiesMySqlSettingsProperties.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + [OutputType] + public sealed class Settings1PropertiesMySqlSettingsProperties + { + public readonly string? CertificateArn; + public readonly int? Port; + public readonly string? ServerName; + public readonly Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? SslMode; + + [OutputConstructor] + private Settings1PropertiesMySqlSettingsProperties( + string? certificateArn, + + int? port, + + string? serverName, + + Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? sslMode) + { + CertificateArn = certificateArn; + Port = port; + ServerName = serverName; + SslMode = sslMode; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings2Properties.cs b/sdk/dotnet/Dms/Outputs/Settings2Properties.cs new file mode 100644 index 0000000000..8a06a8e035 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings2Properties.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// OracleSettings property identifier. + /// + [OutputType] + public sealed class Settings2Properties + { + public readonly Outputs.Settings2PropertiesOracleSettingsProperties? OracleSettings; + + [OutputConstructor] + private Settings2Properties(Outputs.Settings2PropertiesOracleSettingsProperties? oracleSettings) + { + OracleSettings = oracleSettings; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings2PropertiesOracleSettingsProperties.cs b/sdk/dotnet/Dms/Outputs/Settings2PropertiesOracleSettingsProperties.cs new file mode 100644 index 0000000000..40f7772ffa --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings2PropertiesOracleSettingsProperties.cs @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + [OutputType] + public sealed class Settings2PropertiesOracleSettingsProperties + { + public readonly string? AsmServer; + public readonly string? CertificateArn; + public readonly string? DatabaseName; + public readonly int? Port; + public readonly string? SecretsManagerOracleAsmAccessRoleArn; + public readonly string? SecretsManagerOracleAsmSecretId; + public readonly string? SecretsManagerSecurityDbEncryptionAccessRoleArn; + public readonly string? SecretsManagerSecurityDbEncryptionSecretId; + public readonly string? ServerName; + public readonly Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? SslMode; + + [OutputConstructor] + private Settings2PropertiesOracleSettingsProperties( + string? asmServer, + + string? certificateArn, + + string? databaseName, + + int? port, + + string? secretsManagerOracleAsmAccessRoleArn, + + string? secretsManagerOracleAsmSecretId, + + string? secretsManagerSecurityDbEncryptionAccessRoleArn, + + string? secretsManagerSecurityDbEncryptionSecretId, + + string? serverName, + + Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? sslMode) + { + AsmServer = asmServer; + CertificateArn = certificateArn; + DatabaseName = databaseName; + Port = port; + SecretsManagerOracleAsmAccessRoleArn = secretsManagerOracleAsmAccessRoleArn; + SecretsManagerOracleAsmSecretId = secretsManagerOracleAsmSecretId; + SecretsManagerSecurityDbEncryptionAccessRoleArn = secretsManagerSecurityDbEncryptionAccessRoleArn; + SecretsManagerSecurityDbEncryptionSecretId = secretsManagerSecurityDbEncryptionSecretId; + ServerName = serverName; + SslMode = sslMode; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings3Properties.cs b/sdk/dotnet/Dms/Outputs/Settings3Properties.cs new file mode 100644 index 0000000000..012c6d2143 --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings3Properties.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + /// + /// MicrosoftSqlServerSettings property identifier. + /// + [OutputType] + public sealed class Settings3Properties + { + public readonly Outputs.Settings3PropertiesMicrosoftSqlServerSettingsProperties? MicrosoftSqlServerSettings; + + [OutputConstructor] + private Settings3Properties(Outputs.Settings3PropertiesMicrosoftSqlServerSettingsProperties? microsoftSqlServerSettings) + { + MicrosoftSqlServerSettings = microsoftSqlServerSettings; + } + } +} diff --git a/sdk/dotnet/Dms/Outputs/Settings3PropertiesMicrosoftSqlServerSettingsProperties.cs b/sdk/dotnet/Dms/Outputs/Settings3PropertiesMicrosoftSqlServerSettingsProperties.cs new file mode 100644 index 0000000000..71dce1312e --- /dev/null +++ b/sdk/dotnet/Dms/Outputs/Settings3PropertiesMicrosoftSqlServerSettingsProperties.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Dms.Outputs +{ + + [OutputType] + public sealed class Settings3PropertiesMicrosoftSqlServerSettingsProperties + { + public readonly string? CertificateArn; + public readonly string? DatabaseName; + public readonly int? Port; + public readonly string? ServerName; + public readonly Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? SslMode; + + [OutputConstructor] + private Settings3PropertiesMicrosoftSqlServerSettingsProperties( + string? certificateArn, + + string? databaseName, + + int? port, + + string? serverName, + + Pulumi.AwsNative.Dms.DataProviderDmsSslModeValue? sslMode) + { + CertificateArn = certificateArn; + DatabaseName = databaseName; + Port = port; + ServerName = serverName; + SslMode = sslMode; + } + } +} diff --git a/sdk/dotnet/Dms/ReplicationConfig.cs b/sdk/dotnet/Dms/ReplicationConfig.cs index bcd334b25e..878c73464b 100644 --- a/sdk/dotnet/Dms/ReplicationConfig.cs +++ b/sdk/dotnet/Dms/ReplicationConfig.cs @@ -101,6 +101,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? var defaultOptions = new CustomResourceOptions { Version = Utilities.Version, + ReplaceOnChanges = + { + "resourceIdentifier", + }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. diff --git a/sdk/dotnet/Ec2/Enums.cs b/sdk/dotnet/Ec2/Enums.cs index b9abb98fb5..13667dc9fb 100644 --- a/sdk/dotnet/Ec2/Enums.cs +++ b/sdk/dotnet/Ec2/Enums.cs @@ -759,6 +759,68 @@ private FlowLogTrafficType(string value) public override string ToString() => _value; } + /// + /// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + /// + [EnumType] + public readonly struct InstanceAffinity : IEquatable + { + private readonly string _value; + + private InstanceAffinity(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static InstanceAffinity Default { get; } = new InstanceAffinity("default"); + public static InstanceAffinity Host { get; } = new InstanceAffinity("host"); + + public static bool operator ==(InstanceAffinity left, InstanceAffinity right) => left.Equals(right); + public static bool operator !=(InstanceAffinity left, InstanceAffinity right) => !left.Equals(right); + + public static explicit operator string(InstanceAffinity value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is InstanceAffinity other && Equals(other); + public bool Equals(InstanceAffinity other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// + [EnumType] + public readonly struct InstancePrivateDnsNameOptionsHostnameType : IEquatable + { + private readonly string _value; + + private InstancePrivateDnsNameOptionsHostnameType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static InstancePrivateDnsNameOptionsHostnameType IpName { get; } = new InstancePrivateDnsNameOptionsHostnameType("ip-name"); + public static InstancePrivateDnsNameOptionsHostnameType ResourceName { get; } = new InstancePrivateDnsNameOptionsHostnameType("resource-name"); + + public static bool operator ==(InstancePrivateDnsNameOptionsHostnameType left, InstancePrivateDnsNameOptionsHostnameType right) => left.Equals(right); + public static bool operator !=(InstancePrivateDnsNameOptionsHostnameType left, InstancePrivateDnsNameOptionsHostnameType right) => !left.Equals(right); + + public static explicit operator string(InstancePrivateDnsNameOptionsHostnameType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is InstancePrivateDnsNameOptionsHostnameType other && Equals(other); + public bool Equals(InstancePrivateDnsNameOptionsHostnameType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Limits which service in Amazon Web Services that the pool can be used in. /// diff --git a/sdk/dotnet/Ec2/GetInstance.cs b/sdk/dotnet/Ec2/GetInstance.cs index 6477aa5e2d..72ca210d68 100644 --- a/sdk/dotnet/Ec2/GetInstance.cs +++ b/sdk/dotnet/Ec2/GetInstance.cs @@ -27,8 +27,11 @@ public static Output Invoke(GetInstanceInvokeArgs args, Invok public sealed class GetInstanceArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public string Id { get; set; } = null!; + /// + /// The EC2 Instance ID. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; public GetInstanceArgs() { @@ -38,8 +41,11 @@ public GetInstanceArgs() public sealed class GetInstanceInvokeArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public Input Id { get; set; } = null!; + /// + /// The EC2 Instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; public GetInstanceInvokeArgs() { @@ -51,43 +57,110 @@ public GetInstanceInvokeArgs() [OutputType] public sealed class GetInstanceResult { - public readonly string? AdditionalInfo; - public readonly string? Affinity; + /// + /// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + /// + public readonly Pulumi.AwsNative.Ec2.InstanceAffinity? Affinity; + /// + /// The block device mapping entries that defines the block devices to attach to the instance at launch. + /// public readonly ImmutableArray BlockDeviceMappings; - public readonly Outputs.InstanceCreditSpecification? CreditSpecification; + /// + /// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + /// + public readonly Outputs.CreditSpecificationProperties? CreditSpecification; + /// + /// If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + /// public readonly bool? DisableApiTermination; + /// + /// Indicates whether the instance is optimized for Amazon EBS I/O. + /// public readonly bool? EbsOptimized; + /// + /// If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + /// public readonly string? HostId; + /// + /// The IAM instance profile. + /// public readonly string? IamInstanceProfile; - public readonly string? Id; + /// + /// The EC2 Instance ID. + /// + public readonly string? InstanceId; + /// + /// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + /// public readonly string? InstanceInitiatedShutdownBehavior; + /// + /// The instance type. + /// public readonly string? InstanceType; + /// + /// The ID of the kernel. + /// public readonly string? KernelId; + /// + /// Specifies whether detailed monitoring is enabled for the instance. + /// public readonly bool? Monitoring; + /// + /// The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + /// public readonly string? PrivateDnsName; + /// + /// The options for the instance hostname. + /// public readonly Outputs.InstancePrivateDnsNameOptions? PrivateDnsNameOptions; + /// + /// The private IP address of the specified instance. For example: 10.24.34.0. + /// public readonly string? PrivateIp; - public readonly bool? PropagateTagsToVolumeOnCreation; + /// + /// The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + /// public readonly string? PublicDnsName; + /// + /// The public IP address of the specified instance. For example: 192.0.2.0. + /// public readonly string? PublicIp; + /// + /// The ID of the RAM disk to select. + /// public readonly string? RamdiskId; + /// + /// The IDs of the security groups. + /// public readonly ImmutableArray SecurityGroupIds; + /// + /// Specifies whether to enable an instance launched in a VPC to perform NAT. + /// public readonly bool? SourceDestCheck; + /// + /// The SSM document and parameter values in AWS Systems Manager to associate with this instance. + /// public readonly ImmutableArray SsmAssociations; + /// + /// The tags to add to the instance. + /// public readonly ImmutableArray Tags; + /// + /// The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + /// public readonly string? Tenancy; + /// + /// The user data to make available to the instance. + /// public readonly string? UserData; - public readonly ImmutableArray Volumes; [OutputConstructor] private GetInstanceResult( - string? additionalInfo, - - string? affinity, + Pulumi.AwsNative.Ec2.InstanceAffinity? affinity, ImmutableArray blockDeviceMappings, - Outputs.InstanceCreditSpecification? creditSpecification, + Outputs.CreditSpecificationProperties? creditSpecification, bool? disableApiTermination, @@ -97,7 +170,7 @@ private GetInstanceResult( string? iamInstanceProfile, - string? id, + string? instanceId, string? instanceInitiatedShutdownBehavior, @@ -113,8 +186,6 @@ private GetInstanceResult( string? privateIp, - bool? propagateTagsToVolumeOnCreation, - string? publicDnsName, string? publicIp, @@ -131,11 +202,8 @@ private GetInstanceResult( string? tenancy, - string? userData, - - ImmutableArray volumes) + string? userData) { - AdditionalInfo = additionalInfo; Affinity = affinity; BlockDeviceMappings = blockDeviceMappings; CreditSpecification = creditSpecification; @@ -143,7 +211,7 @@ private GetInstanceResult( EbsOptimized = ebsOptimized; HostId = hostId; IamInstanceProfile = iamInstanceProfile; - Id = id; + InstanceId = instanceId; InstanceInitiatedShutdownBehavior = instanceInitiatedShutdownBehavior; InstanceType = instanceType; KernelId = kernelId; @@ -151,7 +219,6 @@ private GetInstanceResult( PrivateDnsName = privateDnsName; PrivateDnsNameOptions = privateDnsNameOptions; PrivateIp = privateIp; - PropagateTagsToVolumeOnCreation = propagateTagsToVolumeOnCreation; PublicDnsName = publicDnsName; PublicIp = publicIp; RamdiskId = ramdiskId; @@ -161,7 +228,6 @@ private GetInstanceResult( Tags = tags; Tenancy = tenancy; UserData = userData; - Volumes = volumes; } } } diff --git a/sdk/dotnet/Ec2/GetSecurityGroupEgress.cs b/sdk/dotnet/Ec2/GetSecurityGroupEgress.cs index 867098c3cd..e8e0a6a690 100644 --- a/sdk/dotnet/Ec2/GetSecurityGroupEgress.cs +++ b/sdk/dotnet/Ec2/GetSecurityGroupEgress.cs @@ -27,6 +27,9 @@ public static Output Invoke(GetSecurityGroupEgress public sealed class GetSecurityGroupEgressArgs : global::Pulumi.InvokeArgs { + /// + /// The Security Group Rule Id + /// [Input("id", required: true)] public string Id { get; set; } = null!; @@ -38,6 +41,9 @@ public GetSecurityGroupEgressArgs() public sealed class GetSecurityGroupEgressInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The Security Group Rule Id + /// [Input("id", required: true)] public Input Id { get; set; } = null!; @@ -51,7 +57,13 @@ public GetSecurityGroupEgressInvokeArgs() [OutputType] public sealed class GetSecurityGroupEgressResult { + /// + /// Resource Type definition for an egress (outbound) security group rule. + /// public readonly string? Description; + /// + /// The Security Group Rule Id + /// public readonly string? Id; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Inputs/InstanceCpuOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/CpuOptionsPropertiesArgs.cs similarity index 65% rename from sdk/dotnet/Ec2/Inputs/InstanceCpuOptionsArgs.cs rename to sdk/dotnet/Ec2/Inputs/CpuOptionsPropertiesArgs.cs index 39213f59a9..0c8a9dee44 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceCpuOptionsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/CpuOptionsPropertiesArgs.cs @@ -10,7 +10,10 @@ namespace Pulumi.AwsNative.Ec2.Inputs { - public sealed class InstanceCpuOptionsArgs : global::Pulumi.ResourceArgs + /// + /// The CPU options for the instance. + /// + public sealed class CpuOptionsPropertiesArgs : global::Pulumi.ResourceArgs { [Input("coreCount")] public Input? CoreCount { get; set; } @@ -18,9 +21,9 @@ public sealed class InstanceCpuOptionsArgs : global::Pulumi.ResourceArgs [Input("threadsPerCore")] public Input? ThreadsPerCore { get; set; } - public InstanceCpuOptionsArgs() + public CpuOptionsPropertiesArgs() { } - public static new InstanceCpuOptionsArgs Empty => new InstanceCpuOptionsArgs(); + public static new CpuOptionsPropertiesArgs Empty => new CpuOptionsPropertiesArgs(); } } diff --git a/sdk/dotnet/Ec2/Inputs/InstanceCreditSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/CreditSpecificationPropertiesArgs.cs similarity index 53% rename from sdk/dotnet/Ec2/Inputs/InstanceCreditSpecificationArgs.cs rename to sdk/dotnet/Ec2/Inputs/CreditSpecificationPropertiesArgs.cs index 41df4bbebf..5577b8146b 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceCreditSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/CreditSpecificationPropertiesArgs.cs @@ -10,14 +10,17 @@ namespace Pulumi.AwsNative.Ec2.Inputs { - public sealed class InstanceCreditSpecificationArgs : global::Pulumi.ResourceArgs + /// + /// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + /// + public sealed class CreditSpecificationPropertiesArgs : global::Pulumi.ResourceArgs { [Input("cpuCredits")] public Input? CpuCredits { get; set; } - public InstanceCreditSpecificationArgs() + public CreditSpecificationPropertiesArgs() { } - public static new InstanceCreditSpecificationArgs Empty => new InstanceCreditSpecificationArgs(); + public static new CreditSpecificationPropertiesArgs Empty => new CreditSpecificationPropertiesArgs(); } } diff --git a/sdk/dotnet/Ec2/Inputs/EnclaveOptionsPropertiesArgs.cs b/sdk/dotnet/Ec2/Inputs/EnclaveOptionsPropertiesArgs.cs new file mode 100644 index 0000000000..2a98f52ede --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/EnclaveOptionsPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2.Inputs +{ + + /// + /// Indicates whether the instance is enabled for AWS Nitro Enclaves. + /// + public sealed class EnclaveOptionsPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + public EnclaveOptionsPropertiesArgs() + { + } + public static new EnclaveOptionsPropertiesArgs Empty => new EnclaveOptionsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/HibernationOptionsPropertiesArgs.cs b/sdk/dotnet/Ec2/Inputs/HibernationOptionsPropertiesArgs.cs new file mode 100644 index 0000000000..da66ebe693 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/HibernationOptionsPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2.Inputs +{ + + /// + /// Indicates whether an instance is enabled for hibernation. + /// + public sealed class HibernationOptionsPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// If you set this parameter to true, your instance is enabled for hibernation. + /// + [Input("configured")] + public Input? Configured { get; set; } + + public HibernationOptionsPropertiesArgs() + { + } + public static new HibernationOptionsPropertiesArgs Empty => new HibernationOptionsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/InstanceAssociationParameterArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceAssociationParameterArgs.cs index e55ca52aac..fdc2c4c326 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceAssociationParameterArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceAssociationParameterArgs.cs @@ -12,11 +12,18 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceAssociationParameterArgs : global::Pulumi.ResourceArgs { + /// + /// The name of an input parameter that is in the associated SSM document. + /// [Input("key", required: true)] public Input Key { get; set; } = null!; [Input("value", required: true)] private InputList? _value; + + /// + /// The value of an input parameter. + /// public InputList Value { get => _value ?? (_value = new InputList()); diff --git a/sdk/dotnet/Ec2/Inputs/InstanceBlockDeviceMappingArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceBlockDeviceMappingArgs.cs index f17d4c6f4a..3f6ba32469 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceBlockDeviceMappingArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceBlockDeviceMappingArgs.cs @@ -12,14 +12,20 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceBlockDeviceMappingArgs : global::Pulumi.ResourceArgs { + /// + /// The device name (for example, /dev/sdh or xvdh). + /// [Input("deviceName", required: true)] public Input DeviceName { get; set; } = null!; + /// + /// Parameters used to automatically set up EBS volumes when the instance is launched. + /// [Input("ebs")] public Input? Ebs { get; set; } [Input("noDevice")] - public Input? NoDevice { get; set; } + public Input? NoDevice { get; set; } [Input("virtualName")] public Input? VirtualName { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/InstanceEbsArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceEbsArgs.cs index 36e15b3bf1..0225eaf313 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceEbsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceEbsArgs.cs @@ -12,24 +12,45 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceEbsArgs : global::Pulumi.ResourceArgs { + /// + /// Indicates whether the EBS volume is deleted on instance termination. + /// [Input("deleteOnTermination")] public Input? DeleteOnTermination { get; set; } + /// + /// Indicates whether the volume should be encrypted. + /// [Input("encrypted")] public Input? Encrypted { get; set; } + /// + /// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + /// [Input("iops")] public Input? Iops { get; set; } + /// + /// The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } + /// + /// The ID of the snapshot. + /// [Input("snapshotId")] public Input? SnapshotId { get; set; } + /// + /// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + /// [Input("volumeSize")] public Input? VolumeSize { get; set; } + /// + /// The volume type. + /// [Input("volumeType")] public Input? VolumeType { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/InstanceElasticGpuSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceElasticGpuSpecificationArgs.cs index fca556f307..f0f78b71d0 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceElasticGpuSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceElasticGpuSpecificationArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceElasticGpuSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// The type of Elastic Graphics accelerator. + /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceElasticInferenceAcceleratorArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceElasticInferenceAcceleratorArgs.cs index 7b8cd7942d..558d1d2bb9 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceElasticInferenceAcceleratorArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceElasticInferenceAcceleratorArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceElasticInferenceAcceleratorArgs : global::Pulumi.ResourceArgs { + /// + /// The number of elastic inference accelerators to attach to the instance. + /// [Input("count")] public Input? Count { get; set; } + /// + /// The type of elastic inference accelerator. + /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceEnclaveOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceEnclaveOptionsArgs.cs deleted file mode 100644 index d0d7c430bc..0000000000 --- a/sdk/dotnet/Ec2/Inputs/InstanceEnclaveOptionsArgs.cs +++ /dev/null @@ -1,23 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.Ec2.Inputs -{ - - public sealed class InstanceEnclaveOptionsArgs : global::Pulumi.ResourceArgs - { - [Input("enabled")] - public Input? Enabled { get; set; } - - public InstanceEnclaveOptionsArgs() - { - } - public static new InstanceEnclaveOptionsArgs Empty => new InstanceEnclaveOptionsArgs(); - } -} diff --git a/sdk/dotnet/Ec2/Inputs/InstanceHibernationOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceHibernationOptionsArgs.cs deleted file mode 100644 index 4f6557278a..0000000000 --- a/sdk/dotnet/Ec2/Inputs/InstanceHibernationOptionsArgs.cs +++ /dev/null @@ -1,23 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.Ec2.Inputs -{ - - public sealed class InstanceHibernationOptionsArgs : global::Pulumi.ResourceArgs - { - [Input("configured")] - public Input? Configured { get; set; } - - public InstanceHibernationOptionsArgs() - { - } - public static new InstanceHibernationOptionsArgs Empty => new InstanceHibernationOptionsArgs(); - } -} diff --git a/sdk/dotnet/Ec2/Inputs/InstanceIpv6AddressArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceIpv6AddressArgs.cs index 42588c3b09..6a155e8667 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceIpv6AddressArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceIpv6AddressArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceIpv6AddressArgs : global::Pulumi.ResourceArgs { + /// + /// The IPv6 address. + /// [Input("ipv6Address", required: true)] public Input Ipv6Address { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceLaunchTemplateSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceLaunchTemplateSpecificationArgs.cs index fdcfda62f0..1b737d2232 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceLaunchTemplateSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceLaunchTemplateSpecificationArgs.cs @@ -12,14 +12,23 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceLaunchTemplateSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + /// [Input("launchTemplateId")] public Input? LaunchTemplateId { get; set; } + /// + /// The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + /// [Input("launchTemplateName")] public Input? LaunchTemplateName { get; set; } - [Input("version", required: true)] - public Input Version { get; set; } = null!; + /// + /// The version number of the launch template. + /// + [Input("version")] + public Input? Version { get; set; } public InstanceLaunchTemplateSpecificationArgs() { diff --git a/sdk/dotnet/Ec2/Inputs/InstanceLicenseSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceLicenseSpecificationArgs.cs index cc96475433..db9c5d1529 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceLicenseSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceLicenseSpecificationArgs.cs @@ -12,6 +12,9 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceLicenseSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// The Amazon Resource Name (ARN) of the license configuration. + /// [Input("licenseConfigurationArn", required: true)] public Input LicenseConfigurationArn { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceNetworkInterfaceArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceNetworkInterfaceArgs.cs index 1998015c94..1145dfaa9a 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceNetworkInterfaceArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceNetworkInterfaceArgs.cs @@ -12,57 +12,99 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceNetworkInterfaceArgs : global::Pulumi.ResourceArgs { + /// + /// Not currently supported by AWS CloudFormation. + /// [Input("associateCarrierIpAddress")] public Input? AssociateCarrierIpAddress { get; set; } + /// + /// Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + /// [Input("associatePublicIpAddress")] public Input? AssociatePublicIpAddress { get; set; } + /// + /// If set to true, the interface is deleted when the instance is terminated. + /// [Input("deleteOnTermination")] public Input? DeleteOnTermination { get; set; } + /// + /// The description of the network interface. + /// [Input("description")] public Input? Description { get; set; } + /// + /// The position of the network interface in the attachment order. A primary network interface has a device index of 0. + /// [Input("deviceIndex", required: true)] public Input DeviceIndex { get; set; } = null!; [Input("groupSet")] private InputList? _groupSet; + + /// + /// The IDs of the security groups for the network interface. + /// public InputList GroupSet { get => _groupSet ?? (_groupSet = new InputList()); set => _groupSet = value; } + /// + /// A number of IPv6 addresses to assign to the network interface. + /// [Input("ipv6AddressCount")] public Input? Ipv6AddressCount { get; set; } [Input("ipv6Addresses")] private InputList? _ipv6Addresses; + + /// + /// The IPv6 addresses associated with the network interface. + /// public InputList Ipv6Addresses { get => _ipv6Addresses ?? (_ipv6Addresses = new InputList()); set => _ipv6Addresses = value; } + /// + /// The ID of the network interface. + /// [Input("networkInterfaceId")] public Input? NetworkInterfaceId { get; set; } + /// + /// The private IPv4 address of the network interface. + /// [Input("privateIpAddress")] public Input? PrivateIpAddress { get; set; } [Input("privateIpAddresses")] private InputList? _privateIpAddresses; + + /// + /// One or more private IPv4 addresses to assign to the network interface. + /// public InputList PrivateIpAddresses { get => _privateIpAddresses ?? (_privateIpAddresses = new InputList()); set => _privateIpAddresses = value; } + /// + /// The number of secondary private IPv4 addresses. + /// [Input("secondaryPrivateIpAddressCount")] public Input? SecondaryPrivateIpAddressCount { get; set; } + /// + /// The ID of the subnet. + /// [Input("subnetId")] public Input? SubnetId { get; set; } diff --git a/sdk/dotnet/Ec2/Inputs/InstanceNoDeviceArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceNoDeviceArgs.cs deleted file mode 100644 index aefd6d6e41..0000000000 --- a/sdk/dotnet/Ec2/Inputs/InstanceNoDeviceArgs.cs +++ /dev/null @@ -1,20 +0,0 @@ -// *** WARNING: this file was generated by the Pulumi SDK Generator. *** -// *** Do not edit by hand unless you're certain you know what you are doing! *** - -using System; -using System.Collections.Generic; -using System.Collections.Immutable; -using System.Threading.Tasks; -using Pulumi.Serialization; - -namespace Pulumi.AwsNative.Ec2.Inputs -{ - - public sealed class InstanceNoDeviceArgs : global::Pulumi.ResourceArgs - { - public InstanceNoDeviceArgs() - { - } - public static new InstanceNoDeviceArgs Empty => new InstanceNoDeviceArgs(); - } -} diff --git a/sdk/dotnet/Ec2/Inputs/InstancePrivateDnsNameOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/InstancePrivateDnsNameOptionsArgs.cs index 8b953f46dd..d7061ac399 100644 --- a/sdk/dotnet/Ec2/Inputs/InstancePrivateDnsNameOptionsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstancePrivateDnsNameOptionsArgs.cs @@ -12,14 +12,23 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstancePrivateDnsNameOptionsArgs : global::Pulumi.ResourceArgs { + /// + /// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// [Input("enableResourceNameDnsARecord")] public Input? EnableResourceNameDnsARecord { get; set; } + /// + /// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// [Input("enableResourceNameDnsAaaaRecord")] public Input? EnableResourceNameDnsAaaaRecord { get; set; } + /// + /// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// [Input("hostnameType")] - public Input? HostnameType { get; set; } + public Input? HostnameType { get; set; } public InstancePrivateDnsNameOptionsArgs() { diff --git a/sdk/dotnet/Ec2/Inputs/InstancePrivateIpAddressSpecificationArgs.cs b/sdk/dotnet/Ec2/Inputs/InstancePrivateIpAddressSpecificationArgs.cs index 660459fabd..562dc3324c 100644 --- a/sdk/dotnet/Ec2/Inputs/InstancePrivateIpAddressSpecificationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstancePrivateIpAddressSpecificationArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstancePrivateIpAddressSpecificationArgs : global::Pulumi.ResourceArgs { + /// + /// Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + /// [Input("primary", required: true)] public Input Primary { get; set; } = null!; + /// + /// The private IPv4 addresses. + /// [Input("privateIpAddress", required: true)] public Input PrivateIpAddress { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceSsmAssociationArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceSsmAssociationArgs.cs index 4d1d414489..23a6367fa8 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceSsmAssociationArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceSsmAssociationArgs.cs @@ -14,12 +14,19 @@ public sealed class InstanceSsmAssociationArgs : global::Pulumi.ResourceArgs { [Input("associationParameters")] private InputList? _associationParameters; + + /// + /// The input parameter values to use with the associated SSM document. + /// public InputList AssociationParameters { get => _associationParameters ?? (_associationParameters = new InputList()); set => _associationParameters = value; } + /// + /// The name of an SSM document to associate with the instance. + /// [Input("documentName", required: true)] public Input DocumentName { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/InstanceVolumeArgs.cs b/sdk/dotnet/Ec2/Inputs/InstanceVolumeArgs.cs index 3e6f820f0c..c60dd5b0b8 100644 --- a/sdk/dotnet/Ec2/Inputs/InstanceVolumeArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/InstanceVolumeArgs.cs @@ -12,9 +12,15 @@ namespace Pulumi.AwsNative.Ec2.Inputs public sealed class InstanceVolumeArgs : global::Pulumi.ResourceArgs { + /// + /// The device name (for example, /dev/sdh or xvdh). + /// [Input("device", required: true)] public Input Device { get; set; } = null!; + /// + /// The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + /// [Input("volumeId", required: true)] public Input VolumeId { get; set; } = null!; diff --git a/sdk/dotnet/Ec2/Inputs/VerifiedAccessTrustProviderDeviceOptionsArgs.cs b/sdk/dotnet/Ec2/Inputs/VerifiedAccessTrustProviderDeviceOptionsArgs.cs index a76470e0d7..df99dc9712 100644 --- a/sdk/dotnet/Ec2/Inputs/VerifiedAccessTrustProviderDeviceOptionsArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/VerifiedAccessTrustProviderDeviceOptionsArgs.cs @@ -15,6 +15,12 @@ namespace Pulumi.AwsNative.Ec2.Inputs /// public sealed class VerifiedAccessTrustProviderDeviceOptionsArgs : global::Pulumi.ResourceArgs { + /// + /// URL Verified Access will use to verify authenticity of the device tokens. + /// + [Input("publicSigningKeyUrl")] + public Input? PublicSigningKeyUrl { get; set; } + /// /// The ID of the tenant application with the device-identity provider. /// diff --git a/sdk/dotnet/Ec2/Instance.cs b/sdk/dotnet/Ec2/Instance.cs index d85b41df12..0676e3202b 100644 --- a/sdk/dotnet/Ec2/Instance.cs +++ b/sdk/dotnet/Ec2/Instance.cs @@ -12,139 +12,276 @@ namespace Pulumi.AwsNative.Ec2 /// /// Resource Type definition for AWS::EC2::Instance /// - [Obsolete(@"Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:ec2:Instance")] public partial class Instance : global::Pulumi.CustomResource { + /// + /// This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + /// [Output("additionalInfo")] public Output AdditionalInfo { get; private set; } = null!; + /// + /// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + /// [Output("affinity")] - public Output Affinity { get; private set; } = null!; + public Output Affinity { get; private set; } = null!; + /// + /// The Availability Zone of the instance. + /// [Output("availabilityZone")] public Output AvailabilityZone { get; private set; } = null!; + /// + /// The block device mapping entries that defines the block devices to attach to the instance at launch. + /// [Output("blockDeviceMappings")] public Output> BlockDeviceMappings { get; private set; } = null!; + /// + /// The CPU options for the instance. + /// [Output("cpuOptions")] - public Output CpuOptions { get; private set; } = null!; + public Output CpuOptions { get; private set; } = null!; + /// + /// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + /// [Output("creditSpecification")] - public Output CreditSpecification { get; private set; } = null!; + public Output CreditSpecification { get; private set; } = null!; + /// + /// If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + /// [Output("disableApiTermination")] public Output DisableApiTermination { get; private set; } = null!; + /// + /// Indicates whether the instance is optimized for Amazon EBS I/O. + /// [Output("ebsOptimized")] public Output EbsOptimized { get; private set; } = null!; + /// + /// An elastic GPU to associate with the instance. + /// [Output("elasticGpuSpecifications")] public Output> ElasticGpuSpecifications { get; private set; } = null!; + /// + /// An elastic inference accelerator to associate with the instance. + /// [Output("elasticInferenceAccelerators")] public Output> ElasticInferenceAccelerators { get; private set; } = null!; + /// + /// Indicates whether the instance is enabled for AWS Nitro Enclaves. + /// [Output("enclaveOptions")] - public Output EnclaveOptions { get; private set; } = null!; + public Output EnclaveOptions { get; private set; } = null!; + /// + /// Indicates whether an instance is enabled for hibernation. + /// [Output("hibernationOptions")] - public Output HibernationOptions { get; private set; } = null!; + public Output HibernationOptions { get; private set; } = null!; + /// + /// If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + /// [Output("hostId")] public Output HostId { get; private set; } = null!; + /// + /// The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + /// [Output("hostResourceGroupArn")] public Output HostResourceGroupArn { get; private set; } = null!; + /// + /// The IAM instance profile. + /// [Output("iamInstanceProfile")] public Output IamInstanceProfile { get; private set; } = null!; + /// + /// The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + /// [Output("imageId")] public Output ImageId { get; private set; } = null!; + /// + /// The EC2 Instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + /// [Output("instanceInitiatedShutdownBehavior")] public Output InstanceInitiatedShutdownBehavior { get; private set; } = null!; + /// + /// The instance type. + /// [Output("instanceType")] public Output InstanceType { get; private set; } = null!; + /// + /// [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + /// [Output("ipv6AddressCount")] public Output Ipv6AddressCount { get; private set; } = null!; + /// + /// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + /// [Output("ipv6Addresses")] public Output> Ipv6Addresses { get; private set; } = null!; + /// + /// The ID of the kernel. + /// [Output("kernelId")] public Output KernelId { get; private set; } = null!; + /// + /// The name of the key pair. + /// [Output("keyName")] public Output KeyName { get; private set; } = null!; + /// + /// The launch template to use to launch the instances. + /// [Output("launchTemplate")] public Output LaunchTemplate { get; private set; } = null!; + /// + /// The license configurations. + /// [Output("licenseSpecifications")] public Output> LicenseSpecifications { get; private set; } = null!; + /// + /// Specifies whether detailed monitoring is enabled for the instance. + /// [Output("monitoring")] public Output Monitoring { get; private set; } = null!; + /// + /// The network interfaces to associate with the instance. + /// [Output("networkInterfaces")] public Output> NetworkInterfaces { get; private set; } = null!; + /// + /// The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + /// [Output("placementGroupName")] public Output PlacementGroupName { get; private set; } = null!; + /// + /// The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + /// [Output("privateDnsName")] public Output PrivateDnsName { get; private set; } = null!; + /// + /// The options for the instance hostname. + /// [Output("privateDnsNameOptions")] public Output PrivateDnsNameOptions { get; private set; } = null!; + /// + /// The private IP address of the specified instance. For example: 10.24.34.0. + /// [Output("privateIp")] public Output PrivateIp { get; private set; } = null!; + /// + /// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + /// [Output("privateIpAddress")] public Output PrivateIpAddress { get; private set; } = null!; + /// + /// Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + /// [Output("propagateTagsToVolumeOnCreation")] public Output PropagateTagsToVolumeOnCreation { get; private set; } = null!; + /// + /// The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + /// [Output("publicDnsName")] public Output PublicDnsName { get; private set; } = null!; + /// + /// The public IP address of the specified instance. For example: 192.0.2.0. + /// [Output("publicIp")] public Output PublicIp { get; private set; } = null!; + /// + /// The ID of the RAM disk to select. + /// [Output("ramdiskId")] public Output RamdiskId { get; private set; } = null!; + /// + /// The IDs of the security groups. + /// [Output("securityGroupIds")] public Output> SecurityGroupIds { get; private set; } = null!; + /// + /// the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + /// [Output("securityGroups")] public Output> SecurityGroups { get; private set; } = null!; + /// + /// Specifies whether to enable an instance launched in a VPC to perform NAT. + /// [Output("sourceDestCheck")] public Output SourceDestCheck { get; private set; } = null!; + /// + /// The SSM document and parameter values in AWS Systems Manager to associate with this instance. + /// [Output("ssmAssociations")] public Output> SsmAssociations { get; private set; } = null!; + /// + /// [EC2-VPC] The ID of the subnet to launch the instance into. + /// [Output("subnetId")] public Output SubnetId { get; private set; } = null!; + /// + /// The tags to add to the instance. + /// [Output("tags")] public Output> Tags { get; private set; } = null!; + /// + /// The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + /// [Output("tenancy")] public Output Tenancy { get; private set; } = null!; + /// + /// The user data to make available to the instance. + /// [Output("userData")] public Output UserData { get; private set; } = null!; + /// + /// The volumes to attach to the instance. + /// [Output("volumes")] public Output> Volumes { get; private set; } = null!; @@ -214,37 +351,66 @@ public static Instance Get(string name, Input id, CustomResourceOptions? public sealed class InstanceArgs : global::Pulumi.ResourceArgs { + /// + /// This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + /// [Input("additionalInfo")] public Input? AdditionalInfo { get; set; } + /// + /// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + /// [Input("affinity")] - public Input? Affinity { get; set; } + public Input? Affinity { get; set; } + /// + /// The Availability Zone of the instance. + /// [Input("availabilityZone")] public Input? AvailabilityZone { get; set; } [Input("blockDeviceMappings")] private InputList? _blockDeviceMappings; + + /// + /// The block device mapping entries that defines the block devices to attach to the instance at launch. + /// public InputList BlockDeviceMappings { get => _blockDeviceMappings ?? (_blockDeviceMappings = new InputList()); set => _blockDeviceMappings = value; } + /// + /// The CPU options for the instance. + /// [Input("cpuOptions")] - public Input? CpuOptions { get; set; } + public Input? CpuOptions { get; set; } + /// + /// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + /// [Input("creditSpecification")] - public Input? CreditSpecification { get; set; } + public Input? CreditSpecification { get; set; } + /// + /// If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + /// [Input("disableApiTermination")] public Input? DisableApiTermination { get; set; } + /// + /// Indicates whether the instance is optimized for Amazon EBS I/O. + /// [Input("ebsOptimized")] public Input? EbsOptimized { get; set; } [Input("elasticGpuSpecifications")] private InputList? _elasticGpuSpecifications; + + /// + /// An elastic GPU to associate with the instance. + /// public InputList ElasticGpuSpecifications { get => _elasticGpuSpecifications ?? (_elasticGpuSpecifications = new InputList()); @@ -253,92 +419,166 @@ public InputList ElasticGpuSpecifica [Input("elasticInferenceAccelerators")] private InputList? _elasticInferenceAccelerators; + + /// + /// An elastic inference accelerator to associate with the instance. + /// public InputList ElasticInferenceAccelerators { get => _elasticInferenceAccelerators ?? (_elasticInferenceAccelerators = new InputList()); set => _elasticInferenceAccelerators = value; } + /// + /// Indicates whether the instance is enabled for AWS Nitro Enclaves. + /// [Input("enclaveOptions")] - public Input? EnclaveOptions { get; set; } + public Input? EnclaveOptions { get; set; } + /// + /// Indicates whether an instance is enabled for hibernation. + /// [Input("hibernationOptions")] - public Input? HibernationOptions { get; set; } + public Input? HibernationOptions { get; set; } + /// + /// If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + /// [Input("hostId")] public Input? HostId { get; set; } + /// + /// The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + /// [Input("hostResourceGroupArn")] public Input? HostResourceGroupArn { get; set; } + /// + /// The IAM instance profile. + /// [Input("iamInstanceProfile")] public Input? IamInstanceProfile { get; set; } + /// + /// The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + /// [Input("imageId")] public Input? ImageId { get; set; } + /// + /// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + /// [Input("instanceInitiatedShutdownBehavior")] public Input? InstanceInitiatedShutdownBehavior { get; set; } + /// + /// The instance type. + /// [Input("instanceType")] public Input? InstanceType { get; set; } + /// + /// [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + /// [Input("ipv6AddressCount")] public Input? Ipv6AddressCount { get; set; } [Input("ipv6Addresses")] private InputList? _ipv6Addresses; + + /// + /// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + /// public InputList Ipv6Addresses { get => _ipv6Addresses ?? (_ipv6Addresses = new InputList()); set => _ipv6Addresses = value; } + /// + /// The ID of the kernel. + /// [Input("kernelId")] public Input? KernelId { get; set; } + /// + /// The name of the key pair. + /// [Input("keyName")] public Input? KeyName { get; set; } + /// + /// The launch template to use to launch the instances. + /// [Input("launchTemplate")] public Input? LaunchTemplate { get; set; } [Input("licenseSpecifications")] private InputList? _licenseSpecifications; + + /// + /// The license configurations. + /// public InputList LicenseSpecifications { get => _licenseSpecifications ?? (_licenseSpecifications = new InputList()); set => _licenseSpecifications = value; } + /// + /// Specifies whether detailed monitoring is enabled for the instance. + /// [Input("monitoring")] public Input? Monitoring { get; set; } [Input("networkInterfaces")] private InputList? _networkInterfaces; + + /// + /// The network interfaces to associate with the instance. + /// public InputList NetworkInterfaces { get => _networkInterfaces ?? (_networkInterfaces = new InputList()); set => _networkInterfaces = value; } + /// + /// The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + /// [Input("placementGroupName")] public Input? PlacementGroupName { get; set; } + /// + /// The options for the instance hostname. + /// [Input("privateDnsNameOptions")] public Input? PrivateDnsNameOptions { get; set; } + /// + /// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + /// [Input("privateIpAddress")] public Input? PrivateIpAddress { get; set; } + /// + /// Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + /// [Input("propagateTagsToVolumeOnCreation")] public Input? PropagateTagsToVolumeOnCreation { get; set; } + /// + /// The ID of the RAM disk to select. + /// [Input("ramdiskId")] public Input? RamdiskId { get; set; } [Input("securityGroupIds")] private InputList? _securityGroupIds; + + /// + /// The IDs of the security groups. + /// public InputList SecurityGroupIds { get => _securityGroupIds ?? (_securityGroupIds = new InputList()); @@ -347,42 +587,70 @@ public InputList SecurityGroupIds [Input("securityGroups")] private InputList? _securityGroups; + + /// + /// the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + /// public InputList SecurityGroups { get => _securityGroups ?? (_securityGroups = new InputList()); set => _securityGroups = value; } + /// + /// Specifies whether to enable an instance launched in a VPC to perform NAT. + /// [Input("sourceDestCheck")] public Input? SourceDestCheck { get; set; } [Input("ssmAssociations")] private InputList? _ssmAssociations; + + /// + /// The SSM document and parameter values in AWS Systems Manager to associate with this instance. + /// public InputList SsmAssociations { get => _ssmAssociations ?? (_ssmAssociations = new InputList()); set => _ssmAssociations = value; } + /// + /// [EC2-VPC] The ID of the subnet to launch the instance into. + /// [Input("subnetId")] public Input? SubnetId { get; set; } [Input("tags")] private InputList? _tags; + + /// + /// The tags to add to the instance. + /// public InputList Tags { get => _tags ?? (_tags = new InputList()); set => _tags = value; } + /// + /// The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + /// [Input("tenancy")] public Input? Tenancy { get; set; } + /// + /// The user data to make available to the instance. + /// [Input("userData")] public Input? UserData { get; set; } [Input("volumes")] private InputList? _volumes; + + /// + /// The volumes to attach to the instance. + /// public InputList Volumes { get => _volumes ?? (_volumes = new InputList()); diff --git a/sdk/dotnet/Ec2/Outputs/InstanceCpuOptions.cs b/sdk/dotnet/Ec2/Outputs/CpuOptionsProperties.cs similarity index 80% rename from sdk/dotnet/Ec2/Outputs/InstanceCpuOptions.cs rename to sdk/dotnet/Ec2/Outputs/CpuOptionsProperties.cs index e17be5ad8c..bccc601717 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceCpuOptions.cs +++ b/sdk/dotnet/Ec2/Outputs/CpuOptionsProperties.cs @@ -10,14 +10,17 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// The CPU options for the instance. + /// [OutputType] - public sealed class InstanceCpuOptions + public sealed class CpuOptionsProperties { public readonly int? CoreCount; public readonly int? ThreadsPerCore; [OutputConstructor] - private InstanceCpuOptions( + private CpuOptionsProperties( int? coreCount, int? threadsPerCore) diff --git a/sdk/dotnet/Ec2/Outputs/InstanceCreditSpecification.cs b/sdk/dotnet/Ec2/Outputs/CreditSpecificationProperties.cs similarity index 64% rename from sdk/dotnet/Ec2/Outputs/InstanceCreditSpecification.cs rename to sdk/dotnet/Ec2/Outputs/CreditSpecificationProperties.cs index 0a64c970ee..38dccc3e92 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceCreditSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/CreditSpecificationProperties.cs @@ -10,13 +10,16 @@ namespace Pulumi.AwsNative.Ec2.Outputs { + /// + /// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + /// [OutputType] - public sealed class InstanceCreditSpecification + public sealed class CreditSpecificationProperties { public readonly string? CpuCredits; [OutputConstructor] - private InstanceCreditSpecification(string? cpuCredits) + private CreditSpecificationProperties(string? cpuCredits) { CpuCredits = cpuCredits; } diff --git a/sdk/dotnet/Ec2/Outputs/EnclaveOptionsProperties.cs b/sdk/dotnet/Ec2/Outputs/EnclaveOptionsProperties.cs new file mode 100644 index 0000000000..623540cbfe --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/EnclaveOptionsProperties.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2.Outputs +{ + + /// + /// Indicates whether the instance is enabled for AWS Nitro Enclaves. + /// + [OutputType] + public sealed class EnclaveOptionsProperties + { + /// + /// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + /// + public readonly bool? Enabled; + + [OutputConstructor] + private EnclaveOptionsProperties(bool? enabled) + { + Enabled = enabled; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/HibernationOptionsProperties.cs b/sdk/dotnet/Ec2/Outputs/HibernationOptionsProperties.cs new file mode 100644 index 0000000000..74d098ba27 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/HibernationOptionsProperties.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Ec2.Outputs +{ + + /// + /// Indicates whether an instance is enabled for hibernation. + /// + [OutputType] + public sealed class HibernationOptionsProperties + { + /// + /// If you set this parameter to true, your instance is enabled for hibernation. + /// + public readonly bool? Configured; + + [OutputConstructor] + private HibernationOptionsProperties(bool? configured) + { + Configured = configured; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/InstanceAssociationParameter.cs b/sdk/dotnet/Ec2/Outputs/InstanceAssociationParameter.cs index cab1f384c2..a1f8419dec 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceAssociationParameter.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceAssociationParameter.cs @@ -13,7 +13,13 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceAssociationParameter { + /// + /// The name of an input parameter that is in the associated SSM document. + /// public readonly string Key; + /// + /// The value of an input parameter. + /// public readonly ImmutableArray Value; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceBlockDeviceMapping.cs b/sdk/dotnet/Ec2/Outputs/InstanceBlockDeviceMapping.cs index 035fc31fd2..2875531cef 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceBlockDeviceMapping.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceBlockDeviceMapping.cs @@ -13,9 +13,15 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceBlockDeviceMapping { + /// + /// The device name (for example, /dev/sdh or xvdh). + /// public readonly string DeviceName; + /// + /// Parameters used to automatically set up EBS volumes when the instance is launched. + /// public readonly Outputs.InstanceEbs? Ebs; - public readonly Outputs.InstanceNoDevice? NoDevice; + public readonly object? NoDevice; public readonly string? VirtualName; [OutputConstructor] @@ -24,7 +30,7 @@ private InstanceBlockDeviceMapping( Outputs.InstanceEbs? ebs, - Outputs.InstanceNoDevice? noDevice, + object? noDevice, string? virtualName) { diff --git a/sdk/dotnet/Ec2/Outputs/InstanceEbs.cs b/sdk/dotnet/Ec2/Outputs/InstanceEbs.cs index 6b7c9ff496..82bab19e27 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceEbs.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceEbs.cs @@ -13,12 +13,33 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceEbs { + /// + /// Indicates whether the EBS volume is deleted on instance termination. + /// public readonly bool? DeleteOnTermination; + /// + /// Indicates whether the volume should be encrypted. + /// public readonly bool? Encrypted; + /// + /// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + /// public readonly int? Iops; + /// + /// The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + /// public readonly string? KmsKeyId; + /// + /// The ID of the snapshot. + /// public readonly string? SnapshotId; + /// + /// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + /// public readonly int? VolumeSize; + /// + /// The volume type. + /// public readonly string? VolumeType; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceElasticGpuSpecification.cs b/sdk/dotnet/Ec2/Outputs/InstanceElasticGpuSpecification.cs index 235a63b2f2..2c5be20350 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceElasticGpuSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceElasticGpuSpecification.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceElasticGpuSpecification { + /// + /// The type of Elastic Graphics accelerator. + /// public readonly string Type; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceElasticInferenceAccelerator.cs b/sdk/dotnet/Ec2/Outputs/InstanceElasticInferenceAccelerator.cs index 850c203fa6..5678e21e04 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceElasticInferenceAccelerator.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceElasticInferenceAccelerator.cs @@ -13,7 +13,13 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceElasticInferenceAccelerator { + /// + /// The number of elastic inference accelerators to attach to the instance. + /// public readonly int? Count; + /// + /// The type of elastic inference accelerator. + /// public readonly string Type; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceIpv6Address.cs b/sdk/dotnet/Ec2/Outputs/InstanceIpv6Address.cs index f29369c36b..5ee33c0d8c 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceIpv6Address.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceIpv6Address.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceIpv6Address { + /// + /// The IPv6 address. + /// public readonly string Ipv6Address; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceLaunchTemplateSpecification.cs b/sdk/dotnet/Ec2/Outputs/InstanceLaunchTemplateSpecification.cs index 2a55a9a312..500459f166 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceLaunchTemplateSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceLaunchTemplateSpecification.cs @@ -13,9 +13,18 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceLaunchTemplateSpecification { + /// + /// The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + /// public readonly string? LaunchTemplateId; + /// + /// The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + /// public readonly string? LaunchTemplateName; - public readonly string Version; + /// + /// The version number of the launch template. + /// + public readonly string? Version; [OutputConstructor] private InstanceLaunchTemplateSpecification( @@ -23,7 +32,7 @@ private InstanceLaunchTemplateSpecification( string? launchTemplateName, - string version) + string? version) { LaunchTemplateId = launchTemplateId; LaunchTemplateName = launchTemplateName; diff --git a/sdk/dotnet/Ec2/Outputs/InstanceLicenseSpecification.cs b/sdk/dotnet/Ec2/Outputs/InstanceLicenseSpecification.cs index 354514f893..fc46b7b462 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceLicenseSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceLicenseSpecification.cs @@ -13,6 +13,9 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceLicenseSpecification { + /// + /// The Amazon Resource Name (ARN) of the license configuration. + /// public readonly string LicenseConfigurationArn; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceNetworkInterface.cs b/sdk/dotnet/Ec2/Outputs/InstanceNetworkInterface.cs index 3cffff89da..08c1280b73 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceNetworkInterface.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceNetworkInterface.cs @@ -13,18 +13,57 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceNetworkInterface { + /// + /// Not currently supported by AWS CloudFormation. + /// public readonly bool? AssociateCarrierIpAddress; + /// + /// Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + /// public readonly bool? AssociatePublicIpAddress; + /// + /// If set to true, the interface is deleted when the instance is terminated. + /// public readonly bool? DeleteOnTermination; + /// + /// The description of the network interface. + /// public readonly string? Description; + /// + /// The position of the network interface in the attachment order. A primary network interface has a device index of 0. + /// public readonly string DeviceIndex; + /// + /// The IDs of the security groups for the network interface. + /// public readonly ImmutableArray GroupSet; + /// + /// A number of IPv6 addresses to assign to the network interface. + /// public readonly int? Ipv6AddressCount; + /// + /// The IPv6 addresses associated with the network interface. + /// public readonly ImmutableArray Ipv6Addresses; + /// + /// The ID of the network interface. + /// public readonly string? NetworkInterfaceId; + /// + /// The private IPv4 address of the network interface. + /// public readonly string? PrivateIpAddress; + /// + /// One or more private IPv4 addresses to assign to the network interface. + /// public readonly ImmutableArray PrivateIpAddresses; + /// + /// The number of secondary private IPv4 addresses. + /// public readonly int? SecondaryPrivateIpAddressCount; + /// + /// The ID of the subnet. + /// public readonly string? SubnetId; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstancePrivateDnsNameOptions.cs b/sdk/dotnet/Ec2/Outputs/InstancePrivateDnsNameOptions.cs index cba5a18068..72a24d9808 100644 --- a/sdk/dotnet/Ec2/Outputs/InstancePrivateDnsNameOptions.cs +++ b/sdk/dotnet/Ec2/Outputs/InstancePrivateDnsNameOptions.cs @@ -13,9 +13,18 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstancePrivateDnsNameOptions { + /// + /// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// public readonly bool? EnableResourceNameDnsARecord; + /// + /// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// public readonly bool? EnableResourceNameDnsAaaaRecord; - public readonly string? HostnameType; + /// + /// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + /// + public readonly Pulumi.AwsNative.Ec2.InstancePrivateDnsNameOptionsHostnameType? HostnameType; [OutputConstructor] private InstancePrivateDnsNameOptions( @@ -23,7 +32,7 @@ private InstancePrivateDnsNameOptions( bool? enableResourceNameDnsAaaaRecord, - string? hostnameType) + Pulumi.AwsNative.Ec2.InstancePrivateDnsNameOptionsHostnameType? hostnameType) { EnableResourceNameDnsARecord = enableResourceNameDnsARecord; EnableResourceNameDnsAaaaRecord = enableResourceNameDnsAaaaRecord; diff --git a/sdk/dotnet/Ec2/Outputs/InstancePrivateIpAddressSpecification.cs b/sdk/dotnet/Ec2/Outputs/InstancePrivateIpAddressSpecification.cs index fe6bbca00b..f8604a6a2f 100644 --- a/sdk/dotnet/Ec2/Outputs/InstancePrivateIpAddressSpecification.cs +++ b/sdk/dotnet/Ec2/Outputs/InstancePrivateIpAddressSpecification.cs @@ -13,7 +13,13 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstancePrivateIpAddressSpecification { + /// + /// Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + /// public readonly bool Primary; + /// + /// The private IPv4 addresses. + /// public readonly string PrivateIpAddress; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceSsmAssociation.cs b/sdk/dotnet/Ec2/Outputs/InstanceSsmAssociation.cs index 2690ffaf60..b096c68ccf 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceSsmAssociation.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceSsmAssociation.cs @@ -13,7 +13,13 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceSsmAssociation { + /// + /// The input parameter values to use with the associated SSM document. + /// public readonly ImmutableArray AssociationParameters; + /// + /// The name of an SSM document to associate with the instance. + /// public readonly string DocumentName; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/InstanceVolume.cs b/sdk/dotnet/Ec2/Outputs/InstanceVolume.cs index b4b6ef8979..4372db922e 100644 --- a/sdk/dotnet/Ec2/Outputs/InstanceVolume.cs +++ b/sdk/dotnet/Ec2/Outputs/InstanceVolume.cs @@ -13,7 +13,13 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class InstanceVolume { + /// + /// The device name (for example, /dev/sdh or xvdh). + /// public readonly string Device; + /// + /// The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + /// public readonly string VolumeId; [OutputConstructor] diff --git a/sdk/dotnet/Ec2/Outputs/VerifiedAccessTrustProviderDeviceOptions.cs b/sdk/dotnet/Ec2/Outputs/VerifiedAccessTrustProviderDeviceOptions.cs index 4177bfa8df..00b1e49007 100644 --- a/sdk/dotnet/Ec2/Outputs/VerifiedAccessTrustProviderDeviceOptions.cs +++ b/sdk/dotnet/Ec2/Outputs/VerifiedAccessTrustProviderDeviceOptions.cs @@ -16,14 +16,22 @@ namespace Pulumi.AwsNative.Ec2.Outputs [OutputType] public sealed class VerifiedAccessTrustProviderDeviceOptions { + /// + /// URL Verified Access will use to verify authenticity of the device tokens. + /// + public readonly string? PublicSigningKeyUrl; /// /// The ID of the tenant application with the device-identity provider. /// public readonly string? TenantId; [OutputConstructor] - private VerifiedAccessTrustProviderDeviceOptions(string? tenantId) + private VerifiedAccessTrustProviderDeviceOptions( + string? publicSigningKeyUrl, + + string? tenantId) { + PublicSigningKeyUrl = publicSigningKeyUrl; TenantId = tenantId; } } diff --git a/sdk/dotnet/Ec2/SecurityGroupEgress.cs b/sdk/dotnet/Ec2/SecurityGroupEgress.cs index ccdd31988f..7012276837 100644 --- a/sdk/dotnet/Ec2/SecurityGroupEgress.cs +++ b/sdk/dotnet/Ec2/SecurityGroupEgress.cs @@ -12,34 +12,60 @@ namespace Pulumi.AwsNative.Ec2 /// /// Resource Type definition for AWS::EC2::SecurityGroupEgress /// - [Obsolete(@"SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:ec2:SecurityGroupEgress")] public partial class SecurityGroupEgress : global::Pulumi.CustomResource { + /// + /// The IPv4 ranges + /// [Output("cidrIp")] public Output CidrIp { get; private set; } = null!; + /// + /// [VPC only] The IPv6 ranges + /// [Output("cidrIpv6")] public Output CidrIpv6 { get; private set; } = null!; + /// + /// Resource Type definition for an egress (outbound) security group rule. + /// [Output("description")] public Output Description { get; private set; } = null!; + /// + /// [EC2-VPC only] The ID of a prefix list. + /// [Output("destinationPrefixListId")] public Output DestinationPrefixListId { get; private set; } = null!; + /// + /// You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + /// [Output("destinationSecurityGroupId")] public Output DestinationSecurityGroupId { get; private set; } = null!; + /// + /// 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. + /// [Output("fromPort")] public Output FromPort { get; private set; } = null!; + /// + /// 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. + /// [Output("groupId")] public Output GroupId { get; private set; } = null!; + /// + /// [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. + /// [Output("ipProtocol")] public Output IpProtocol { get; private set; } = null!; + /// + /// 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. + /// [Output("toPort")] public Output ToPort { get; private set; } = null!; @@ -99,30 +125,57 @@ public static SecurityGroupEgress Get(string name, Input id, CustomResou public sealed class SecurityGroupEgressArgs : global::Pulumi.ResourceArgs { + /// + /// The IPv4 ranges + /// [Input("cidrIp")] public Input? CidrIp { get; set; } + /// + /// [VPC only] The IPv6 ranges + /// [Input("cidrIpv6")] public Input? CidrIpv6 { get; set; } + /// + /// Resource Type definition for an egress (outbound) security group rule. + /// [Input("description")] public Input? Description { get; set; } + /// + /// [EC2-VPC only] The ID of a prefix list. + /// [Input("destinationPrefixListId")] public Input? DestinationPrefixListId { get; set; } + /// + /// You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + /// [Input("destinationSecurityGroupId")] public Input? DestinationSecurityGroupId { get; set; } + /// + /// 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. + /// [Input("fromPort")] public Input? FromPort { get; set; } + /// + /// 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. + /// [Input("groupId", required: true)] public Input GroupId { get; set; } = null!; + /// + /// [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. + /// [Input("ipProtocol", required: true)] public Input IpProtocol { get; set; } = null!; + /// + /// 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. + /// [Input("toPort")] public Input? ToPort { get; set; } diff --git a/sdk/dotnet/Ecs/Enums.cs b/sdk/dotnet/Ecs/Enums.cs index a82f833027..3cdd5f149d 100644 --- a/sdk/dotnet/Ecs/Enums.cs +++ b/sdk/dotnet/Ecs/Enums.cs @@ -7,6 +7,34 @@ namespace Pulumi.AwsNative.Ecs { + [EnumType] + public readonly struct CapacityProviderAutoScalingGroupProviderManagedDraining : IEquatable + { + private readonly string _value; + + private CapacityProviderAutoScalingGroupProviderManagedDraining(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CapacityProviderAutoScalingGroupProviderManagedDraining Disabled { get; } = new CapacityProviderAutoScalingGroupProviderManagedDraining("DISABLED"); + public static CapacityProviderAutoScalingGroupProviderManagedDraining Enabled { get; } = new CapacityProviderAutoScalingGroupProviderManagedDraining("ENABLED"); + + public static bool operator ==(CapacityProviderAutoScalingGroupProviderManagedDraining left, CapacityProviderAutoScalingGroupProviderManagedDraining right) => left.Equals(right); + public static bool operator !=(CapacityProviderAutoScalingGroupProviderManagedDraining left, CapacityProviderAutoScalingGroupProviderManagedDraining right) => !left.Equals(right); + + public static explicit operator string(CapacityProviderAutoScalingGroupProviderManagedDraining value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CapacityProviderAutoScalingGroupProviderManagedDraining other && Equals(other); + public bool Equals(CapacityProviderAutoScalingGroupProviderManagedDraining other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct CapacityProviderAutoScalingGroupProviderManagedTerminationProtection : IEquatable { diff --git a/sdk/dotnet/Ecs/Inputs/CapacityProviderAutoScalingGroupProviderArgs.cs b/sdk/dotnet/Ecs/Inputs/CapacityProviderAutoScalingGroupProviderArgs.cs index 4bd8077763..e4de31934c 100644 --- a/sdk/dotnet/Ecs/Inputs/CapacityProviderAutoScalingGroupProviderArgs.cs +++ b/sdk/dotnet/Ecs/Inputs/CapacityProviderAutoScalingGroupProviderArgs.cs @@ -15,6 +15,9 @@ public sealed class CapacityProviderAutoScalingGroupProviderArgs : global::Pulum [Input("autoScalingGroupArn", required: true)] public Input AutoScalingGroupArn { get; set; } = null!; + [Input("managedDraining")] + public Input? ManagedDraining { get; set; } + [Input("managedScaling")] public Input? ManagedScaling { get; set; } diff --git a/sdk/dotnet/Ecs/Outputs/CapacityProviderAutoScalingGroupProvider.cs b/sdk/dotnet/Ecs/Outputs/CapacityProviderAutoScalingGroupProvider.cs index 8c2fdbbf40..2b24474d8a 100644 --- a/sdk/dotnet/Ecs/Outputs/CapacityProviderAutoScalingGroupProvider.cs +++ b/sdk/dotnet/Ecs/Outputs/CapacityProviderAutoScalingGroupProvider.cs @@ -14,6 +14,7 @@ namespace Pulumi.AwsNative.Ecs.Outputs public sealed class CapacityProviderAutoScalingGroupProvider { public readonly string AutoScalingGroupArn; + public readonly Pulumi.AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedDraining? ManagedDraining; public readonly Outputs.CapacityProviderManagedScaling? ManagedScaling; public readonly Pulumi.AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection? ManagedTerminationProtection; @@ -21,11 +22,14 @@ public sealed class CapacityProviderAutoScalingGroupProvider private CapacityProviderAutoScalingGroupProvider( string autoScalingGroupArn, + Pulumi.AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedDraining? managedDraining, + Outputs.CapacityProviderManagedScaling? managedScaling, Pulumi.AwsNative.Ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection? managedTerminationProtection) { AutoScalingGroupArn = autoScalingGroupArn; + ManagedDraining = managedDraining; ManagedScaling = managedScaling; ManagedTerminationProtection = managedTerminationProtection; } diff --git a/sdk/dotnet/ElastiCache/Inputs/ServerlessCacheEndpointArgs.cs b/sdk/dotnet/ElastiCache/Inputs/ServerlessCacheEndpointArgs.cs new file mode 100644 index 0000000000..c189c371c6 --- /dev/null +++ b/sdk/dotnet/ElastiCache/Inputs/ServerlessCacheEndpointArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.ElastiCache.Inputs +{ + + /// + /// The address and the port. + /// + public sealed class ServerlessCacheEndpointArgs : global::Pulumi.ResourceArgs + { + /// + /// Endpoint address. + /// + [Input("address")] + public Input? Address { get; set; } + + /// + /// Endpoint port. + /// + [Input("port")] + public Input? Port { get; set; } + + public ServerlessCacheEndpointArgs() + { + } + public static new ServerlessCacheEndpointArgs Empty => new ServerlessCacheEndpointArgs(); + } +} diff --git a/sdk/dotnet/ElastiCache/ServerlessCache.cs b/sdk/dotnet/ElastiCache/ServerlessCache.cs index 56cc9f4145..1d38168fe9 100644 --- a/sdk/dotnet/ElastiCache/ServerlessCache.cs +++ b/sdk/dotnet/ElastiCache/ServerlessCache.cs @@ -43,7 +43,7 @@ public partial class ServerlessCache : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; [Output("endpoint")] - public Output Endpoint { get; private set; } = null!; + public Output Endpoint { get; private set; } = null!; /// /// The engine name of the Serverless Cache. @@ -76,7 +76,7 @@ public partial class ServerlessCache : global::Pulumi.CustomResource public Output MajorEngineVersion { get; private set; } = null!; [Output("readerEndpoint")] - public Output ReaderEndpoint { get; private set; } = null!; + public Output ReaderEndpoint { get; private set; } = null!; /// /// One or more Amazon VPC security groups associated with this Serverless Cache. @@ -195,6 +195,9 @@ public sealed class ServerlessCacheArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("endpoint")] + public Input? Endpoint { get; set; } + /// /// The engine name of the Serverless Cache. /// @@ -219,6 +222,9 @@ public sealed class ServerlessCacheArgs : global::Pulumi.ResourceArgs [Input("majorEngineVersion")] public Input? MajorEngineVersion { get; set; } + [Input("readerEndpoint")] + public Input? ReaderEndpoint { get; set; } + [Input("securityGroupIds")] private InputList? _securityGroupIds; diff --git a/sdk/dotnet/Emr/Enums.cs b/sdk/dotnet/Emr/Enums.cs index ec4071ceb5..b57f90043c 100644 --- a/sdk/dotnet/Emr/Enums.cs +++ b/sdk/dotnet/Emr/Enums.cs @@ -38,6 +38,37 @@ private StudioAuthMode(string value) public override string ToString() => _value; } + /// + /// 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. + /// + [EnumType] + public readonly struct StudioIdcUserAssignment : IEquatable + { + private readonly string _value; + + private StudioIdcUserAssignment(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static StudioIdcUserAssignment Required { get; } = new StudioIdcUserAssignment("REQUIRED"); + public static StudioIdcUserAssignment Optional { get; } = new StudioIdcUserAssignment("OPTIONAL"); + + public static bool operator ==(StudioIdcUserAssignment left, StudioIdcUserAssignment right) => left.Equals(right); + public static bool operator !=(StudioIdcUserAssignment left, StudioIdcUserAssignment right) => !left.Equals(right); + + public static explicit operator string(StudioIdcUserAssignment value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is StudioIdcUserAssignment other && Equals(other); + public bool Equals(StudioIdcUserAssignment other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Specifies whether the identity to map to the Studio is a user or a group. /// diff --git a/sdk/dotnet/Emr/Studio.cs b/sdk/dotnet/Emr/Studio.cs index 0b3bb48e4b..94451a0623 100644 --- a/sdk/dotnet/Emr/Studio.cs +++ b/sdk/dotnet/Emr/Studio.cs @@ -39,12 +39,30 @@ public partial class Studio : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + /// + [Output("encryptionKeyArn")] + public Output EncryptionKeyArn { get; private set; } = null!; + /// /// 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. /// [Output("engineSecurityGroupId")] public Output EngineSecurityGroupId { get; private set; } = null!; + /// + /// The ARN of the IAM Identity Center instance to create the Studio application. + /// + [Output("idcInstanceArn")] + public Output IdcInstanceArn { get; private set; } = null!; + + /// + /// 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. + /// + [Output("idcUserAssignment")] + public Output IdcUserAssignment { get; private set; } = null!; + /// /// 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. /// @@ -87,6 +105,12 @@ public partial class Studio : global::Pulumi.CustomResource [Output("tags")] public Output> Tags { get; private set; } = null!; + /// + /// A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + /// + [Output("trustedIdentityPropagationEnabled")] + public Output TrustedIdentityPropagationEnabled { get; private set; } = null!; + /// /// The unique Studio access URL. /// @@ -137,8 +161,12 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? ReplaceOnChanges = { "authMode", + "encryptionKeyArn", "engineSecurityGroupId", + "idcInstanceArn", + "idcUserAssignment", "serviceRole", + "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId", @@ -183,12 +211,30 @@ public sealed class StudioArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + /// + [Input("encryptionKeyArn")] + public Input? EncryptionKeyArn { get; set; } + /// /// 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. /// [Input("engineSecurityGroupId", required: true)] public Input EngineSecurityGroupId { get; set; } = null!; + /// + /// The ARN of the IAM Identity Center instance to create the Studio application. + /// + [Input("idcInstanceArn")] + public Input? IdcInstanceArn { get; set; } + + /// + /// 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. + /// + [Input("idcUserAssignment")] + public Input? IdcUserAssignment { get; set; } + /// /// 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. /// @@ -237,6 +283,12 @@ public InputList Tags set => _tags = value; } + /// + /// A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + /// + [Input("trustedIdentityPropagationEnabled")] + public Input? TrustedIdentityPropagationEnabled { get; set; } + /// /// 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. /// diff --git a/sdk/dotnet/EventSchemas/Discoverer.cs b/sdk/dotnet/EventSchemas/Discoverer.cs index efb81c2e34..e0fabb4a4f 100644 --- a/sdk/dotnet/EventSchemas/Discoverer.cs +++ b/sdk/dotnet/EventSchemas/Discoverer.cs @@ -12,25 +12,48 @@ namespace Pulumi.AwsNative.EventSchemas /// /// Resource Type definition for AWS::EventSchemas::Discoverer /// - [Obsolete(@"Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:eventschemas:Discoverer")] public partial class Discoverer : global::Pulumi.CustomResource { + /// + /// Defines whether event schemas from other accounts are discovered. Default is True. + /// [Output("crossAccount")] public Output CrossAccount { get; private set; } = null!; + /// + /// A description for the discoverer. + /// [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The ARN of the discoverer. + /// [Output("discovererArn")] public Output DiscovererArn { get; private set; } = null!; + /// + /// The Id of the discoverer. + /// [Output("discovererId")] public Output DiscovererId { get; private set; } = null!; + /// + /// The ARN of the event bus. + /// [Output("sourceArn")] public Output SourceArn { get; private set; } = null!; + /// + /// Defines the current state of the discoverer. + /// + [Output("state")] + public Output State { get; private set; } = null!; + + /// + /// Tags associated with the resource. + /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -83,17 +106,30 @@ public static Discoverer Get(string name, Input id, CustomResourceOption public sealed class DiscovererArgs : global::Pulumi.ResourceArgs { + /// + /// Defines whether event schemas from other accounts are discovered. Default is True. + /// [Input("crossAccount")] public Input? CrossAccount { get; set; } + /// + /// A description for the discoverer. + /// [Input("description")] public Input? Description { get; set; } + /// + /// The ARN of the event bus. + /// [Input("sourceArn", required: true)] public Input SourceArn { get; set; } = null!; [Input("tags")] private InputList? _tags; + + /// + /// Tags associated with the resource. + /// public InputList Tags { get => _tags ?? (_tags = new InputList()); diff --git a/sdk/dotnet/EventSchemas/GetDiscoverer.cs b/sdk/dotnet/EventSchemas/GetDiscoverer.cs index 526ceae93a..35627a307f 100644 --- a/sdk/dotnet/EventSchemas/GetDiscoverer.cs +++ b/sdk/dotnet/EventSchemas/GetDiscoverer.cs @@ -27,8 +27,11 @@ public static Output Invoke(GetDiscovererInvokeArgs args, I public sealed class GetDiscovererArgs : global::Pulumi.InvokeArgs { - [Input("discovererId", required: true)] - public string DiscovererId { get; set; } = null!; + /// + /// The ARN of the discoverer. + /// + [Input("discovererArn", required: true)] + public string DiscovererArn { get; set; } = null!; public GetDiscovererArgs() { @@ -38,8 +41,11 @@ public GetDiscovererArgs() public sealed class GetDiscovererInvokeArgs : global::Pulumi.InvokeArgs { - [Input("discovererId", required: true)] - public Input DiscovererId { get; set; } = null!; + /// + /// The ARN of the discoverer. + /// + [Input("discovererArn", required: true)] + public Input DiscovererArn { get; set; } = null!; public GetDiscovererInvokeArgs() { @@ -51,10 +57,29 @@ public GetDiscovererInvokeArgs() [OutputType] public sealed class GetDiscovererResult { + /// + /// Defines whether event schemas from other accounts are discovered. Default is True. + /// public readonly bool? CrossAccount; + /// + /// A description for the discoverer. + /// public readonly string? Description; + /// + /// The ARN of the discoverer. + /// public readonly string? DiscovererArn; + /// + /// The Id of the discoverer. + /// public readonly string? DiscovererId; + /// + /// Defines the current state of the discoverer. + /// + public readonly string? State; + /// + /// Tags associated with the resource. + /// public readonly ImmutableArray Tags; [OutputConstructor] @@ -67,12 +92,15 @@ private GetDiscovererResult( string? discovererId, + string? state, + ImmutableArray tags) { CrossAccount = crossAccount; Description = description; DiscovererArn = discovererArn; DiscovererId = discovererId; + State = state; Tags = tags; } } diff --git a/sdk/dotnet/EventSchemas/GetRegistry.cs b/sdk/dotnet/EventSchemas/GetRegistry.cs index 784c8786bf..648edeaaff 100644 --- a/sdk/dotnet/EventSchemas/GetRegistry.cs +++ b/sdk/dotnet/EventSchemas/GetRegistry.cs @@ -27,8 +27,11 @@ public static Output Invoke(GetRegistryInvokeArgs args, Invok public sealed class GetRegistryArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public string Id { get; set; } = null!; + /// + /// The ARN of the registry. + /// + [Input("registryArn", required: true)] + public string RegistryArn { get; set; } = null!; public GetRegistryArgs() { @@ -38,8 +41,11 @@ public GetRegistryArgs() public sealed class GetRegistryInvokeArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public Input Id { get; set; } = null!; + /// + /// The ARN of the registry. + /// + [Input("registryArn", required: true)] + public Input RegistryArn { get; set; } = null!; public GetRegistryInvokeArgs() { @@ -51,23 +57,28 @@ public GetRegistryInvokeArgs() [OutputType] public sealed class GetRegistryResult { + /// + /// A description of the registry to be created. + /// public readonly string? Description; - public readonly string? Id; + /// + /// The ARN of the registry. + /// public readonly string? RegistryArn; + /// + /// Tags associated with the resource. + /// public readonly ImmutableArray Tags; [OutputConstructor] private GetRegistryResult( string? description, - string? id, - string? registryArn, ImmutableArray tags) { Description = description; - Id = id; RegistryArn = registryArn; Tags = tags; } diff --git a/sdk/dotnet/EventSchemas/Registry.cs b/sdk/dotnet/EventSchemas/Registry.cs index f8307225f7..e046171605 100644 --- a/sdk/dotnet/EventSchemas/Registry.cs +++ b/sdk/dotnet/EventSchemas/Registry.cs @@ -12,19 +12,30 @@ namespace Pulumi.AwsNative.EventSchemas /// /// Resource Type definition for AWS::EventSchemas::Registry /// - [Obsolete(@"Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.")] [AwsNativeResourceType("aws-native:eventschemas:Registry")] public partial class Registry : global::Pulumi.CustomResource { + /// + /// A description of the registry to be created. + /// [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The ARN of the registry. + /// [Output("registryArn")] public Output RegistryArn { get; private set; } = null!; + /// + /// The name of the schema registry. + /// [Output("registryName")] public Output RegistryName { get; private set; } = null!; + /// + /// Tags associated with the resource. + /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -77,14 +88,24 @@ public static Registry Get(string name, Input id, CustomResourceOptions? public sealed class RegistryArgs : global::Pulumi.ResourceArgs { + /// + /// A description of the registry to be created. + /// [Input("description")] public Input? Description { get; set; } + /// + /// The name of the schema registry. + /// [Input("registryName")] public Input? RegistryName { get; set; } [Input("tags")] private InputList? _tags; + + /// + /// Tags associated with the resource. + /// public InputList Tags { get => _tags ?? (_tags = new InputList()); diff --git a/sdk/dotnet/Fis/Enums.cs b/sdk/dotnet/Fis/Enums.cs new file mode 100644 index 0000000000..555657eb7d --- /dev/null +++ b/sdk/dotnet/Fis/Enums.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.ComponentModel; +using Pulumi; + +namespace Pulumi.AwsNative.Fis +{ + /// + /// The account targeting setting for the experiment template. + /// + [EnumType] + public readonly struct ExperimentTemplateExperimentOptionsAccountTargeting : IEquatable + { + private readonly string _value; + + private ExperimentTemplateExperimentOptionsAccountTargeting(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ExperimentTemplateExperimentOptionsAccountTargeting MultiAccount { get; } = new ExperimentTemplateExperimentOptionsAccountTargeting("multi-account"); + public static ExperimentTemplateExperimentOptionsAccountTargeting SingleAccount { get; } = new ExperimentTemplateExperimentOptionsAccountTargeting("single-account"); + + public static bool operator ==(ExperimentTemplateExperimentOptionsAccountTargeting left, ExperimentTemplateExperimentOptionsAccountTargeting right) => left.Equals(right); + public static bool operator !=(ExperimentTemplateExperimentOptionsAccountTargeting left, ExperimentTemplateExperimentOptionsAccountTargeting right) => !left.Equals(right); + + public static explicit operator string(ExperimentTemplateExperimentOptionsAccountTargeting value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ExperimentTemplateExperimentOptionsAccountTargeting other && Equals(other); + public bool Equals(ExperimentTemplateExperimentOptionsAccountTargeting other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The target resolution failure mode for the experiment template. + /// + [EnumType] + public readonly struct ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode : IEquatable + { + private readonly string _value; + + private ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode Fail { get; } = new ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("fail"); + public static ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode Skip { get; } = new ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("skip"); + + public static bool operator ==(ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode left, ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode right) => left.Equals(right); + public static bool operator !=(ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode left, ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode right) => !left.Equals(right); + + public static explicit operator string(ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode other && Equals(other); + public bool Equals(ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } +} diff --git a/sdk/dotnet/Fis/ExperimentTemplate.cs b/sdk/dotnet/Fis/ExperimentTemplate.cs index ed5c4f4048..eed1fc2e3d 100644 --- a/sdk/dotnet/Fis/ExperimentTemplate.cs +++ b/sdk/dotnet/Fis/ExperimentTemplate.cs @@ -21,6 +21,9 @@ public partial class ExperimentTemplate : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + [Output("experimentOptions")] + public Output ExperimentOptions { get; private set; } = null!; + [Output("logConfiguration")] public Output LogConfiguration { get; private set; } = null!; @@ -91,6 +94,9 @@ public sealed class ExperimentTemplateArgs : global::Pulumi.ResourceArgs [Input("description", required: true)] public Input Description { get; set; } = null!; + [Input("experimentOptions")] + public Input? ExperimentOptions { get; set; } + [Input("logConfiguration")] public Input? LogConfiguration { get; set; } diff --git a/sdk/dotnet/Fis/GetExperimentTemplate.cs b/sdk/dotnet/Fis/GetExperimentTemplate.cs index 9ac831052a..b9c92779a5 100644 --- a/sdk/dotnet/Fis/GetExperimentTemplate.cs +++ b/sdk/dotnet/Fis/GetExperimentTemplate.cs @@ -53,6 +53,7 @@ public sealed class GetExperimentTemplateResult { public readonly Outputs.ExperimentTemplateActionMap? Actions; public readonly string? Description; + public readonly Outputs.ExperimentTemplateExperimentOptions? ExperimentOptions; public readonly string? Id; public readonly Outputs.ExperimentTemplateLogConfiguration? LogConfiguration; public readonly string? RoleArn; @@ -65,6 +66,8 @@ private GetExperimentTemplateResult( string? description, + Outputs.ExperimentTemplateExperimentOptions? experimentOptions, + string? id, Outputs.ExperimentTemplateLogConfiguration? logConfiguration, @@ -77,6 +80,7 @@ private GetExperimentTemplateResult( { Actions = actions; Description = description; + ExperimentOptions = experimentOptions; Id = id; LogConfiguration = logConfiguration; RoleArn = roleArn; diff --git a/sdk/dotnet/Fis/GetTargetAccountConfiguration.cs b/sdk/dotnet/Fis/GetTargetAccountConfiguration.cs new file mode 100644 index 0000000000..f597b5f087 --- /dev/null +++ b/sdk/dotnet/Fis/GetTargetAccountConfiguration.cs @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Fis +{ + public static class GetTargetAccountConfiguration + { + /// + /// Resource schema for AWS::FIS::TargetAccountConfiguration + /// + public static Task InvokeAsync(GetTargetAccountConfigurationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:fis:getTargetAccountConfiguration", args ?? new GetTargetAccountConfigurationArgs(), options.WithDefaults()); + + /// + /// Resource schema for AWS::FIS::TargetAccountConfiguration + /// + public static Output Invoke(GetTargetAccountConfigurationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:fis:getTargetAccountConfiguration", args ?? new GetTargetAccountConfigurationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTargetAccountConfigurationArgs : global::Pulumi.InvokeArgs + { + [Input("accountId", required: true)] + public string AccountId { get; set; } = null!; + + [Input("experimentTemplateId", required: true)] + public string ExperimentTemplateId { get; set; } = null!; + + public GetTargetAccountConfigurationArgs() + { + } + public static new GetTargetAccountConfigurationArgs Empty => new GetTargetAccountConfigurationArgs(); + } + + public sealed class GetTargetAccountConfigurationInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + [Input("experimentTemplateId", required: true)] + public Input ExperimentTemplateId { get; set; } = null!; + + public GetTargetAccountConfigurationInvokeArgs() + { + } + public static new GetTargetAccountConfigurationInvokeArgs Empty => new GetTargetAccountConfigurationInvokeArgs(); + } + + + [OutputType] + public sealed class GetTargetAccountConfigurationResult + { + public readonly string? Description; + public readonly string? RoleArn; + + [OutputConstructor] + private GetTargetAccountConfigurationResult( + string? description, + + string? roleArn) + { + Description = description; + RoleArn = roleArn; + } + } +} diff --git a/sdk/dotnet/Fis/Inputs/ExperimentTemplateExperimentOptionsArgs.cs b/sdk/dotnet/Fis/Inputs/ExperimentTemplateExperimentOptionsArgs.cs new file mode 100644 index 0000000000..0f6877b772 --- /dev/null +++ b/sdk/dotnet/Fis/Inputs/ExperimentTemplateExperimentOptionsArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Fis.Inputs +{ + + public sealed class ExperimentTemplateExperimentOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The account targeting setting for the experiment template. + /// + [Input("accountTargeting")] + public Input? AccountTargeting { get; set; } + + /// + /// The target resolution failure mode for the experiment template. + /// + [Input("emptyTargetResolutionMode")] + public Input? EmptyTargetResolutionMode { get; set; } + + public ExperimentTemplateExperimentOptionsArgs() + { + } + public static new ExperimentTemplateExperimentOptionsArgs Empty => new ExperimentTemplateExperimentOptionsArgs(); + } +} diff --git a/sdk/dotnet/Fis/Outputs/ExperimentTemplateExperimentOptions.cs b/sdk/dotnet/Fis/Outputs/ExperimentTemplateExperimentOptions.cs new file mode 100644 index 0000000000..0490985604 --- /dev/null +++ b/sdk/dotnet/Fis/Outputs/ExperimentTemplateExperimentOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Fis.Outputs +{ + + [OutputType] + public sealed class ExperimentTemplateExperimentOptions + { + /// + /// The account targeting setting for the experiment template. + /// + public readonly Pulumi.AwsNative.Fis.ExperimentTemplateExperimentOptionsAccountTargeting? AccountTargeting; + /// + /// The target resolution failure mode for the experiment template. + /// + public readonly Pulumi.AwsNative.Fis.ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode? EmptyTargetResolutionMode; + + [OutputConstructor] + private ExperimentTemplateExperimentOptions( + Pulumi.AwsNative.Fis.ExperimentTemplateExperimentOptionsAccountTargeting? accountTargeting, + + Pulumi.AwsNative.Fis.ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode? emptyTargetResolutionMode) + { + AccountTargeting = accountTargeting; + EmptyTargetResolutionMode = emptyTargetResolutionMode; + } + } +} diff --git a/sdk/dotnet/Fis/TargetAccountConfiguration.cs b/sdk/dotnet/Fis/TargetAccountConfiguration.cs new file mode 100644 index 0000000000..3d495a8b2b --- /dev/null +++ b/sdk/dotnet/Fis/TargetAccountConfiguration.cs @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Fis +{ + /// + /// Resource schema for AWS::FIS::TargetAccountConfiguration + /// + [AwsNativeResourceType("aws-native:fis:TargetAccountConfiguration")] + public partial class TargetAccountConfiguration : global::Pulumi.CustomResource + { + [Output("accountId")] + public Output AccountId { get; private set; } = null!; + + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("experimentTemplateId")] + public Output ExperimentTemplateId { get; private set; } = null!; + + [Output("roleArn")] + public Output RoleArn { get; private set; } = null!; + + + /// + /// Create a TargetAccountConfiguration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public TargetAccountConfiguration(string name, TargetAccountConfigurationArgs args, CustomResourceOptions? options = null) + : base("aws-native:fis:TargetAccountConfiguration", name, args ?? new TargetAccountConfigurationArgs(), MakeResourceOptions(options, "")) + { + } + + private TargetAccountConfiguration(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:fis:TargetAccountConfiguration", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "accountId", + "experimentTemplateId", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing TargetAccountConfiguration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// A bag of options that control this resource's behavior + public static TargetAccountConfiguration Get(string name, Input id, CustomResourceOptions? options = null) + { + return new TargetAccountConfiguration(name, id, options); + } + } + + public sealed class TargetAccountConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("accountId", required: true)] + public Input AccountId { get; set; } = null!; + + [Input("description")] + public Input? Description { get; set; } + + [Input("experimentTemplateId", required: true)] + public Input ExperimentTemplateId { get; set; } = null!; + + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + public TargetAccountConfigurationArgs() + { + } + public static new TargetAccountConfigurationArgs Empty => new TargetAccountConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Lambda/EventInvokeConfig.cs b/sdk/dotnet/Lambda/EventInvokeConfig.cs index edc4bc2bcc..7acaf77e7d 100644 --- a/sdk/dotnet/Lambda/EventInvokeConfig.cs +++ b/sdk/dotnet/Lambda/EventInvokeConfig.cs @@ -10,7 +10,7 @@ namespace Pulumi.AwsNative.Lambda { /// - /// Resource Type definition for AWS::Lambda::EventInvokeConfig + /// The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. /// [AwsNativeResourceType("aws-native:lambda:EventInvokeConfig")] public partial class EventInvokeConfig : global::Pulumi.CustomResource @@ -18,15 +18,27 @@ public partial class EventInvokeConfig : global::Pulumi.CustomResource [Output("destinationConfig")] public Output DestinationConfig { get; private set; } = null!; + /// + /// The name of the Lambda function. + /// [Output("functionName")] public Output FunctionName { get; private set; } = null!; + /// + /// The maximum age of a request that Lambda sends to a function for processing. + /// [Output("maximumEventAgeInSeconds")] public Output MaximumEventAgeInSeconds { get; private set; } = null!; + /// + /// The maximum number of times to retry when the function returns an error. + /// [Output("maximumRetryAttempts")] public Output MaximumRetryAttempts { get; private set; } = null!; + /// + /// The identifier of a version or alias. + /// [Output("qualifier")] public Output Qualifier { get; private set; } = null!; @@ -83,15 +95,27 @@ public sealed class EventInvokeConfigArgs : global::Pulumi.ResourceArgs [Input("destinationConfig")] public Input? DestinationConfig { get; set; } + /// + /// The name of the Lambda function. + /// [Input("functionName", required: true)] public Input FunctionName { get; set; } = null!; + /// + /// The maximum age of a request that Lambda sends to a function for processing. + /// [Input("maximumEventAgeInSeconds")] public Input? MaximumEventAgeInSeconds { get; set; } + /// + /// The maximum number of times to retry when the function returns an error. + /// [Input("maximumRetryAttempts")] public Input? MaximumRetryAttempts { get; set; } + /// + /// The identifier of a version or alias. + /// [Input("qualifier", required: true)] public Input Qualifier { get; set; } = null!; diff --git a/sdk/dotnet/Lambda/Function.cs b/sdk/dotnet/Lambda/Function.cs index c07d8ea0fc..836b783b72 100644 --- a/sdk/dotnet/Lambda/Function.cs +++ b/sdk/dotnet/Lambda/Function.cs @@ -114,12 +114,6 @@ public partial class Function : global::Pulumi.CustomResource [Output("packageType")] public Output PackageType { get; private set; } = null!; - /// - /// The resource policy of your function - /// - [Output("policy")] - public Output Policy { get; private set; } = null!; - /// /// The number of simultaneous executions to reserve for the function. /// @@ -339,12 +333,6 @@ public InputList Layers [Input("packageType")] public Input? PackageType { get; set; } - /// - /// The resource policy of your function - /// - [Input("policy")] - public Input? Policy { get; set; } - /// /// The number of simultaneous executions to reserve for the function. /// diff --git a/sdk/dotnet/Lambda/GetEventInvokeConfig.cs b/sdk/dotnet/Lambda/GetEventInvokeConfig.cs index ae6d6b9aba..6cbe7f83a4 100644 --- a/sdk/dotnet/Lambda/GetEventInvokeConfig.cs +++ b/sdk/dotnet/Lambda/GetEventInvokeConfig.cs @@ -12,13 +12,13 @@ namespace Pulumi.AwsNative.Lambda public static class GetEventInvokeConfig { /// - /// Resource Type definition for AWS::Lambda::EventInvokeConfig + /// The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. /// public static Task InvokeAsync(GetEventInvokeConfigArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:lambda:getEventInvokeConfig", args ?? new GetEventInvokeConfigArgs(), options.WithDefaults()); /// - /// Resource Type definition for AWS::Lambda::EventInvokeConfig + /// The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. /// public static Output Invoke(GetEventInvokeConfigInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:lambda:getEventInvokeConfig", args ?? new GetEventInvokeConfigInvokeArgs(), options.WithDefaults()); @@ -27,8 +27,17 @@ public static Output Invoke(GetEventInvokeConfigInvo public sealed class GetEventInvokeConfigArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public string Id { get; set; } = null!; + /// + /// The name of the Lambda function. + /// + [Input("functionName", required: true)] + public string FunctionName { get; set; } = null!; + + /// + /// The identifier of a version or alias. + /// + [Input("qualifier", required: true)] + public string Qualifier { get; set; } = null!; public GetEventInvokeConfigArgs() { @@ -38,8 +47,17 @@ public GetEventInvokeConfigArgs() public sealed class GetEventInvokeConfigInvokeArgs : global::Pulumi.InvokeArgs { - [Input("id", required: true)] - public Input Id { get; set; } = null!; + /// + /// The name of the Lambda function. + /// + [Input("functionName", required: true)] + public Input FunctionName { get; set; } = null!; + + /// + /// The identifier of a version or alias. + /// + [Input("qualifier", required: true)] + public Input Qualifier { get; set; } = null!; public GetEventInvokeConfigInvokeArgs() { @@ -52,22 +70,24 @@ public GetEventInvokeConfigInvokeArgs() public sealed class GetEventInvokeConfigResult { public readonly Outputs.EventInvokeConfigDestinationConfig? DestinationConfig; - public readonly string? Id; + /// + /// The maximum age of a request that Lambda sends to a function for processing. + /// public readonly int? MaximumEventAgeInSeconds; + /// + /// The maximum number of times to retry when the function returns an error. + /// public readonly int? MaximumRetryAttempts; [OutputConstructor] private GetEventInvokeConfigResult( Outputs.EventInvokeConfigDestinationConfig? destinationConfig, - string? id, - int? maximumEventAgeInSeconds, int? maximumRetryAttempts) { DestinationConfig = destinationConfig; - Id = id; MaximumEventAgeInSeconds = maximumEventAgeInSeconds; MaximumRetryAttempts = maximumRetryAttempts; } diff --git a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigDestinationConfigArgs.cs b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigDestinationConfigArgs.cs index d2e88e4e59..a178b89e03 100644 --- a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigDestinationConfigArgs.cs +++ b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigDestinationConfigArgs.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Lambda.Inputs { + /// + /// A destination for events after they have been sent to a function for processing. + /// public sealed class EventInvokeConfigDestinationConfigArgs : global::Pulumi.ResourceArgs { [Input("onFailure")] diff --git a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnFailureArgs.cs b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnFailureArgs.cs index 8c093770b0..c56abb7953 100644 --- a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnFailureArgs.cs +++ b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnFailureArgs.cs @@ -10,8 +10,14 @@ namespace Pulumi.AwsNative.Lambda.Inputs { + /// + /// The destination configuration for failed invocations. + /// public sealed class EventInvokeConfigOnFailureArgs : global::Pulumi.ResourceArgs { + /// + /// The Amazon Resource Name (ARN) of the destination resource. + /// [Input("destination", required: true)] public Input Destination { get; set; } = null!; diff --git a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnSuccessArgs.cs b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnSuccessArgs.cs index 3baa978ba0..f0a1cc2a9b 100644 --- a/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnSuccessArgs.cs +++ b/sdk/dotnet/Lambda/Inputs/EventInvokeConfigOnSuccessArgs.cs @@ -10,8 +10,14 @@ namespace Pulumi.AwsNative.Lambda.Inputs { + /// + /// The destination configuration for successful invocations. + /// public sealed class EventInvokeConfigOnSuccessArgs : global::Pulumi.ResourceArgs { + /// + /// The Amazon Resource Name (ARN) of the destination resource. + /// [Input("destination", required: true)] public Input Destination { get; set; } = null!; diff --git a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigDestinationConfig.cs b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigDestinationConfig.cs index 52dd109fd8..b16ee24be6 100644 --- a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigDestinationConfig.cs +++ b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigDestinationConfig.cs @@ -10,6 +10,9 @@ namespace Pulumi.AwsNative.Lambda.Outputs { + /// + /// A destination for events after they have been sent to a function for processing. + /// [OutputType] public sealed class EventInvokeConfigDestinationConfig { diff --git a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnFailure.cs b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnFailure.cs index b14d2051d4..0152e0bdff 100644 --- a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnFailure.cs +++ b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnFailure.cs @@ -10,9 +10,15 @@ namespace Pulumi.AwsNative.Lambda.Outputs { + /// + /// The destination configuration for failed invocations. + /// [OutputType] public sealed class EventInvokeConfigOnFailure { + /// + /// The Amazon Resource Name (ARN) of the destination resource. + /// public readonly string Destination; [OutputConstructor] diff --git a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnSuccess.cs b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnSuccess.cs index 077e854373..c0b6da888a 100644 --- a/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnSuccess.cs +++ b/sdk/dotnet/Lambda/Outputs/EventInvokeConfigOnSuccess.cs @@ -10,9 +10,15 @@ namespace Pulumi.AwsNative.Lambda.Outputs { + /// + /// The destination configuration for successful invocations. + /// [OutputType] public sealed class EventInvokeConfigOnSuccess { + /// + /// The Amazon Resource Name (ARN) of the destination resource. + /// public readonly string Destination; [OutputConstructor] diff --git a/sdk/dotnet/Logs/Delivery.cs b/sdk/dotnet/Logs/Delivery.cs index f6ae5edd65..698c9c6ee3 100644 --- a/sdk/dotnet/Logs/Delivery.cs +++ b/sdk/dotnet/Logs/Delivery.cs @@ -10,43 +10,47 @@ namespace Pulumi.AwsNative.Logs { /// - /// Resource Type definition for AWS::Logs::Delivery. + /// This structure contains information about one delivery in your account. + /// + /// A delivery is a connection between a logical delivery source and a logical delivery destination. + /// + /// For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). /// [AwsNativeResourceType("aws-native:logs:Delivery")] public partial class Delivery : global::Pulumi.CustomResource { /// - /// The value of the Arn property for this object. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery. /// [Output("arn")] public Output Arn { get; private set; } = null!; /// - /// The value of the DeliveryDestinationArn property for this object. + /// The ARN of the delivery destination that is associated with this delivery. /// [Output("deliveryDestinationArn")] public Output DeliveryDestinationArn { get; private set; } = null!; /// - /// The value of the DeliveryDestinationType property for this object. + /// Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. /// [Output("deliveryDestinationType")] public Output DeliveryDestinationType { get; private set; } = null!; /// - /// The value of the Id property for this object. + /// The unique ID that identifies this delivery in your account. /// [Output("deliveryId")] public Output DeliveryId { get; private set; } = null!; /// - /// The value of the DeliverySourceName property for this object. + /// The name of the delivery source that is associated with this delivery. /// [Output("deliverySourceName")] public Output DeliverySourceName { get; private set; } = null!; /// - /// The value of the Tags property for this object. + /// The tags that have been assigned to this delivery. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -102,13 +106,13 @@ public static Delivery Get(string name, Input id, CustomResourceOptions? public sealed class DeliveryArgs : global::Pulumi.ResourceArgs { /// - /// The value of the DeliveryDestinationArn property for this object. + /// The ARN of the delivery destination that is associated with this delivery. /// [Input("deliveryDestinationArn", required: true)] public Input DeliveryDestinationArn { get; set; } = null!; /// - /// The value of the DeliverySourceName property for this object. + /// The name of the delivery source that is associated with this delivery. /// [Input("deliverySourceName", required: true)] public Input DeliverySourceName { get; set; } = null!; @@ -117,7 +121,7 @@ public sealed class DeliveryArgs : global::Pulumi.ResourceArgs private InputList? _tags; /// - /// The value of the Tags property for this object. + /// The tags that have been assigned to this delivery. /// public InputList Tags { diff --git a/sdk/dotnet/Logs/DeliveryDestination.cs b/sdk/dotnet/Logs/DeliveryDestination.cs index 42a807cd59..fdb59a6346 100644 --- a/sdk/dotnet/Logs/DeliveryDestination.cs +++ b/sdk/dotnet/Logs/DeliveryDestination.cs @@ -10,13 +10,15 @@ namespace Pulumi.AwsNative.Logs { /// - /// Resource Type definition for AWS::Logs::DeliveryDestination + /// This structure contains information about one delivery destination in your account. + /// + /// A 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. /// [AwsNativeResourceType("aws-native:logs:DeliveryDestination")] public partial class DeliveryDestination : global::Pulumi.CustomResource { /// - /// The value of the Arn property for this object. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. /// [Output("arn")] public Output Arn { get; private set; } = null!; @@ -32,25 +34,25 @@ public partial class DeliveryDestination : global::Pulumi.CustomResource public Output DeliveryDestinationPolicy { get; private set; } = null!; /// - /// The value of the DeliveryDestinationType property for this object. + /// Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. /// [Output("deliveryDestinationType")] public Output DeliveryDestinationType { get; private set; } = null!; /// - /// The ARN of the Destination Resource. + /// The ARN of the AWS resource that will receive the logs. /// [Output("destinationResourceArn")] public Output DestinationResourceArn { get; private set; } = null!; /// - /// The unique name of the Delivery Destination. + /// The name of this delivery destination. /// [Output("name")] public Output Name { get; private set; } = null!; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery destination. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -116,13 +118,13 @@ public sealed class DeliveryDestinationArgs : global::Pulumi.ResourceArgs public Input? DeliveryDestinationPolicy { get; set; } /// - /// The ARN of the Destination Resource. + /// The ARN of the AWS resource that will receive the logs. /// [Input("destinationResourceArn")] public Input? DestinationResourceArn { get; set; } /// - /// The unique name of the Delivery Destination. + /// The name of this delivery destination. /// [Input("name")] public Input? Name { get; set; } @@ -131,7 +133,7 @@ public sealed class DeliveryDestinationArgs : global::Pulumi.ResourceArgs private InputList? _tags; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery destination. /// public InputList Tags { diff --git a/sdk/dotnet/Logs/DeliverySource.cs b/sdk/dotnet/Logs/DeliverySource.cs index b91b56a95c..a46d02dbac 100644 --- a/sdk/dotnet/Logs/DeliverySource.cs +++ b/sdk/dotnet/Logs/DeliverySource.cs @@ -10,13 +10,15 @@ namespace Pulumi.AwsNative.Logs { /// - /// Resource Type definition for AWS::Logs::DeliverySource. + /// 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. + /// + /// Only 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). /// [AwsNativeResourceType("aws-native:logs:DeliverySource")] public partial class DeliverySource : global::Pulumi.CustomResource { /// - /// The ARN of the Aqueduct Source. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery source. /// [Output("arn")] public Output Arn { get; private set; } = null!; @@ -40,19 +42,19 @@ public partial class DeliverySource : global::Pulumi.CustomResource public Output ResourceArn { get; private set; } = null!; /// - /// List of ARN of the resource that will be sending the logs + /// 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. /// [Output("resourceArns")] public Output> ResourceArns { get; private set; } = null!; /// - /// The service generating the log + /// The AWS service that is sending logs. /// [Output("service")] public Output Service { get; private set; } = null!; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery source. /// [Output("tags")] public Output> Tags { get; private set; } = null!; @@ -128,7 +130,7 @@ public sealed class DeliverySourceArgs : global::Pulumi.ResourceArgs private InputList? _tags; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery source. /// public InputList Tags { diff --git a/sdk/dotnet/Logs/GetDelivery.cs b/sdk/dotnet/Logs/GetDelivery.cs index 4a980623e2..efd50225e0 100644 --- a/sdk/dotnet/Logs/GetDelivery.cs +++ b/sdk/dotnet/Logs/GetDelivery.cs @@ -12,13 +12,21 @@ namespace Pulumi.AwsNative.Logs public static class GetDelivery { /// - /// Resource Type definition for AWS::Logs::Delivery. + /// This structure contains information about one delivery in your account. + /// + /// A delivery is a connection between a logical delivery source and a logical delivery destination. + /// + /// For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). /// public static Task InvokeAsync(GetDeliveryArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:logs:getDelivery", args ?? new GetDeliveryArgs(), options.WithDefaults()); /// - /// Resource Type definition for AWS::Logs::Delivery. + /// This structure contains information about one delivery in your account. + /// + /// A delivery is a connection between a logical delivery source and a logical delivery destination. + /// + /// For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). /// public static Output Invoke(GetDeliveryInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:logs:getDelivery", args ?? new GetDeliveryInvokeArgs(), options.WithDefaults()); @@ -28,7 +36,7 @@ public static Output Invoke(GetDeliveryInvokeArgs args, Invok public sealed class GetDeliveryArgs : global::Pulumi.InvokeArgs { /// - /// The value of the Id property for this object. + /// The unique ID that identifies this delivery in your account. /// [Input("deliveryId", required: true)] public string DeliveryId { get; set; } = null!; @@ -42,7 +50,7 @@ public GetDeliveryArgs() public sealed class GetDeliveryInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The value of the Id property for this object. + /// The unique ID that identifies this delivery in your account. /// [Input("deliveryId", required: true)] public Input DeliveryId { get; set; } = null!; @@ -58,19 +66,19 @@ public GetDeliveryInvokeArgs() public sealed class GetDeliveryResult { /// - /// The value of the Arn property for this object. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery. /// public readonly string? Arn; /// - /// The value of the DeliveryDestinationType property for this object. + /// Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. /// public readonly string? DeliveryDestinationType; /// - /// The value of the Id property for this object. + /// The unique ID that identifies this delivery in your account. /// public readonly string? DeliveryId; /// - /// The value of the Tags property for this object. + /// The tags that have been assigned to this delivery. /// public readonly ImmutableArray Tags; diff --git a/sdk/dotnet/Logs/GetDeliveryDestination.cs b/sdk/dotnet/Logs/GetDeliveryDestination.cs index b8277d5dea..ed2744734b 100644 --- a/sdk/dotnet/Logs/GetDeliveryDestination.cs +++ b/sdk/dotnet/Logs/GetDeliveryDestination.cs @@ -12,13 +12,17 @@ namespace Pulumi.AwsNative.Logs public static class GetDeliveryDestination { /// - /// Resource Type definition for AWS::Logs::DeliveryDestination + /// This structure contains information about one delivery destination in your account. + /// + /// A 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. /// public static Task InvokeAsync(GetDeliveryDestinationArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:logs:getDeliveryDestination", args ?? new GetDeliveryDestinationArgs(), options.WithDefaults()); /// - /// Resource Type definition for AWS::Logs::DeliveryDestination + /// This structure contains information about one delivery destination in your account. + /// + /// A 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. /// public static Output Invoke(GetDeliveryDestinationInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:logs:getDeliveryDestination", args ?? new GetDeliveryDestinationInvokeArgs(), options.WithDefaults()); @@ -28,7 +32,7 @@ public static Output Invoke(GetDeliveryDestination public sealed class GetDeliveryDestinationArgs : global::Pulumi.InvokeArgs { /// - /// The unique name of the Delivery Destination. + /// The name of this delivery destination. /// [Input("name", required: true)] public string Name { get; set; } = null!; @@ -42,7 +46,7 @@ public GetDeliveryDestinationArgs() public sealed class GetDeliveryDestinationInvokeArgs : global::Pulumi.InvokeArgs { /// - /// The unique name of the Delivery Destination. + /// The name of this delivery destination. /// [Input("name", required: true)] public Input Name { get; set; } = null!; @@ -58,7 +62,7 @@ public GetDeliveryDestinationInvokeArgs() public sealed class GetDeliveryDestinationResult { /// - /// The value of the Arn property for this object. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. /// public readonly string? Arn; /// @@ -70,11 +74,11 @@ public sealed class GetDeliveryDestinationResult /// public readonly object? DeliveryDestinationPolicy; /// - /// The value of the DeliveryDestinationType property for this object. + /// Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. /// public readonly string? DeliveryDestinationType; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery destination. /// public readonly ImmutableArray Tags; diff --git a/sdk/dotnet/Logs/GetDeliverySource.cs b/sdk/dotnet/Logs/GetDeliverySource.cs index 4420c1490d..e394eba68c 100644 --- a/sdk/dotnet/Logs/GetDeliverySource.cs +++ b/sdk/dotnet/Logs/GetDeliverySource.cs @@ -12,13 +12,17 @@ namespace Pulumi.AwsNative.Logs public static class GetDeliverySource { /// - /// Resource Type definition for AWS::Logs::DeliverySource. + /// 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. + /// + /// Only 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). /// public static Task InvokeAsync(GetDeliverySourceArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:logs:getDeliverySource", args ?? new GetDeliverySourceArgs(), options.WithDefaults()); /// - /// Resource Type definition for AWS::Logs::DeliverySource. + /// 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. + /// + /// Only 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). /// public static Output Invoke(GetDeliverySourceInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:logs:getDeliverySource", args ?? new GetDeliverySourceInvokeArgs(), options.WithDefaults()); @@ -58,7 +62,7 @@ public GetDeliverySourceInvokeArgs() public sealed class GetDeliverySourceResult { /// - /// The ARN of the Aqueduct Source. + /// The Amazon Resource Name (ARN) that uniquely identifies this delivery source. /// public readonly string? Arn; /// @@ -66,15 +70,15 @@ public sealed class GetDeliverySourceResult /// public readonly string? LogType; /// - /// List of ARN of the resource that will be sending the logs + /// 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. /// public readonly ImmutableArray ResourceArns; /// - /// The service generating the log + /// The AWS service that is sending logs. /// public readonly string? Service; /// - /// An array of key-value pairs to apply to this resource. + /// The tags that have been assigned to this delivery source. /// public readonly ImmutableArray Tags; diff --git a/sdk/dotnet/OpenSearchService/Domain.cs b/sdk/dotnet/OpenSearchService/Domain.cs index b049ee81a8..ee2a6122fb 100644 --- a/sdk/dotnet/OpenSearchService/Domain.cs +++ b/sdk/dotnet/OpenSearchService/Domain.cs @@ -42,6 +42,9 @@ public partial class Domain : global::Pulumi.CustomResource [Output("domainEndpointOptions")] public Output DomainEndpointOptions { get; private set; } = null!; + [Output("domainEndpointV2")] + public Output DomainEndpointV2 { get; private set; } = null!; + [Output("domainEndpoints")] public Output DomainEndpoints { get; private set; } = null!; @@ -57,6 +60,9 @@ public partial class Domain : global::Pulumi.CustomResource [Output("engineVersion")] public Output EngineVersion { get; private set; } = null!; + [Output("ipAddressType")] + public Output IpAddressType { get; private set; } = null!; + [Output("logPublishingOptions")] public Output LogPublishingOptions { get; private set; } = null!; @@ -163,6 +169,9 @@ public sealed class DomainArgs : global::Pulumi.ResourceArgs [Input("engineVersion")] public Input? EngineVersion { get; set; } + [Input("ipAddressType")] + public Input? IpAddressType { get; set; } + [Input("logPublishingOptions")] public Input? LogPublishingOptions { get; set; } diff --git a/sdk/dotnet/OpenSearchService/GetDomain.cs b/sdk/dotnet/OpenSearchService/GetDomain.cs index 15a7d12d46..1922a2903f 100644 --- a/sdk/dotnet/OpenSearchService/GetDomain.cs +++ b/sdk/dotnet/OpenSearchService/GetDomain.cs @@ -60,11 +60,13 @@ public sealed class GetDomainResult public readonly string? DomainArn; public readonly string? DomainEndpoint; public readonly Outputs.DomainEndpointOptions? DomainEndpointOptions; + public readonly string? DomainEndpointV2; public readonly object? DomainEndpoints; public readonly Outputs.DomainEbsOptions? EbsOptions; public readonly Outputs.DomainEncryptionAtRestOptions? EncryptionAtRestOptions; public readonly string? EngineVersion; public readonly string? Id; + public readonly string? IpAddressType; public readonly object? LogPublishingOptions; public readonly Outputs.DomainNodeToNodeEncryptionOptions? NodeToNodeEncryptionOptions; public readonly Outputs.DomainOffPeakWindowOptions? OffPeakWindowOptions; @@ -97,6 +99,8 @@ private GetDomainResult( Outputs.DomainEndpointOptions? domainEndpointOptions, + string? domainEndpointV2, + object? domainEndpoints, Outputs.DomainEbsOptions? ebsOptions, @@ -107,6 +111,8 @@ private GetDomainResult( string? id, + string? ipAddressType, + object? logPublishingOptions, Outputs.DomainNodeToNodeEncryptionOptions? nodeToNodeEncryptionOptions, @@ -132,11 +138,13 @@ private GetDomainResult( DomainArn = domainArn; DomainEndpoint = domainEndpoint; DomainEndpointOptions = domainEndpointOptions; + DomainEndpointV2 = domainEndpointV2; DomainEndpoints = domainEndpoints; EbsOptions = ebsOptions; EncryptionAtRestOptions = encryptionAtRestOptions; EngineVersion = engineVersion; Id = id; + IpAddressType = ipAddressType; LogPublishingOptions = logPublishingOptions; NodeToNodeEncryptionOptions = nodeToNodeEncryptionOptions; OffPeakWindowOptions = offPeakWindowOptions; diff --git a/sdk/dotnet/Osis/GetPipeline.cs b/sdk/dotnet/Osis/GetPipeline.cs index 7741b255df..3514f5bf0a 100644 --- a/sdk/dotnet/Osis/GetPipeline.cs +++ b/sdk/dotnet/Osis/GetPipeline.cs @@ -57,6 +57,8 @@ public GetPipelineInvokeArgs() [OutputType] public sealed class GetPipelineResult { + public readonly Outputs.PipelineBufferOptions? BufferOptions; + public readonly Outputs.PipelineEncryptionAtRestOptions? EncryptionAtRestOptions; /// /// A list of endpoints that can be used for ingesting data into a pipeline /// @@ -89,6 +91,10 @@ public sealed class GetPipelineResult [OutputConstructor] private GetPipelineResult( + Outputs.PipelineBufferOptions? bufferOptions, + + Outputs.PipelineEncryptionAtRestOptions? encryptionAtRestOptions, + ImmutableArray ingestEndpointUrls, Outputs.PipelineLogPublishingOptions? logPublishingOptions, @@ -105,6 +111,8 @@ private GetPipelineResult( ImmutableArray vpcEndpoints) { + BufferOptions = bufferOptions; + EncryptionAtRestOptions = encryptionAtRestOptions; IngestEndpointUrls = ingestEndpointUrls; LogPublishingOptions = logPublishingOptions; MaxUnits = maxUnits; diff --git a/sdk/dotnet/Osis/Inputs/PipelineBufferOptionsArgs.cs b/sdk/dotnet/Osis/Inputs/PipelineBufferOptionsArgs.cs new file mode 100644 index 0000000000..1d79cdece8 --- /dev/null +++ b/sdk/dotnet/Osis/Inputs/PipelineBufferOptionsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Osis.Inputs +{ + + /// + /// Key-value pairs to configure buffering. + /// + public sealed class PipelineBufferOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether persistent buffering should be enabled. + /// + [Input("persistentBufferEnabled", required: true)] + public Input PersistentBufferEnabled { get; set; } = null!; + + public PipelineBufferOptionsArgs() + { + } + public static new PipelineBufferOptionsArgs Empty => new PipelineBufferOptionsArgs(); + } +} diff --git a/sdk/dotnet/Osis/Inputs/PipelineEncryptionAtRestOptionsArgs.cs b/sdk/dotnet/Osis/Inputs/PipelineEncryptionAtRestOptionsArgs.cs new file mode 100644 index 0000000000..04135b3878 --- /dev/null +++ b/sdk/dotnet/Osis/Inputs/PipelineEncryptionAtRestOptionsArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Osis.Inputs +{ + + /// + /// Key-value pairs to configure encryption at rest. + /// + public sealed class PipelineEncryptionAtRestOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// The KMS key to use for encrypting data. By default an AWS owned key is used + /// + [Input("kmsKeyArn", required: true)] + public Input KmsKeyArn { get; set; } = null!; + + public PipelineEncryptionAtRestOptionsArgs() + { + } + public static new PipelineEncryptionAtRestOptionsArgs Empty => new PipelineEncryptionAtRestOptionsArgs(); + } +} diff --git a/sdk/dotnet/Osis/Inputs/PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs.cs b/sdk/dotnet/Osis/Inputs/PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs.cs index ddb2b40479..2a66b327e4 100644 --- a/sdk/dotnet/Osis/Inputs/PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs.cs +++ b/sdk/dotnet/Osis/Inputs/PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs.cs @@ -15,8 +15,8 @@ namespace Pulumi.AwsNative.Osis.Inputs /// public sealed class PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs : global::Pulumi.ResourceArgs { - [Input("logGroup")] - public Input? LogGroup { get; set; } + [Input("logGroup", required: true)] + public Input LogGroup { get; set; } = null!; public PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs() { diff --git a/sdk/dotnet/Osis/Inputs/PipelineVpcOptionsArgs.cs b/sdk/dotnet/Osis/Inputs/PipelineVpcOptionsArgs.cs index 3ac36c8aa7..19a74c0e85 100644 --- a/sdk/dotnet/Osis/Inputs/PipelineVpcOptionsArgs.cs +++ b/sdk/dotnet/Osis/Inputs/PipelineVpcOptionsArgs.cs @@ -27,7 +27,7 @@ public InputList SecurityGroupIds set => _securityGroupIds = value; } - [Input("subnetIds")] + [Input("subnetIds", required: true)] private InputList? _subnetIds; /// diff --git a/sdk/dotnet/Osis/Outputs/PipelineBufferOptions.cs b/sdk/dotnet/Osis/Outputs/PipelineBufferOptions.cs new file mode 100644 index 0000000000..cac2b10cc6 --- /dev/null +++ b/sdk/dotnet/Osis/Outputs/PipelineBufferOptions.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Osis.Outputs +{ + + /// + /// Key-value pairs to configure buffering. + /// + [OutputType] + public sealed class PipelineBufferOptions + { + /// + /// Whether persistent buffering should be enabled. + /// + public readonly bool PersistentBufferEnabled; + + [OutputConstructor] + private PipelineBufferOptions(bool persistentBufferEnabled) + { + PersistentBufferEnabled = persistentBufferEnabled; + } + } +} diff --git a/sdk/dotnet/Osis/Outputs/PipelineEncryptionAtRestOptions.cs b/sdk/dotnet/Osis/Outputs/PipelineEncryptionAtRestOptions.cs new file mode 100644 index 0000000000..5000502817 --- /dev/null +++ b/sdk/dotnet/Osis/Outputs/PipelineEncryptionAtRestOptions.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.Osis.Outputs +{ + + /// + /// Key-value pairs to configure encryption at rest. + /// + [OutputType] + public sealed class PipelineEncryptionAtRestOptions + { + /// + /// The KMS key to use for encrypting data. By default an AWS owned key is used + /// + public readonly string KmsKeyArn; + + [OutputConstructor] + private PipelineEncryptionAtRestOptions(string kmsKeyArn) + { + KmsKeyArn = kmsKeyArn; + } + } +} diff --git a/sdk/dotnet/Osis/Outputs/PipelineLogPublishingOptionsCloudWatchLogDestinationProperties.cs b/sdk/dotnet/Osis/Outputs/PipelineLogPublishingOptionsCloudWatchLogDestinationProperties.cs index f4afe0297f..9afbefb227 100644 --- a/sdk/dotnet/Osis/Outputs/PipelineLogPublishingOptionsCloudWatchLogDestinationProperties.cs +++ b/sdk/dotnet/Osis/Outputs/PipelineLogPublishingOptionsCloudWatchLogDestinationProperties.cs @@ -16,10 +16,10 @@ namespace Pulumi.AwsNative.Osis.Outputs [OutputType] public sealed class PipelineLogPublishingOptionsCloudWatchLogDestinationProperties { - public readonly string? LogGroup; + public readonly string LogGroup; [OutputConstructor] - private PipelineLogPublishingOptionsCloudWatchLogDestinationProperties(string? logGroup) + private PipelineLogPublishingOptionsCloudWatchLogDestinationProperties(string logGroup) { LogGroup = logGroup; } diff --git a/sdk/dotnet/Osis/Pipeline.cs b/sdk/dotnet/Osis/Pipeline.cs index 0934e4da30..dc70aacf4a 100644 --- a/sdk/dotnet/Osis/Pipeline.cs +++ b/sdk/dotnet/Osis/Pipeline.cs @@ -15,6 +15,12 @@ namespace Pulumi.AwsNative.Osis [AwsNativeResourceType("aws-native:osis:Pipeline")] public partial class Pipeline : global::Pulumi.CustomResource { + [Output("bufferOptions")] + public Output BufferOptions { get; private set; } = null!; + + [Output("encryptionAtRestOptions")] + public Output EncryptionAtRestOptions { get; private set; } = null!; + /// /// A list of endpoints that can be used for ingesting data into a pipeline /// @@ -118,6 +124,12 @@ public static Pipeline Get(string name, Input id, CustomResourceOptions? public sealed class PipelineArgs : global::Pulumi.ResourceArgs { + [Input("bufferOptions")] + public Input? BufferOptions { get; set; } + + [Input("encryptionAtRestOptions")] + public Input? EncryptionAtRestOptions { get; set; } + [Input("logPublishingOptions")] public Input? LogPublishingOptions { get; set; } diff --git a/sdk/dotnet/Route53Resolver/GetResolverConfig.cs b/sdk/dotnet/Route53Resolver/GetResolverConfig.cs index a89b206e1f..14d5449dd7 100644 --- a/sdk/dotnet/Route53Resolver/GetResolverConfig.cs +++ b/sdk/dotnet/Route53Resolver/GetResolverConfig.cs @@ -28,10 +28,10 @@ public static Output Invoke(GetResolverConfigInvokeArgs public sealed class GetResolverConfigArgs : global::Pulumi.InvokeArgs { /// - /// Id + /// ResourceId /// - [Input("id", required: true)] - public string Id { get; set; } = null!; + [Input("resourceId", required: true)] + public string ResourceId { get; set; } = null!; public GetResolverConfigArgs() { @@ -42,10 +42,10 @@ public GetResolverConfigArgs() public sealed class GetResolverConfigInvokeArgs : global::Pulumi.InvokeArgs { /// - /// Id + /// ResourceId /// - [Input("id", required: true)] - public Input Id { get; set; } = null!; + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; public GetResolverConfigInvokeArgs() { diff --git a/sdk/dotnet/S3/Inputs/BucketLoggingConfigurationArgs.cs b/sdk/dotnet/S3/Inputs/BucketLoggingConfigurationArgs.cs index f9b01ac8b1..8a98e42ec5 100644 --- a/sdk/dotnet/S3/Inputs/BucketLoggingConfigurationArgs.cs +++ b/sdk/dotnet/S3/Inputs/BucketLoggingConfigurationArgs.cs @@ -21,6 +21,9 @@ public sealed class BucketLoggingConfigurationArgs : global::Pulumi.ResourceArgs [Input("logFilePrefix")] public Input? LogFilePrefix { get; set; } + [Input("targetObjectKeyFormat")] + public Input? TargetObjectKeyFormat { get; set; } + public BucketLoggingConfigurationArgs() { } diff --git a/sdk/dotnet/S3/Inputs/BucketTargetObjectKeyFormatArgs.cs b/sdk/dotnet/S3/Inputs/BucketTargetObjectKeyFormatArgs.cs new file mode 100644 index 0000000000..ba9f73a2a9 --- /dev/null +++ b/sdk/dotnet/S3/Inputs/BucketTargetObjectKeyFormatArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.S3.Inputs +{ + + /// + /// Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + /// + public sealed class BucketTargetObjectKeyFormatArgs : global::Pulumi.ResourceArgs + { + public BucketTargetObjectKeyFormatArgs() + { + } + public static new BucketTargetObjectKeyFormatArgs Empty => new BucketTargetObjectKeyFormatArgs(); + } +} diff --git a/sdk/dotnet/S3/Outputs/BucketLoggingConfiguration.cs b/sdk/dotnet/S3/Outputs/BucketLoggingConfiguration.cs index 1378ba68ab..eba60c5b8a 100644 --- a/sdk/dotnet/S3/Outputs/BucketLoggingConfiguration.cs +++ b/sdk/dotnet/S3/Outputs/BucketLoggingConfiguration.cs @@ -18,15 +18,19 @@ public sealed class BucketLoggingConfiguration /// public readonly string? DestinationBucketName; public readonly string? LogFilePrefix; + public readonly Outputs.BucketTargetObjectKeyFormat? TargetObjectKeyFormat; [OutputConstructor] private BucketLoggingConfiguration( string? destinationBucketName, - string? logFilePrefix) + string? logFilePrefix, + + Outputs.BucketTargetObjectKeyFormat? targetObjectKeyFormat) { DestinationBucketName = destinationBucketName; LogFilePrefix = logFilePrefix; + TargetObjectKeyFormat = targetObjectKeyFormat; } } } diff --git a/sdk/dotnet/S3/Outputs/BucketTargetObjectKeyFormat.cs b/sdk/dotnet/S3/Outputs/BucketTargetObjectKeyFormat.cs new file mode 100644 index 0000000000..3b8fea9aba --- /dev/null +++ b/sdk/dotnet/S3/Outputs/BucketTargetObjectKeyFormat.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.S3.Outputs +{ + + /// + /// Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + /// + [OutputType] + public sealed class BucketTargetObjectKeyFormat + { + [OutputConstructor] + private BucketTargetObjectKeyFormat() + { + } + } +} diff --git a/sdk/dotnet/S3Express/DirectoryBucket.cs b/sdk/dotnet/S3Express/DirectoryBucket.cs index 97d2c08811..66eeb1b00b 100644 --- a/sdk/dotnet/S3Express/DirectoryBucket.cs +++ b/sdk/dotnet/S3Express/DirectoryBucket.cs @@ -22,13 +22,13 @@ public partial class DirectoryBucket : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// 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. + /// 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. /// [Output("bucketName")] public Output BucketName { get; private set; } = null!; /// - /// Specifies the number of Avilability Zone that's used for redundancy for the bucket. + /// Specifies the number of Availability Zone that's used for redundancy for the bucket. /// [Output("dataRedundancy")] public Output DataRedundancy { get; private set; } = null!; @@ -91,13 +91,13 @@ public static DirectoryBucket Get(string name, Input id, CustomResourceO public sealed class DirectoryBucketArgs : global::Pulumi.ResourceArgs { /// - /// 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. + /// 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. /// [Input("bucketName")] public Input? BucketName { get; set; } /// - /// Specifies the number of Avilability Zone that's used for redundancy for the bucket. + /// Specifies the number of Availability Zone that's used for redundancy for the bucket. /// [Input("dataRedundancy", required: true)] public Input DataRedundancy { get; set; } = null!; diff --git a/sdk/dotnet/S3Express/Enums.cs b/sdk/dotnet/S3Express/Enums.cs index 8d32832b59..0f099a0984 100644 --- a/sdk/dotnet/S3Express/Enums.cs +++ b/sdk/dotnet/S3Express/Enums.cs @@ -8,7 +8,7 @@ namespace Pulumi.AwsNative.S3Express { /// - /// Specifies the number of Avilability Zone that's used for redundancy for the bucket. + /// Specifies the number of Availability Zone that's used for redundancy for the bucket. /// [EnumType] public readonly struct DirectoryBucketDataRedundancy : IEquatable diff --git a/sdk/dotnet/S3Express/GetDirectoryBucket.cs b/sdk/dotnet/S3Express/GetDirectoryBucket.cs index bc30b4ab5d..52304ad02c 100644 --- a/sdk/dotnet/S3Express/GetDirectoryBucket.cs +++ b/sdk/dotnet/S3Express/GetDirectoryBucket.cs @@ -28,7 +28,7 @@ public static Output Invoke(GetDirectoryBucketInvokeAr public sealed class GetDirectoryBucketArgs : global::Pulumi.InvokeArgs { /// - /// 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. + /// 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. /// [Input("bucketName", required: true)] public string BucketName { get; set; } = null!; @@ -42,7 +42,7 @@ public GetDirectoryBucketArgs() public sealed class GetDirectoryBucketInvokeArgs : global::Pulumi.InvokeArgs { /// - /// 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. + /// 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. /// [Input("bucketName", required: true)] public Input BucketName { get; set; } = null!; diff --git a/sdk/dotnet/SageMaker/Domain.cs b/sdk/dotnet/SageMaker/Domain.cs index fb994b03ae..ee06b8f1cc 100644 --- a/sdk/dotnet/SageMaker/Domain.cs +++ b/sdk/dotnet/SageMaker/Domain.cs @@ -84,6 +84,12 @@ public partial class Domain : global::Pulumi.CustomResource [Output("securityGroupIdForDomainBoundary")] public Output SecurityGroupIdForDomainBoundary { get; private set; } = null!; + /// + /// The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + /// + [Output("singleSignOnApplicationArn")] + public Output SingleSignOnApplicationArn { get; private set; } = null!; + /// /// The SSO managed application instance ID. /// @@ -139,12 +145,10 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? Version = Utilities.Version, ReplaceOnChanges = { - "appNetworkAccessType", "authMode", "domainName", "domainSettings.rStudioServerProDomainSettings.defaultResourceSpec", "kmsKeyId", - "subnetIds[*]", "tags[*]", "vpcId", }, diff --git a/sdk/dotnet/SageMaker/Enums.cs b/sdk/dotnet/SageMaker/Enums.cs index c8bf4f318f..d88737307d 100644 --- a/sdk/dotnet/SageMaker/Enums.cs +++ b/sdk/dotnet/SageMaker/Enums.cs @@ -80,6 +80,9 @@ private AppResourceSpecInstanceType(string value) public static AppResourceSpecInstanceType MlP4d24xlarge { get; } = new AppResourceSpecInstanceType("ml.p4d.24xlarge"); public static AppResourceSpecInstanceType MlP4de24xlarge { get; } = new AppResourceSpecInstanceType("ml.p4de.24xlarge"); public static AppResourceSpecInstanceType MlGeospatialInteractive { get; } = new AppResourceSpecInstanceType("ml.geospatial.interactive"); + public static AppResourceSpecInstanceType MlTrn12xlarge { get; } = new AppResourceSpecInstanceType("ml.trn1.2xlarge"); + public static AppResourceSpecInstanceType MlTrn132xlarge { get; } = new AppResourceSpecInstanceType("ml.trn1.32xlarge"); + public static AppResourceSpecInstanceType MlTrn1n32xlarge { get; } = new AppResourceSpecInstanceType("ml.trn1n.32xlarge"); public static bool operator ==(AppResourceSpecInstanceType left, AppResourceSpecInstanceType right) => left.Equals(right); public static bool operator !=(AppResourceSpecInstanceType left, AppResourceSpecInstanceType right) => !left.Equals(right); @@ -513,6 +516,9 @@ private DomainResourceSpecInstanceType(string value) public static DomainResourceSpecInstanceType MlP4d24xlarge { get; } = new DomainResourceSpecInstanceType("ml.p4d.24xlarge"); public static DomainResourceSpecInstanceType MlP4de24xlarge { get; } = new DomainResourceSpecInstanceType("ml.p4de.24xlarge"); public static DomainResourceSpecInstanceType MlGeospatialInteractive { get; } = new DomainResourceSpecInstanceType("ml.geospatial.interactive"); + public static DomainResourceSpecInstanceType MlTrn12xlarge { get; } = new DomainResourceSpecInstanceType("ml.trn1.2xlarge"); + public static DomainResourceSpecInstanceType MlTrn132xlarge { get; } = new DomainResourceSpecInstanceType("ml.trn1.32xlarge"); + public static DomainResourceSpecInstanceType MlTrn1n32xlarge { get; } = new DomainResourceSpecInstanceType("ml.trn1n.32xlarge"); public static bool operator ==(DomainResourceSpecInstanceType left, DomainResourceSpecInstanceType right) => left.Equals(right); public static bool operator !=(DomainResourceSpecInstanceType left, DomainResourceSpecInstanceType right) => !left.Equals(right); @@ -560,6 +566,37 @@ private DomainSharingSettingsNotebookOutputOption(string value) public override string ToString() => _value; } + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + [EnumType] + public readonly struct DomainUserSettingsStudioWebPortal : IEquatable + { + private readonly string _value; + + private DomainUserSettingsStudioWebPortal(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DomainUserSettingsStudioWebPortal Enabled { get; } = new DomainUserSettingsStudioWebPortal("ENABLED"); + public static DomainUserSettingsStudioWebPortal Disabled { get; } = new DomainUserSettingsStudioWebPortal("DISABLED"); + + public static bool operator ==(DomainUserSettingsStudioWebPortal left, DomainUserSettingsStudioWebPortal right) => left.Equals(right); + public static bool operator !=(DomainUserSettingsStudioWebPortal left, DomainUserSettingsStudioWebPortal right) => !left.Equals(right); + + public static explicit operator string(DomainUserSettingsStudioWebPortal value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DomainUserSettingsStudioWebPortal other && Equals(other); + public bool Equals(DomainUserSettingsStudioWebPortal other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + [EnumType] public readonly struct FeatureGroupFeatureDefinitionFeatureType : IEquatable { @@ -589,6 +626,34 @@ private FeatureGroupFeatureDefinitionFeatureType(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct FeatureGroupStorageType : IEquatable + { + private readonly string _value; + + private FeatureGroupStorageType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static FeatureGroupStorageType Standard { get; } = new FeatureGroupStorageType("Standard"); + public static FeatureGroupStorageType InMemory { get; } = new FeatureGroupStorageType("InMemory"); + + public static bool operator ==(FeatureGroupStorageType left, FeatureGroupStorageType right) => left.Equals(right); + public static bool operator !=(FeatureGroupStorageType left, FeatureGroupStorageType right) => !left.Equals(right); + + public static explicit operator string(FeatureGroupStorageType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is FeatureGroupStorageType other && Equals(other); + public bool Equals(FeatureGroupStorageType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores. /// @@ -2556,6 +2621,9 @@ private UserProfileResourceSpecInstanceType(string value) public static UserProfileResourceSpecInstanceType MlP4d24xlarge { get; } = new UserProfileResourceSpecInstanceType("ml.p4d.24xlarge"); public static UserProfileResourceSpecInstanceType MlP4de24xlarge { get; } = new UserProfileResourceSpecInstanceType("ml.p4de.24xlarge"); public static UserProfileResourceSpecInstanceType MlGeospatialInteractive { get; } = new UserProfileResourceSpecInstanceType("ml.geospatial.interactive"); + public static UserProfileResourceSpecInstanceType MlTrn12xlarge { get; } = new UserProfileResourceSpecInstanceType("ml.trn1.2xlarge"); + public static UserProfileResourceSpecInstanceType MlTrn132xlarge { get; } = new UserProfileResourceSpecInstanceType("ml.trn1.32xlarge"); + public static UserProfileResourceSpecInstanceType MlTrn1n32xlarge { get; } = new UserProfileResourceSpecInstanceType("ml.trn1n.32xlarge"); public static bool operator ==(UserProfileResourceSpecInstanceType left, UserProfileResourceSpecInstanceType right) => left.Equals(right); public static bool operator !=(UserProfileResourceSpecInstanceType left, UserProfileResourceSpecInstanceType right) => !left.Equals(right); @@ -2602,4 +2670,35 @@ private UserProfileSharingSettingsNotebookOutputOption(string value) public override string ToString() => _value; } + + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + [EnumType] + public readonly struct UserProfileUserSettingsStudioWebPortal : IEquatable + { + private readonly string _value; + + private UserProfileUserSettingsStudioWebPortal(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static UserProfileUserSettingsStudioWebPortal Enabled { get; } = new UserProfileUserSettingsStudioWebPortal("ENABLED"); + public static UserProfileUserSettingsStudioWebPortal Disabled { get; } = new UserProfileUserSettingsStudioWebPortal("DISABLED"); + + public static bool operator ==(UserProfileUserSettingsStudioWebPortal left, UserProfileUserSettingsStudioWebPortal right) => left.Equals(right); + public static bool operator !=(UserProfileUserSettingsStudioWebPortal left, UserProfileUserSettingsStudioWebPortal right) => !left.Equals(right); + + public static explicit operator string(UserProfileUserSettingsStudioWebPortal value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is UserProfileUserSettingsStudioWebPortal other && Equals(other); + public bool Equals(UserProfileUserSettingsStudioWebPortal other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } } diff --git a/sdk/dotnet/SageMaker/GetDomain.cs b/sdk/dotnet/SageMaker/GetDomain.cs index 50377b87c5..76b0be4be9 100644 --- a/sdk/dotnet/SageMaker/GetDomain.cs +++ b/sdk/dotnet/SageMaker/GetDomain.cs @@ -57,6 +57,10 @@ public GetDomainInvokeArgs() [OutputType] public sealed class GetDomainResult { + /// + /// Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. + /// + public readonly Pulumi.AwsNative.SageMaker.DomainAppNetworkAccessType? AppNetworkAccessType; /// /// 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. /// @@ -87,16 +91,26 @@ public sealed class GetDomainResult /// public readonly string? SecurityGroupIdForDomainBoundary; /// + /// The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + /// + public readonly string? SingleSignOnApplicationArn; + /// /// The SSO managed application instance ID. /// public readonly string? SingleSignOnManagedApplicationInstanceId; /// + /// The VPC subnets that Studio uses for communication. + /// + public readonly ImmutableArray SubnetIds; + /// /// The URL to the created domain. /// public readonly string? Url; [OutputConstructor] private GetDomainResult( + Pulumi.AwsNative.SageMaker.DomainAppNetworkAccessType? appNetworkAccessType, + Pulumi.AwsNative.SageMaker.DomainAppSecurityGroupManagement? appSecurityGroupManagement, Outputs.DomainDefaultSpaceSettings? defaultSpaceSettings, @@ -113,10 +127,15 @@ private GetDomainResult( string? securityGroupIdForDomainBoundary, + string? singleSignOnApplicationArn, + string? singleSignOnManagedApplicationInstanceId, + ImmutableArray subnetIds, + string? url) { + AppNetworkAccessType = appNetworkAccessType; AppSecurityGroupManagement = appSecurityGroupManagement; DefaultSpaceSettings = defaultSpaceSettings; DefaultUserSettings = defaultUserSettings; @@ -125,7 +144,9 @@ private GetDomainResult( DomainSettings = domainSettings; HomeEfsFileSystemId = homeEfsFileSystemId; SecurityGroupIdForDomainBoundary = securityGroupIdForDomainBoundary; + SingleSignOnApplicationArn = singleSignOnApplicationArn; SingleSignOnManagedApplicationInstanceId = singleSignOnManagedApplicationInstanceId; + SubnetIds = subnetIds; Url = url; } } diff --git a/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs new file mode 100644 index 0000000000..94053d4003 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainCodeEditorAppSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// The CodeEditor app settings. + /// + public sealed class DomainCodeEditorAppSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + /// + [Input("defaultResourceSpec")] + public Input? DefaultResourceSpec { get; set; } + + [Input("lifecycleConfigArns")] + private InputList? _lifecycleConfigArns; + + /// + /// A list of LifecycleConfigArns available for use with CodeEditor apps. + /// + public InputList LifecycleConfigArns + { + get => _lifecycleConfigArns ?? (_lifecycleConfigArns = new InputList()); + set => _lifecycleConfigArns = value; + } + + public DomainCodeEditorAppSettingsArgs() + { + } + public static new DomainCodeEditorAppSettingsArgs Empty => new DomainCodeEditorAppSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainCodeRepositoryArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainCodeRepositoryArgs.cs new file mode 100644 index 0000000000..74411a5b20 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainCodeRepositoryArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainCodeRepositoryArgs : global::Pulumi.ResourceArgs + { + /// + /// A CodeRepository (valid URL) to be used within Jupyter's Git extension. + /// + [Input("repositoryUrl", required: true)] + public Input RepositoryUrl { get; set; } = null!; + + public DomainCodeRepositoryArgs() + { + } + public static new DomainCodeRepositoryArgs Empty => new DomainCodeRepositoryArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainCustomFileSystemConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainCustomFileSystemConfigArgs.cs new file mode 100644 index 0000000000..840f861371 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainCustomFileSystemConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainCustomFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + [Input("efsFileSystemConfig")] + public Input? EfsFileSystemConfig { get; set; } + + public DomainCustomFileSystemConfigArgs() + { + } + public static new DomainCustomFileSystemConfigArgs Empty => new DomainCustomFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainCustomPosixUserConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainCustomPosixUserConfigArgs.cs new file mode 100644 index 0000000000..cfe35a6e04 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainCustomPosixUserConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainCustomPosixUserConfigArgs : global::Pulumi.ResourceArgs + { + [Input("gid", required: true)] + public Input Gid { get; set; } = null!; + + [Input("uid", required: true)] + public Input Uid { get; set; } = null!; + + public DomainCustomPosixUserConfigArgs() + { + } + public static new DomainCustomPosixUserConfigArgs Empty => new DomainCustomPosixUserConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainDefaultEbsStorageSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainDefaultEbsStorageSettingsArgs.cs new file mode 100644 index 0000000000..fafdbb4a6f --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainDefaultEbsStorageSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// 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 + /// + public sealed class DomainDefaultEbsStorageSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Default size of the Amazon EBS volume in Gb + /// + [Input("defaultEbsVolumeSizeInGb", required: true)] + public Input DefaultEbsVolumeSizeInGb { get; set; } = null!; + + /// + /// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + /// + [Input("maximumEbsVolumeSizeInGb", required: true)] + public Input MaximumEbsVolumeSizeInGb { get; set; } = null!; + + public DomainDefaultEbsStorageSettingsArgs() + { + } + public static new DomainDefaultEbsStorageSettingsArgs Empty => new DomainDefaultEbsStorageSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainDefaultSpaceStorageSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainDefaultSpaceStorageSettingsArgs.cs new file mode 100644 index 0000000000..9464fc502b --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainDefaultSpaceStorageSettingsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// Default storage settings for a space. + /// + public sealed class DomainDefaultSpaceStorageSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("defaultEbsStorageSettings")] + public Input? DefaultEbsStorageSettings { get; set; } + + public DomainDefaultSpaceStorageSettingsArgs() + { + } + public static new DomainDefaultSpaceStorageSettingsArgs Empty => new DomainDefaultSpaceStorageSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainEfsFileSystemConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainEfsFileSystemConfigArgs.cs new file mode 100644 index 0000000000..c3f6a383a6 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainEfsFileSystemConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class DomainEfsFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + [Input("fileSystemId", required: true)] + public Input FileSystemId { get; set; } = null!; + + [Input("fileSystemPath")] + public Input? FileSystemPath { get; set; } + + public DomainEfsFileSystemConfigArgs() + { + } + public static new DomainEfsFileSystemConfigArgs Empty => new DomainEfsFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs new file mode 100644 index 0000000000..4fc603f357 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/DomainJupyterLabAppSettingsArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// The JupyterLab app settings. + /// + public sealed class DomainJupyterLabAppSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("codeRepositories")] + private InputList? _codeRepositories; + + /// + /// A list of CodeRepositories available for use with JupyterLab apps. + /// + public InputList CodeRepositories + { + get => _codeRepositories ?? (_codeRepositories = new InputList()); + set => _codeRepositories = value; + } + + [Input("customImages")] + private InputList? _customImages; + + /// + /// A list of custom images for use for JupyterLab apps. + /// + public InputList CustomImages + { + get => _customImages ?? (_customImages = new InputList()); + set => _customImages = value; + } + + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + /// + [Input("defaultResourceSpec")] + public Input? DefaultResourceSpec { get; set; } + + [Input("lifecycleConfigArns")] + private InputList? _lifecycleConfigArns; + + /// + /// A list of LifecycleConfigArns available for use with JupyterLab apps. + /// + public InputList LifecycleConfigArns + { + get => _lifecycleConfigArns ?? (_lifecycleConfigArns = new InputList()); + set => _lifecycleConfigArns = value; + } + + public DomainJupyterLabAppSettingsArgs() + { + } + public static new DomainJupyterLabAppSettingsArgs Empty => new DomainJupyterLabAppSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/DomainUserSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/DomainUserSettingsArgs.cs index a5d101d5e9..dfe1aa76be 100644 --- a/sdk/dotnet/SageMaker/Inputs/DomainUserSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/DomainUserSettingsArgs.cs @@ -15,12 +15,35 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class DomainUserSettingsArgs : global::Pulumi.ResourceArgs { + [Input("codeEditorAppSettings")] + public Input? CodeEditorAppSettings { get; set; } + + [Input("customFileSystemConfigs")] + private InputList? _customFileSystemConfigs; + public InputList CustomFileSystemConfigs + { + get => _customFileSystemConfigs ?? (_customFileSystemConfigs = new InputList()); + set => _customFileSystemConfigs = value; + } + + [Input("customPosixUserConfig")] + public Input? CustomPosixUserConfig { get; set; } + + /// + /// Defines which Amazon SageMaker application users are directed to by default. + /// + [Input("defaultLandingUri")] + public Input? DefaultLandingUri { get; set; } + /// /// The execution role for the user. /// [Input("executionRole", required: true)] public Input ExecutionRole { get; set; } = null!; + [Input("jupyterLabAppSettings")] + public Input? JupyterLabAppSettings { get; set; } + /// /// The Jupyter server's app settings. /// @@ -57,6 +80,15 @@ public InputList SecurityGroups [Input("sharingSettings")] public Input? SharingSettings { get; set; } + [Input("spaceStorageSettings")] + public Input? SpaceStorageSettings { get; set; } + + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + [Input("studioWebPortal")] + public Input? StudioWebPortal { get; set; } + public DomainUserSettingsArgs() { } diff --git a/sdk/dotnet/SageMaker/Inputs/OnlineStoreConfigPropertiesArgs.cs b/sdk/dotnet/SageMaker/Inputs/OnlineStoreConfigPropertiesArgs.cs index 4f7f14a54a..1ef8ba6264 100644 --- a/sdk/dotnet/SageMaker/Inputs/OnlineStoreConfigPropertiesArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/OnlineStoreConfigPropertiesArgs.cs @@ -18,6 +18,9 @@ public sealed class OnlineStoreConfigPropertiesArgs : global::Pulumi.ResourceArg [Input("securityConfig")] public Input? SecurityConfig { get; set; } + [Input("storageType")] + public Input? StorageType { get; set; } + public OnlineStoreConfigPropertiesArgs() { } diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs new file mode 100644 index 0000000000..59b5b2bf96 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeEditorAppSettingsArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// The CodeEditor app settings. + /// + public sealed class UserProfileCodeEditorAppSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + /// + [Input("defaultResourceSpec")] + public Input? DefaultResourceSpec { get; set; } + + [Input("lifecycleConfigArns")] + private InputList? _lifecycleConfigArns; + + /// + /// A list of LifecycleConfigArns available for use with CodeEditor apps. + /// + public InputList LifecycleConfigArns + { + get => _lifecycleConfigArns ?? (_lifecycleConfigArns = new InputList()); + set => _lifecycleConfigArns = value; + } + + public UserProfileCodeEditorAppSettingsArgs() + { + } + public static new UserProfileCodeEditorAppSettingsArgs Empty => new UserProfileCodeEditorAppSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileCodeRepositoryArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeRepositoryArgs.cs new file mode 100644 index 0000000000..b869ecc2d1 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileCodeRepositoryArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileCodeRepositoryArgs : global::Pulumi.ResourceArgs + { + /// + /// A CodeRepository (valid URL) to be used within Jupyter's Git extension. + /// + [Input("repositoryUrl", required: true)] + public Input RepositoryUrl { get; set; } = null!; + + public UserProfileCodeRepositoryArgs() + { + } + public static new UserProfileCodeRepositoryArgs Empty => new UserProfileCodeRepositoryArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileCustomFileSystemConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileCustomFileSystemConfigArgs.cs new file mode 100644 index 0000000000..f98a1710f0 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileCustomFileSystemConfigArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileCustomFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + [Input("efsFileSystemConfig")] + public Input? EfsFileSystemConfig { get; set; } + + public UserProfileCustomFileSystemConfigArgs() + { + } + public static new UserProfileCustomFileSystemConfigArgs Empty => new UserProfileCustomFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileCustomPosixUserConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileCustomPosixUserConfigArgs.cs new file mode 100644 index 0000000000..98ae5da163 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileCustomPosixUserConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileCustomPosixUserConfigArgs : global::Pulumi.ResourceArgs + { + [Input("gid", required: true)] + public Input Gid { get; set; } = null!; + + [Input("uid", required: true)] + public Input Uid { get; set; } = null!; + + public UserProfileCustomPosixUserConfigArgs() + { + } + public static new UserProfileCustomPosixUserConfigArgs Empty => new UserProfileCustomPosixUserConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultEbsStorageSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultEbsStorageSettingsArgs.cs new file mode 100644 index 0000000000..5de12a99eb --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultEbsStorageSettingsArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// Properties related to the Amazon Elastic Block Store volume. + /// + public sealed class UserProfileDefaultEbsStorageSettingsArgs : global::Pulumi.ResourceArgs + { + /// + /// Default size of the Amazon EBS volume in Gb + /// + [Input("defaultEbsVolumeSizeInGb", required: true)] + public Input DefaultEbsVolumeSizeInGb { get; set; } = null!; + + /// + /// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + /// + [Input("maximumEbsVolumeSizeInGb", required: true)] + public Input MaximumEbsVolumeSizeInGb { get; set; } = null!; + + public UserProfileDefaultEbsStorageSettingsArgs() + { + } + public static new UserProfileDefaultEbsStorageSettingsArgs Empty => new UserProfileDefaultEbsStorageSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultSpaceStorageSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultSpaceStorageSettingsArgs.cs new file mode 100644 index 0000000000..182b930177 --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileDefaultSpaceStorageSettingsArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// Default storage settings for a space. + /// + public sealed class UserProfileDefaultSpaceStorageSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("defaultEbsStorageSettings")] + public Input? DefaultEbsStorageSettings { get; set; } + + public UserProfileDefaultSpaceStorageSettingsArgs() + { + } + public static new UserProfileDefaultSpaceStorageSettingsArgs Empty => new UserProfileDefaultSpaceStorageSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileEfsFileSystemConfigArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileEfsFileSystemConfigArgs.cs new file mode 100644 index 0000000000..1b86c0945f --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileEfsFileSystemConfigArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + public sealed class UserProfileEfsFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + [Input("fileSystemId", required: true)] + public Input FileSystemId { get; set; } = null!; + + [Input("fileSystemPath")] + public Input? FileSystemPath { get; set; } + + public UserProfileEfsFileSystemConfigArgs() + { + } + public static new UserProfileEfsFileSystemConfigArgs Empty => new UserProfileEfsFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs new file mode 100644 index 0000000000..641e16443b --- /dev/null +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileJupyterLabAppSettingsArgs.cs @@ -0,0 +1,65 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Inputs +{ + + /// + /// The JupyterLab app settings. + /// + public sealed class UserProfileJupyterLabAppSettingsArgs : global::Pulumi.ResourceArgs + { + [Input("codeRepositories")] + private InputList? _codeRepositories; + + /// + /// A list of CodeRepositories available for use with JupyterLab apps. + /// + public InputList CodeRepositories + { + get => _codeRepositories ?? (_codeRepositories = new InputList()); + set => _codeRepositories = value; + } + + [Input("customImages")] + private InputList? _customImages; + + /// + /// A list of custom images available for use for JupyterLab apps + /// + public InputList CustomImages + { + get => _customImages ?? (_customImages = new InputList()); + set => _customImages = value; + } + + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + /// + [Input("defaultResourceSpec")] + public Input? DefaultResourceSpec { get; set; } + + [Input("lifecycleConfigArns")] + private InputList? _lifecycleConfigArns; + + /// + /// A list of LifecycleConfigArns available for use with JupyterLab apps. + /// + public InputList LifecycleConfigArns + { + get => _lifecycleConfigArns ?? (_lifecycleConfigArns = new InputList()); + set => _lifecycleConfigArns = value; + } + + public UserProfileJupyterLabAppSettingsArgs() + { + } + public static new UserProfileJupyterLabAppSettingsArgs Empty => new UserProfileJupyterLabAppSettingsArgs(); + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/UserProfileUserSettingsArgs.cs b/sdk/dotnet/SageMaker/Inputs/UserProfileUserSettingsArgs.cs index ddaa7d5d0f..3d84d5cc17 100644 --- a/sdk/dotnet/SageMaker/Inputs/UserProfileUserSettingsArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/UserProfileUserSettingsArgs.cs @@ -15,12 +15,35 @@ namespace Pulumi.AwsNative.SageMaker.Inputs /// public sealed class UserProfileUserSettingsArgs : global::Pulumi.ResourceArgs { + [Input("codeEditorAppSettings")] + public Input? CodeEditorAppSettings { get; set; } + + [Input("customFileSystemConfigs")] + private InputList? _customFileSystemConfigs; + public InputList CustomFileSystemConfigs + { + get => _customFileSystemConfigs ?? (_customFileSystemConfigs = new InputList()); + set => _customFileSystemConfigs = value; + } + + [Input("customPosixUserConfig")] + public Input? CustomPosixUserConfig { get; set; } + + /// + /// Defines which Amazon SageMaker application users are directed to by default. + /// + [Input("defaultLandingUri")] + public Input? DefaultLandingUri { get; set; } + /// /// The user profile Amazon Resource Name (ARN). /// [Input("executionRole")] public Input? ExecutionRole { get; set; } + [Input("jupyterLabAppSettings")] + public Input? JupyterLabAppSettings { get; set; } + /// /// The Jupyter server's app settings. /// @@ -54,6 +77,15 @@ public InputList SecurityGroups [Input("sharingSettings")] public Input? SharingSettings { get; set; } + [Input("spaceStorageSettings")] + public Input? SpaceStorageSettings { get; set; } + + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + [Input("studioWebPortal")] + public Input? StudioWebPortal { get; set; } + public UserProfileUserSettingsArgs() { } diff --git a/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs new file mode 100644 index 0000000000..9b9d854127 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainCodeEditorAppSettings.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// The CodeEditor app settings. + /// + [OutputType] + public sealed class DomainCodeEditorAppSettings + { + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + /// + public readonly Outputs.DomainResourceSpec? DefaultResourceSpec; + /// + /// A list of LifecycleConfigArns available for use with CodeEditor apps. + /// + public readonly ImmutableArray LifecycleConfigArns; + + [OutputConstructor] + private DomainCodeEditorAppSettings( + Outputs.DomainResourceSpec? defaultResourceSpec, + + ImmutableArray lifecycleConfigArns) + { + DefaultResourceSpec = defaultResourceSpec; + LifecycleConfigArns = lifecycleConfigArns; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainCodeRepository.cs b/sdk/dotnet/SageMaker/Outputs/DomainCodeRepository.cs new file mode 100644 index 0000000000..bbdefb7116 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainCodeRepository.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainCodeRepository + { + /// + /// A CodeRepository (valid URL) to be used within Jupyter's Git extension. + /// + public readonly string RepositoryUrl; + + [OutputConstructor] + private DomainCodeRepository(string repositoryUrl) + { + RepositoryUrl = repositoryUrl; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainCustomFileSystemConfig.cs b/sdk/dotnet/SageMaker/Outputs/DomainCustomFileSystemConfig.cs new file mode 100644 index 0000000000..cca23715b2 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainCustomFileSystemConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainCustomFileSystemConfig + { + public readonly Outputs.DomainEfsFileSystemConfig? EfsFileSystemConfig; + + [OutputConstructor] + private DomainCustomFileSystemConfig(Outputs.DomainEfsFileSystemConfig? efsFileSystemConfig) + { + EfsFileSystemConfig = efsFileSystemConfig; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainCustomPosixUserConfig.cs b/sdk/dotnet/SageMaker/Outputs/DomainCustomPosixUserConfig.cs new file mode 100644 index 0000000000..d8f42e6e6f --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainCustomPosixUserConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainCustomPosixUserConfig + { + public readonly int Gid; + public readonly int Uid; + + [OutputConstructor] + private DomainCustomPosixUserConfig( + int gid, + + int uid) + { + Gid = gid; + Uid = uid; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainDefaultEbsStorageSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainDefaultEbsStorageSettings.cs new file mode 100644 index 0000000000..75d2ffd927 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainDefaultEbsStorageSettings.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// 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 + /// + [OutputType] + public sealed class DomainDefaultEbsStorageSettings + { + /// + /// Default size of the Amazon EBS volume in Gb + /// + public readonly int DefaultEbsVolumeSizeInGb; + /// + /// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + /// + public readonly int MaximumEbsVolumeSizeInGb; + + [OutputConstructor] + private DomainDefaultEbsStorageSettings( + int defaultEbsVolumeSizeInGb, + + int maximumEbsVolumeSizeInGb) + { + DefaultEbsVolumeSizeInGb = defaultEbsVolumeSizeInGb; + MaximumEbsVolumeSizeInGb = maximumEbsVolumeSizeInGb; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainDefaultSpaceStorageSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainDefaultSpaceStorageSettings.cs new file mode 100644 index 0000000000..3f55330647 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainDefaultSpaceStorageSettings.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// Default storage settings for a space. + /// + [OutputType] + public sealed class DomainDefaultSpaceStorageSettings + { + public readonly Outputs.DomainDefaultEbsStorageSettings? DefaultEbsStorageSettings; + + [OutputConstructor] + private DomainDefaultSpaceStorageSettings(Outputs.DomainDefaultEbsStorageSettings? defaultEbsStorageSettings) + { + DefaultEbsStorageSettings = defaultEbsStorageSettings; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainEfsFileSystemConfig.cs b/sdk/dotnet/SageMaker/Outputs/DomainEfsFileSystemConfig.cs new file mode 100644 index 0000000000..fd9449ccbc --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainEfsFileSystemConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class DomainEfsFileSystemConfig + { + public readonly string FileSystemId; + public readonly string? FileSystemPath; + + [OutputConstructor] + private DomainEfsFileSystemConfig( + string fileSystemId, + + string? fileSystemPath) + { + FileSystemId = fileSystemId; + FileSystemPath = fileSystemPath; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs new file mode 100644 index 0000000000..53ef16f982 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/DomainJupyterLabAppSettings.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// The JupyterLab app settings. + /// + [OutputType] + public sealed class DomainJupyterLabAppSettings + { + /// + /// A list of CodeRepositories available for use with JupyterLab apps. + /// + public readonly ImmutableArray CodeRepositories; + /// + /// A list of custom images for use for JupyterLab apps. + /// + public readonly ImmutableArray CustomImages; + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + /// + public readonly Outputs.DomainResourceSpec? DefaultResourceSpec; + /// + /// A list of LifecycleConfigArns available for use with JupyterLab apps. + /// + public readonly ImmutableArray LifecycleConfigArns; + + [OutputConstructor] + private DomainJupyterLabAppSettings( + ImmutableArray codeRepositories, + + ImmutableArray customImages, + + Outputs.DomainResourceSpec? defaultResourceSpec, + + ImmutableArray lifecycleConfigArns) + { + CodeRepositories = codeRepositories; + CustomImages = customImages; + DefaultResourceSpec = defaultResourceSpec; + LifecycleConfigArns = lifecycleConfigArns; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/DomainUserSettings.cs b/sdk/dotnet/SageMaker/Outputs/DomainUserSettings.cs index d2282eb56f..b1df1d9c40 100644 --- a/sdk/dotnet/SageMaker/Outputs/DomainUserSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/DomainUserSettings.cs @@ -16,10 +16,18 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class DomainUserSettings { + public readonly Outputs.DomainCodeEditorAppSettings? CodeEditorAppSettings; + public readonly ImmutableArray CustomFileSystemConfigs; + public readonly Outputs.DomainCustomPosixUserConfig? CustomPosixUserConfig; + /// + /// Defines which Amazon SageMaker application users are directed to by default. + /// + public readonly string? DefaultLandingUri; /// /// The execution role for the user. /// public readonly string ExecutionRole; + public readonly Outputs.DomainJupyterLabAppSettings? JupyterLabAppSettings; /// /// The Jupyter server's app settings. /// @@ -38,11 +46,26 @@ public sealed class DomainUserSettings /// The sharing settings. /// public readonly Outputs.DomainSharingSettings? SharingSettings; + public readonly Outputs.DomainDefaultSpaceStorageSettings? SpaceStorageSettings; + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + public readonly Pulumi.AwsNative.SageMaker.DomainUserSettingsStudioWebPortal? StudioWebPortal; [OutputConstructor] private DomainUserSettings( + Outputs.DomainCodeEditorAppSettings? codeEditorAppSettings, + + ImmutableArray customFileSystemConfigs, + + Outputs.DomainCustomPosixUserConfig? customPosixUserConfig, + + string? defaultLandingUri, + string executionRole, + Outputs.DomainJupyterLabAppSettings? jupyterLabAppSettings, + Outputs.DomainJupyterServerAppSettings? jupyterServerAppSettings, Outputs.DomainKernelGatewayAppSettings? kernelGatewayAppSettings, @@ -53,15 +76,26 @@ private DomainUserSettings( ImmutableArray securityGroups, - Outputs.DomainSharingSettings? sharingSettings) + Outputs.DomainSharingSettings? sharingSettings, + + Outputs.DomainDefaultSpaceStorageSettings? spaceStorageSettings, + + Pulumi.AwsNative.SageMaker.DomainUserSettingsStudioWebPortal? studioWebPortal) { + CodeEditorAppSettings = codeEditorAppSettings; + CustomFileSystemConfigs = customFileSystemConfigs; + CustomPosixUserConfig = customPosixUserConfig; + DefaultLandingUri = defaultLandingUri; ExecutionRole = executionRole; + JupyterLabAppSettings = jupyterLabAppSettings; JupyterServerAppSettings = jupyterServerAppSettings; KernelGatewayAppSettings = kernelGatewayAppSettings; RSessionAppSettings = rSessionAppSettings; RStudioServerProAppSettings = rStudioServerProAppSettings; SecurityGroups = securityGroups; SharingSettings = sharingSettings; + SpaceStorageSettings = spaceStorageSettings; + StudioWebPortal = studioWebPortal; } } } diff --git a/sdk/dotnet/SageMaker/Outputs/OnlineStoreConfigProperties.cs b/sdk/dotnet/SageMaker/Outputs/OnlineStoreConfigProperties.cs index feb1a6b12f..08a2f41af1 100644 --- a/sdk/dotnet/SageMaker/Outputs/OnlineStoreConfigProperties.cs +++ b/sdk/dotnet/SageMaker/Outputs/OnlineStoreConfigProperties.cs @@ -15,15 +15,19 @@ public sealed class OnlineStoreConfigProperties { public readonly bool? EnableOnlineStore; public readonly Outputs.FeatureGroupOnlineStoreSecurityConfig? SecurityConfig; + public readonly Pulumi.AwsNative.SageMaker.FeatureGroupStorageType? StorageType; [OutputConstructor] private OnlineStoreConfigProperties( bool? enableOnlineStore, - Outputs.FeatureGroupOnlineStoreSecurityConfig? securityConfig) + Outputs.FeatureGroupOnlineStoreSecurityConfig? securityConfig, + + Pulumi.AwsNative.SageMaker.FeatureGroupStorageType? storageType) { EnableOnlineStore = enableOnlineStore; SecurityConfig = securityConfig; + StorageType = storageType; } } } diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs new file mode 100644 index 0000000000..e1c7f32826 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeEditorAppSettings.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// The CodeEditor app settings. + /// + [OutputType] + public sealed class UserProfileCodeEditorAppSettings + { + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + /// + public readonly Outputs.UserProfileResourceSpec? DefaultResourceSpec; + /// + /// A list of LifecycleConfigArns available for use with CodeEditor apps. + /// + public readonly ImmutableArray LifecycleConfigArns; + + [OutputConstructor] + private UserProfileCodeEditorAppSettings( + Outputs.UserProfileResourceSpec? defaultResourceSpec, + + ImmutableArray lifecycleConfigArns) + { + DefaultResourceSpec = defaultResourceSpec; + LifecycleConfigArns = lifecycleConfigArns; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileCodeRepository.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeRepository.cs new file mode 100644 index 0000000000..3ceeb7640a --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileCodeRepository.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileCodeRepository + { + /// + /// A CodeRepository (valid URL) to be used within Jupyter's Git extension. + /// + public readonly string RepositoryUrl; + + [OutputConstructor] + private UserProfileCodeRepository(string repositoryUrl) + { + RepositoryUrl = repositoryUrl; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileCustomFileSystemConfig.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileCustomFileSystemConfig.cs new file mode 100644 index 0000000000..39e15f9d54 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileCustomFileSystemConfig.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileCustomFileSystemConfig + { + public readonly Outputs.UserProfileEfsFileSystemConfig? EfsFileSystemConfig; + + [OutputConstructor] + private UserProfileCustomFileSystemConfig(Outputs.UserProfileEfsFileSystemConfig? efsFileSystemConfig) + { + EfsFileSystemConfig = efsFileSystemConfig; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileCustomPosixUserConfig.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileCustomPosixUserConfig.cs new file mode 100644 index 0000000000..d171060b74 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileCustomPosixUserConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileCustomPosixUserConfig + { + public readonly int Gid; + public readonly int Uid; + + [OutputConstructor] + private UserProfileCustomPosixUserConfig( + int gid, + + int uid) + { + Gid = gid; + Uid = uid; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultEbsStorageSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultEbsStorageSettings.cs new file mode 100644 index 0000000000..7093188cb0 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultEbsStorageSettings.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// Properties related to the Amazon Elastic Block Store volume. + /// + [OutputType] + public sealed class UserProfileDefaultEbsStorageSettings + { + /// + /// Default size of the Amazon EBS volume in Gb + /// + public readonly int DefaultEbsVolumeSizeInGb; + /// + /// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + /// + public readonly int MaximumEbsVolumeSizeInGb; + + [OutputConstructor] + private UserProfileDefaultEbsStorageSettings( + int defaultEbsVolumeSizeInGb, + + int maximumEbsVolumeSizeInGb) + { + DefaultEbsVolumeSizeInGb = defaultEbsVolumeSizeInGb; + MaximumEbsVolumeSizeInGb = maximumEbsVolumeSizeInGb; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultSpaceStorageSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultSpaceStorageSettings.cs new file mode 100644 index 0000000000..51171498db --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileDefaultSpaceStorageSettings.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// Default storage settings for a space. + /// + [OutputType] + public sealed class UserProfileDefaultSpaceStorageSettings + { + public readonly Outputs.UserProfileDefaultEbsStorageSettings? DefaultEbsStorageSettings; + + [OutputConstructor] + private UserProfileDefaultSpaceStorageSettings(Outputs.UserProfileDefaultEbsStorageSettings? defaultEbsStorageSettings) + { + DefaultEbsStorageSettings = defaultEbsStorageSettings; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileEfsFileSystemConfig.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileEfsFileSystemConfig.cs new file mode 100644 index 0000000000..fce56a9bb2 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileEfsFileSystemConfig.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + [OutputType] + public sealed class UserProfileEfsFileSystemConfig + { + public readonly string FileSystemId; + public readonly string? FileSystemPath; + + [OutputConstructor] + private UserProfileEfsFileSystemConfig( + string fileSystemId, + + string? fileSystemPath) + { + FileSystemId = fileSystemId; + FileSystemPath = fileSystemPath; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs new file mode 100644 index 0000000000..3fd0d01600 --- /dev/null +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileJupyterLabAppSettings.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.AwsNative.SageMaker.Outputs +{ + + /// + /// The JupyterLab app settings. + /// + [OutputType] + public sealed class UserProfileJupyterLabAppSettings + { + /// + /// A list of CodeRepositories available for use with JupyterLab apps. + /// + public readonly ImmutableArray CodeRepositories; + /// + /// A list of custom images available for use for JupyterLab apps + /// + public readonly ImmutableArray CustomImages; + /// + /// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + /// + public readonly Outputs.UserProfileResourceSpec? DefaultResourceSpec; + /// + /// A list of LifecycleConfigArns available for use with JupyterLab apps. + /// + public readonly ImmutableArray LifecycleConfigArns; + + [OutputConstructor] + private UserProfileJupyterLabAppSettings( + ImmutableArray codeRepositories, + + ImmutableArray customImages, + + Outputs.UserProfileResourceSpec? defaultResourceSpec, + + ImmutableArray lifecycleConfigArns) + { + CodeRepositories = codeRepositories; + CustomImages = customImages; + DefaultResourceSpec = defaultResourceSpec; + LifecycleConfigArns = lifecycleConfigArns; + } + } +} diff --git a/sdk/dotnet/SageMaker/Outputs/UserProfileUserSettings.cs b/sdk/dotnet/SageMaker/Outputs/UserProfileUserSettings.cs index 9987adc0df..8fc5120fc2 100644 --- a/sdk/dotnet/SageMaker/Outputs/UserProfileUserSettings.cs +++ b/sdk/dotnet/SageMaker/Outputs/UserProfileUserSettings.cs @@ -16,10 +16,18 @@ namespace Pulumi.AwsNative.SageMaker.Outputs [OutputType] public sealed class UserProfileUserSettings { + public readonly Outputs.UserProfileCodeEditorAppSettings? CodeEditorAppSettings; + public readonly ImmutableArray CustomFileSystemConfigs; + public readonly Outputs.UserProfileCustomPosixUserConfig? CustomPosixUserConfig; + /// + /// Defines which Amazon SageMaker application users are directed to by default. + /// + public readonly string? DefaultLandingUri; /// /// The user profile Amazon Resource Name (ARN). /// public readonly string? ExecutionRole; + public readonly Outputs.UserProfileJupyterLabAppSettings? JupyterLabAppSettings; /// /// The Jupyter server's app settings. /// @@ -37,11 +45,26 @@ public sealed class UserProfileUserSettings /// The sharing settings. /// public readonly Outputs.UserProfileSharingSettings? SharingSettings; + public readonly Outputs.UserProfileDefaultSpaceStorageSettings? SpaceStorageSettings; + /// + /// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + /// + public readonly Pulumi.AwsNative.SageMaker.UserProfileUserSettingsStudioWebPortal? StudioWebPortal; [OutputConstructor] private UserProfileUserSettings( + Outputs.UserProfileCodeEditorAppSettings? codeEditorAppSettings, + + ImmutableArray customFileSystemConfigs, + + Outputs.UserProfileCustomPosixUserConfig? customPosixUserConfig, + + string? defaultLandingUri, + string? executionRole, + Outputs.UserProfileJupyterLabAppSettings? jupyterLabAppSettings, + Outputs.UserProfileJupyterServerAppSettings? jupyterServerAppSettings, Outputs.UserProfileKernelGatewayAppSettings? kernelGatewayAppSettings, @@ -50,14 +73,25 @@ private UserProfileUserSettings( ImmutableArray securityGroups, - Outputs.UserProfileSharingSettings? sharingSettings) + Outputs.UserProfileSharingSettings? sharingSettings, + + Outputs.UserProfileDefaultSpaceStorageSettings? spaceStorageSettings, + + Pulumi.AwsNative.SageMaker.UserProfileUserSettingsStudioWebPortal? studioWebPortal) { + CodeEditorAppSettings = codeEditorAppSettings; + CustomFileSystemConfigs = customFileSystemConfigs; + CustomPosixUserConfig = customPosixUserConfig; + DefaultLandingUri = defaultLandingUri; ExecutionRole = executionRole; + JupyterLabAppSettings = jupyterLabAppSettings; JupyterServerAppSettings = jupyterServerAppSettings; KernelGatewayAppSettings = kernelGatewayAppSettings; RStudioServerProAppSettings = rStudioServerProAppSettings; SecurityGroups = securityGroups; SharingSettings = sharingSettings; + SpaceStorageSettings = spaceStorageSettings; + StudioWebPortal = studioWebPortal; } } } diff --git a/sdk/dotnet/Sns/GetSubscription.cs b/sdk/dotnet/Sns/GetSubscription.cs index f0951606ea..adb7ee2aef 100644 --- a/sdk/dotnet/Sns/GetSubscription.cs +++ b/sdk/dotnet/Sns/GetSubscription.cs @@ -58,6 +58,7 @@ public sealed class GetSubscriptionResult public readonly bool? RawMessageDelivery; public readonly object? RedrivePolicy; public readonly string? Region; + public readonly object? ReplayPolicy; public readonly string? SubscriptionRoleArn; [OutputConstructor] @@ -76,6 +77,8 @@ private GetSubscriptionResult( string? region, + object? replayPolicy, + string? subscriptionRoleArn) { DeliveryPolicy = deliveryPolicy; @@ -85,6 +88,7 @@ private GetSubscriptionResult( RawMessageDelivery = rawMessageDelivery; RedrivePolicy = redrivePolicy; Region = region; + ReplayPolicy = replayPolicy; SubscriptionRoleArn = subscriptionRoleArn; } } diff --git a/sdk/dotnet/Sns/Subscription.cs b/sdk/dotnet/Sns/Subscription.cs index cdbecb4ca4..dc29be6eca 100644 --- a/sdk/dotnet/Sns/Subscription.cs +++ b/sdk/dotnet/Sns/Subscription.cs @@ -40,6 +40,9 @@ public partial class Subscription : global::Pulumi.CustomResource [Output("region")] public Output Region { get; private set; } = null!; + [Output("replayPolicy")] + public Output ReplayPolicy { get; private set; } = null!; + [Output("subscriptionRoleArn")] public Output SubscriptionRoleArn { get; private set; } = null!; @@ -121,6 +124,9 @@ public sealed class SubscriptionArgs : global::Pulumi.ResourceArgs [Input("region")] public Input? Region { get; set; } + [Input("replayPolicy")] + public Input? ReplayPolicy { get; set; } + [Input("subscriptionRoleArn")] public Input? SubscriptionRoleArn { get; set; } diff --git a/sdk/go/aws/accessanalyzer/pulumiTypes.go b/sdk/go/aws/accessanalyzer/pulumiTypes.go index 8d5dc5e92e..1309737771 100644 --- a/sdk/go/aws/accessanalyzer/pulumiTypes.go +++ b/sdk/go/aws/accessanalyzer/pulumiTypes.go @@ -583,7 +583,7 @@ func (o AnalyzerTagArrayOutput) Index(i pulumi.IntInput) AnalyzerTagOutput { // The Configuration for Unused Access Analyzer type AnalyzerUnusedAccessConfiguration struct { - // 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. + // 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. UnusedAccessAge *int `pulumi:"unusedAccessAge"` } @@ -600,7 +600,7 @@ type AnalyzerUnusedAccessConfigurationInput interface { // The Configuration for Unused Access Analyzer type AnalyzerUnusedAccessConfigurationArgs struct { - // 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. + // 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. UnusedAccessAge pulumi.IntPtrInput `pulumi:"unusedAccessAge"` } @@ -700,7 +700,7 @@ func (o AnalyzerUnusedAccessConfigurationOutput) ToOutput(ctx context.Context) p } } -// 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. +// 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. func (o AnalyzerUnusedAccessConfigurationOutput) UnusedAccessAge() pulumi.IntPtrOutput { return o.ApplyT(func(v AnalyzerUnusedAccessConfiguration) *int { return v.UnusedAccessAge }).(pulumi.IntPtrOutput) } @@ -735,7 +735,7 @@ func (o AnalyzerUnusedAccessConfigurationPtrOutput) Elem() AnalyzerUnusedAccessC }).(AnalyzerUnusedAccessConfigurationOutput) } -// 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. +// 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. func (o AnalyzerUnusedAccessConfigurationPtrOutput) UnusedAccessAge() pulumi.IntPtrOutput { return o.ApplyT(func(v *AnalyzerUnusedAccessConfiguration) *int { if v == nil { diff --git a/sdk/go/aws/appsync/getGraphQlApi.go b/sdk/go/aws/appsync/getGraphQlApi.go index 45d41d65ce..3fe075a0e1 100644 --- a/sdk/go/aws/appsync/getGraphQlApi.go +++ b/sdk/go/aws/appsync/getGraphQlApi.go @@ -34,6 +34,7 @@ type LookupGraphQlApiResult struct { Arn *string `pulumi:"arn"` AuthenticationType *string `pulumi:"authenticationType"` GraphQlDns *string `pulumi:"graphQlDns"` + GraphQlEndpointArn *string `pulumi:"graphQlEndpointArn"` GraphQlUrl *string `pulumi:"graphQlUrl"` Id *string `pulumi:"id"` LambdaAuthorizerConfig *GraphQlApiLambdaAuthorizerConfig `pulumi:"lambdaAuthorizerConfig"` @@ -117,6 +118,10 @@ func (o LookupGraphQlApiResultOutput) GraphQlDns() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlDns }).(pulumi.StringPtrOutput) } +func (o LookupGraphQlApiResultOutput) GraphQlEndpointArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlEndpointArn }).(pulumi.StringPtrOutput) +} + func (o LookupGraphQlApiResultOutput) GraphQlUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupGraphQlApiResult) *string { return v.GraphQlUrl }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/appsync/graphQlApi.go b/sdk/go/aws/appsync/graphQlApi.go index 512c2ecd0c..ff0be919d5 100644 --- a/sdk/go/aws/appsync/graphQlApi.go +++ b/sdk/go/aws/appsync/graphQlApi.go @@ -25,6 +25,7 @@ type GraphQlApi struct { Arn pulumi.StringOutput `pulumi:"arn"` AuthenticationType pulumi.StringOutput `pulumi:"authenticationType"` GraphQlDns pulumi.StringOutput `pulumi:"graphQlDns"` + GraphQlEndpointArn pulumi.StringOutput `pulumi:"graphQlEndpointArn"` GraphQlUrl pulumi.StringOutput `pulumi:"graphQlUrl"` LambdaAuthorizerConfig GraphQlApiLambdaAuthorizerConfigPtrOutput `pulumi:"lambdaAuthorizerConfig"` LogConfig GraphQlApiLogConfigPtrOutput `pulumi:"logConfig"` @@ -190,6 +191,10 @@ func (o GraphQlApiOutput) GraphQlDns() pulumi.StringOutput { return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlDns }).(pulumi.StringOutput) } +func (o GraphQlApiOutput) GraphQlEndpointArn() pulumi.StringOutput { + return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlEndpointArn }).(pulumi.StringOutput) +} + func (o GraphQlApiOutput) GraphQlUrl() pulumi.StringOutput { return o.ApplyT(func(v *GraphQlApi) pulumi.StringOutput { return v.GraphQlUrl }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/autoscaling/pulumiTypes.go b/sdk/go/aws/autoscaling/pulumiTypes.go index ade4ec5592..d6e2842b12 100644 --- a/sdk/go/aws/autoscaling/pulumiTypes.go +++ b/sdk/go/aws/autoscaling/pulumiTypes.go @@ -718,14 +718,14 @@ type AutoScalingGroupInstanceRequirements struct { LocalStorage *string `pulumi:"localStorage"` LocalStorageTypes []string `pulumi:"localStorageTypes"` MemoryGiBPerVCpu *AutoScalingGroupMemoryGiBPerVCpuRequest `pulumi:"memoryGiBPerVCpu"` - MemoryMiB *AutoScalingGroupMemoryMiBRequest `pulumi:"memoryMiB"` + MemoryMiB AutoScalingGroupMemoryMiBRequest `pulumi:"memoryMiB"` NetworkBandwidthGbps *AutoScalingGroupNetworkBandwidthGbpsRequest `pulumi:"networkBandwidthGbps"` NetworkInterfaceCount *AutoScalingGroupNetworkInterfaceCountRequest `pulumi:"networkInterfaceCount"` OnDemandMaxPricePercentageOverLowestPrice *int `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` RequireHibernateSupport *bool `pulumi:"requireHibernateSupport"` SpotMaxPricePercentageOverLowestPrice *int `pulumi:"spotMaxPricePercentageOverLowestPrice"` TotalLocalStorageGb *AutoScalingGroupTotalLocalStorageGbRequest `pulumi:"totalLocalStorageGb"` - VCpuCount *AutoScalingGroupVCpuCountRequest `pulumi:"vCpuCount"` + VCpuCount AutoScalingGroupVCpuCountRequest `pulumi:"vCpuCount"` } // AutoScalingGroupInstanceRequirementsInput is an input type that accepts AutoScalingGroupInstanceRequirementsArgs and AutoScalingGroupInstanceRequirementsOutput values. @@ -755,14 +755,14 @@ type AutoScalingGroupInstanceRequirementsArgs struct { LocalStorage pulumi.StringPtrInput `pulumi:"localStorage"` LocalStorageTypes pulumi.StringArrayInput `pulumi:"localStorageTypes"` MemoryGiBPerVCpu AutoScalingGroupMemoryGiBPerVCpuRequestPtrInput `pulumi:"memoryGiBPerVCpu"` - MemoryMiB AutoScalingGroupMemoryMiBRequestPtrInput `pulumi:"memoryMiB"` + MemoryMiB AutoScalingGroupMemoryMiBRequestInput `pulumi:"memoryMiB"` NetworkBandwidthGbps AutoScalingGroupNetworkBandwidthGbpsRequestPtrInput `pulumi:"networkBandwidthGbps"` NetworkInterfaceCount AutoScalingGroupNetworkInterfaceCountRequestPtrInput `pulumi:"networkInterfaceCount"` OnDemandMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"onDemandMaxPricePercentageOverLowestPrice"` RequireHibernateSupport pulumi.BoolPtrInput `pulumi:"requireHibernateSupport"` SpotMaxPricePercentageOverLowestPrice pulumi.IntPtrInput `pulumi:"spotMaxPricePercentageOverLowestPrice"` TotalLocalStorageGb AutoScalingGroupTotalLocalStorageGbRequestPtrInput `pulumi:"totalLocalStorageGb"` - VCpuCount AutoScalingGroupVCpuCountRequestPtrInput `pulumi:"vCpuCount"` + VCpuCount AutoScalingGroupVCpuCountRequestInput `pulumi:"vCpuCount"` } func (AutoScalingGroupInstanceRequirementsArgs) ElementType() reflect.Type { @@ -928,8 +928,8 @@ func (o AutoScalingGroupInstanceRequirementsOutput) MemoryGiBPerVCpu() AutoScali }).(AutoScalingGroupMemoryGiBPerVCpuRequestPtrOutput) } -func (o AutoScalingGroupInstanceRequirementsOutput) MemoryMiB() AutoScalingGroupMemoryMiBRequestPtrOutput { - return o.ApplyT(func(v AutoScalingGroupInstanceRequirements) *AutoScalingGroupMemoryMiBRequest { return v.MemoryMiB }).(AutoScalingGroupMemoryMiBRequestPtrOutput) +func (o AutoScalingGroupInstanceRequirementsOutput) MemoryMiB() AutoScalingGroupMemoryMiBRequestOutput { + return o.ApplyT(func(v AutoScalingGroupInstanceRequirements) AutoScalingGroupMemoryMiBRequest { return v.MemoryMiB }).(AutoScalingGroupMemoryMiBRequestOutput) } func (o AutoScalingGroupInstanceRequirementsOutput) NetworkBandwidthGbps() AutoScalingGroupNetworkBandwidthGbpsRequestPtrOutput { @@ -962,8 +962,8 @@ func (o AutoScalingGroupInstanceRequirementsOutput) TotalLocalStorageGb() AutoSc }).(AutoScalingGroupTotalLocalStorageGbRequestPtrOutput) } -func (o AutoScalingGroupInstanceRequirementsOutput) VCpuCount() AutoScalingGroupVCpuCountRequestPtrOutput { - return o.ApplyT(func(v AutoScalingGroupInstanceRequirements) *AutoScalingGroupVCpuCountRequest { return v.VCpuCount }).(AutoScalingGroupVCpuCountRequestPtrOutput) +func (o AutoScalingGroupInstanceRequirementsOutput) VCpuCount() AutoScalingGroupVCpuCountRequestOutput { + return o.ApplyT(func(v AutoScalingGroupInstanceRequirements) AutoScalingGroupVCpuCountRequest { return v.VCpuCount }).(AutoScalingGroupVCpuCountRequestOutput) } type AutoScalingGroupInstanceRequirementsPtrOutput struct{ *pulumi.OutputState } @@ -1136,7 +1136,7 @@ func (o AutoScalingGroupInstanceRequirementsPtrOutput) MemoryMiB() AutoScalingGr if v == nil { return nil } - return v.MemoryMiB + return &v.MemoryMiB }).(AutoScalingGroupMemoryMiBRequestPtrOutput) } @@ -1199,7 +1199,7 @@ func (o AutoScalingGroupInstanceRequirementsPtrOutput) VCpuCount() AutoScalingGr if v == nil { return nil } - return v.VCpuCount + return &v.VCpuCount }).(AutoScalingGroupVCpuCountRequestPtrOutput) } diff --git a/sdk/go/aws/billingconductor/customLineItem.go b/sdk/go/aws/billingconductor/customLineItem.go index 787ba6a3e3..e40cf5977f 100644 --- a/sdk/go/aws/billingconductor/customLineItem.go +++ b/sdk/go/aws/billingconductor/customLineItem.go @@ -19,6 +19,8 @@ import ( type CustomLineItem struct { pulumi.CustomResourceState + // The account which this custom line item will be charged to + AccountId pulumi.StringPtrOutput `pulumi:"accountId"` // ARN Arn pulumi.StringOutput `pulumi:"arn"` // Number of source values associated to this custom line item @@ -49,6 +51,7 @@ func NewCustomLineItem(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'BillingGroupArn'") } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "accountId", "billingGroupArn", "billingPeriodRange.exclusiveEndBillingPeriod", "billingPeriodRange.inclusiveStartBillingPeriod", @@ -88,6 +91,8 @@ func (CustomLineItemState) ElementType() reflect.Type { } type customLineItemArgs struct { + // The account which this custom line item will be charged to + AccountId *string `pulumi:"accountId"` // Billing Group ARN BillingGroupArn string `pulumi:"billingGroupArn"` BillingPeriodRange *CustomLineItemBillingPeriodRange `pulumi:"billingPeriodRange"` @@ -99,6 +104,8 @@ type customLineItemArgs struct { // The set of arguments for constructing a CustomLineItem resource. type CustomLineItemArgs struct { + // The account which this custom line item will be charged to + AccountId pulumi.StringPtrInput // Billing Group ARN BillingGroupArn pulumi.StringInput BillingPeriodRange CustomLineItemBillingPeriodRangePtrInput @@ -157,6 +164,11 @@ func (o CustomLineItemOutput) ToOutput(ctx context.Context) pulumix.Output[*Cust } } +// The account which this custom line item will be charged to +func (o CustomLineItemOutput) AccountId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomLineItem) pulumi.StringPtrOutput { return v.AccountId }).(pulumi.StringPtrOutput) +} + // ARN func (o CustomLineItemOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *CustomLineItem) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) diff --git a/sdk/go/aws/ce/anomalyMonitor.go b/sdk/go/aws/ce/anomalyMonitor.go index 6083d30385..650bfe73b7 100644 --- a/sdk/go/aws/ce/anomalyMonitor.go +++ b/sdk/go/aws/ce/anomalyMonitor.go @@ -14,8 +14,6 @@ import ( ) // 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. -// -// Deprecated: AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type AnomalyMonitor struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ce/anomalySubscription.go b/sdk/go/aws/ce/anomalySubscription.go index 94ed8d19a4..d4ede493a5 100644 --- a/sdk/go/aws/ce/anomalySubscription.go +++ b/sdk/go/aws/ce/anomalySubscription.go @@ -14,8 +14,6 @@ import ( ) // 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 -// -// Deprecated: AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type AnomalySubscription struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/cleanrooms/collaboration.go b/sdk/go/aws/cleanrooms/collaboration.go index 2d58c4881b..d8b60d5da1 100644 --- a/sdk/go/aws/cleanrooms/collaboration.go +++ b/sdk/go/aws/cleanrooms/collaboration.go @@ -17,15 +17,16 @@ import ( type Collaboration struct { pulumi.CustomResourceState - Arn pulumi.StringOutput `pulumi:"arn"` - CollaborationIdentifier pulumi.StringOutput `pulumi:"collaborationIdentifier"` - CreatorDisplayName pulumi.StringOutput `pulumi:"creatorDisplayName"` - CreatorMemberAbilities CollaborationMemberAbilityArrayOutput `pulumi:"creatorMemberAbilities"` - DataEncryptionMetadata CollaborationDataEncryptionMetadataPtrOutput `pulumi:"dataEncryptionMetadata"` - Description pulumi.StringOutput `pulumi:"description"` - Members CollaborationMemberSpecificationArrayOutput `pulumi:"members"` - Name pulumi.StringOutput `pulumi:"name"` - QueryLogStatus CollaborationQueryLogStatusOutput `pulumi:"queryLogStatus"` + Arn pulumi.StringOutput `pulumi:"arn"` + CollaborationIdentifier pulumi.StringOutput `pulumi:"collaborationIdentifier"` + CreatorDisplayName pulumi.StringOutput `pulumi:"creatorDisplayName"` + CreatorMemberAbilities CollaborationMemberAbilityArrayOutput `pulumi:"creatorMemberAbilities"` + CreatorPaymentConfiguration CollaborationPaymentConfigurationPtrOutput `pulumi:"creatorPaymentConfiguration"` + DataEncryptionMetadata CollaborationDataEncryptionMetadataPtrOutput `pulumi:"dataEncryptionMetadata"` + Description pulumi.StringOutput `pulumi:"description"` + Members CollaborationMemberSpecificationArrayOutput `pulumi:"members"` + Name pulumi.StringOutput `pulumi:"name"` + QueryLogStatus CollaborationQueryLogStatusOutput `pulumi:"queryLogStatus"` // An arbitrary set of tags (key-value pairs) for this cleanrooms collaboration. Tags CollaborationTagArrayOutput `pulumi:"tags"` } @@ -55,6 +56,7 @@ func NewCollaboration(ctx *pulumi.Context, replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "creatorDisplayName", "creatorMemberAbilities[*]", + "creatorPaymentConfiguration", "dataEncryptionMetadata", "members[*]", "queryLogStatus", @@ -93,26 +95,28 @@ func (CollaborationState) ElementType() reflect.Type { } type collaborationArgs struct { - CreatorDisplayName string `pulumi:"creatorDisplayName"` - CreatorMemberAbilities []CollaborationMemberAbility `pulumi:"creatorMemberAbilities"` - DataEncryptionMetadata *CollaborationDataEncryptionMetadata `pulumi:"dataEncryptionMetadata"` - Description string `pulumi:"description"` - Members []CollaborationMemberSpecification `pulumi:"members"` - Name *string `pulumi:"name"` - QueryLogStatus CollaborationQueryLogStatus `pulumi:"queryLogStatus"` + CreatorDisplayName string `pulumi:"creatorDisplayName"` + CreatorMemberAbilities []CollaborationMemberAbility `pulumi:"creatorMemberAbilities"` + CreatorPaymentConfiguration *CollaborationPaymentConfiguration `pulumi:"creatorPaymentConfiguration"` + DataEncryptionMetadata *CollaborationDataEncryptionMetadata `pulumi:"dataEncryptionMetadata"` + Description string `pulumi:"description"` + Members []CollaborationMemberSpecification `pulumi:"members"` + Name *string `pulumi:"name"` + QueryLogStatus CollaborationQueryLogStatus `pulumi:"queryLogStatus"` // An arbitrary set of tags (key-value pairs) for this cleanrooms collaboration. Tags []CollaborationTag `pulumi:"tags"` } // The set of arguments for constructing a Collaboration resource. type CollaborationArgs struct { - CreatorDisplayName pulumi.StringInput - CreatorMemberAbilities CollaborationMemberAbilityArrayInput - DataEncryptionMetadata CollaborationDataEncryptionMetadataPtrInput - Description pulumi.StringInput - Members CollaborationMemberSpecificationArrayInput - Name pulumi.StringPtrInput - QueryLogStatus CollaborationQueryLogStatusInput + CreatorDisplayName pulumi.StringInput + CreatorMemberAbilities CollaborationMemberAbilityArrayInput + CreatorPaymentConfiguration CollaborationPaymentConfigurationPtrInput + DataEncryptionMetadata CollaborationDataEncryptionMetadataPtrInput + Description pulumi.StringInput + Members CollaborationMemberSpecificationArrayInput + Name pulumi.StringPtrInput + QueryLogStatus CollaborationQueryLogStatusInput // An arbitrary set of tags (key-value pairs) for this cleanrooms collaboration. Tags CollaborationTagArrayInput } @@ -182,6 +186,12 @@ func (o CollaborationOutput) CreatorMemberAbilities() CollaborationMemberAbility return o.ApplyT(func(v *Collaboration) CollaborationMemberAbilityArrayOutput { return v.CreatorMemberAbilities }).(CollaborationMemberAbilityArrayOutput) } +func (o CollaborationOutput) CreatorPaymentConfiguration() CollaborationPaymentConfigurationPtrOutput { + return o.ApplyT(func(v *Collaboration) CollaborationPaymentConfigurationPtrOutput { + return v.CreatorPaymentConfiguration + }).(CollaborationPaymentConfigurationPtrOutput) +} + func (o CollaborationOutput) DataEncryptionMetadata() CollaborationDataEncryptionMetadataPtrOutput { return o.ApplyT(func(v *Collaboration) CollaborationDataEncryptionMetadataPtrOutput { return v.DataEncryptionMetadata }).(CollaborationDataEncryptionMetadataPtrOutput) } diff --git a/sdk/go/aws/cleanrooms/getMembership.go b/sdk/go/aws/cleanrooms/getMembership.go index 8f96c0175a..d809066b1a 100644 --- a/sdk/go/aws/cleanrooms/getMembership.go +++ b/sdk/go/aws/cleanrooms/getMembership.go @@ -33,6 +33,7 @@ type LookupMembershipResult struct { CollaborationCreatorAccountId *string `pulumi:"collaborationCreatorAccountId"` DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `pulumi:"defaultResultConfiguration"` MembershipIdentifier *string `pulumi:"membershipIdentifier"` + PaymentConfiguration *MembershipPaymentConfiguration `pulumi:"paymentConfiguration"` QueryLogStatus *MembershipQueryLogStatus `pulumi:"queryLogStatus"` // An arbitrary set of tags (key-value pairs) for this cleanrooms membership. Tags []MembershipTag `pulumi:"tags"` @@ -101,6 +102,10 @@ func (o LookupMembershipResultOutput) MembershipIdentifier() pulumi.StringPtrOut return o.ApplyT(func(v LookupMembershipResult) *string { return v.MembershipIdentifier }).(pulumi.StringPtrOutput) } +func (o LookupMembershipResultOutput) PaymentConfiguration() MembershipPaymentConfigurationPtrOutput { + return o.ApplyT(func(v LookupMembershipResult) *MembershipPaymentConfiguration { return v.PaymentConfiguration }).(MembershipPaymentConfigurationPtrOutput) +} + func (o LookupMembershipResultOutput) QueryLogStatus() MembershipQueryLogStatusPtrOutput { return o.ApplyT(func(v LookupMembershipResult) *MembershipQueryLogStatus { return v.QueryLogStatus }).(MembershipQueryLogStatusPtrOutput) } diff --git a/sdk/go/aws/cleanrooms/membership.go b/sdk/go/aws/cleanrooms/membership.go index 0b335eecef..cc7a0fb45a 100644 --- a/sdk/go/aws/cleanrooms/membership.go +++ b/sdk/go/aws/cleanrooms/membership.go @@ -23,6 +23,7 @@ type Membership struct { CollaborationIdentifier pulumi.StringOutput `pulumi:"collaborationIdentifier"` DefaultResultConfiguration MembershipProtectedQueryResultConfigurationPtrOutput `pulumi:"defaultResultConfiguration"` MembershipIdentifier pulumi.StringOutput `pulumi:"membershipIdentifier"` + PaymentConfiguration MembershipPaymentConfigurationPtrOutput `pulumi:"paymentConfiguration"` QueryLogStatus MembershipQueryLogStatusOutput `pulumi:"queryLogStatus"` // An arbitrary set of tags (key-value pairs) for this cleanrooms membership. Tags MembershipTagArrayOutput `pulumi:"tags"` @@ -80,6 +81,7 @@ func (MembershipState) ElementType() reflect.Type { type membershipArgs struct { CollaborationIdentifier string `pulumi:"collaborationIdentifier"` DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `pulumi:"defaultResultConfiguration"` + PaymentConfiguration *MembershipPaymentConfiguration `pulumi:"paymentConfiguration"` QueryLogStatus MembershipQueryLogStatus `pulumi:"queryLogStatus"` // An arbitrary set of tags (key-value pairs) for this cleanrooms membership. Tags []MembershipTag `pulumi:"tags"` @@ -89,6 +91,7 @@ type membershipArgs struct { type MembershipArgs struct { CollaborationIdentifier pulumi.StringInput DefaultResultConfiguration MembershipProtectedQueryResultConfigurationPtrInput + PaymentConfiguration MembershipPaymentConfigurationPtrInput QueryLogStatus MembershipQueryLogStatusInput // An arbitrary set of tags (key-value pairs) for this cleanrooms membership. Tags MembershipTagArrayInput @@ -169,6 +172,10 @@ func (o MembershipOutput) MembershipIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *Membership) pulumi.StringOutput { return v.MembershipIdentifier }).(pulumi.StringOutput) } +func (o MembershipOutput) PaymentConfiguration() MembershipPaymentConfigurationPtrOutput { + return o.ApplyT(func(v *Membership) MembershipPaymentConfigurationPtrOutput { return v.PaymentConfiguration }).(MembershipPaymentConfigurationPtrOutput) +} + func (o MembershipOutput) QueryLogStatus() MembershipQueryLogStatusOutput { return o.ApplyT(func(v *Membership) MembershipQueryLogStatusOutput { return v.QueryLogStatus }).(MembershipQueryLogStatusOutput) } diff --git a/sdk/go/aws/cleanrooms/pulumiTypes.go b/sdk/go/aws/cleanrooms/pulumiTypes.go index ba0ff96b4d..366b47dfeb 100644 --- a/sdk/go/aws/cleanrooms/pulumiTypes.go +++ b/sdk/go/aws/cleanrooms/pulumiTypes.go @@ -599,9 +599,10 @@ func (o CollaborationDataEncryptionMetadataPtrOutput) PreserveNulls() pulumi.Boo } type CollaborationMemberSpecification struct { - AccountId string `pulumi:"accountId"` - DisplayName string `pulumi:"displayName"` - MemberAbilities []CollaborationMemberAbility `pulumi:"memberAbilities"` + AccountId string `pulumi:"accountId"` + DisplayName string `pulumi:"displayName"` + MemberAbilities []CollaborationMemberAbility `pulumi:"memberAbilities"` + PaymentConfiguration *CollaborationPaymentConfiguration `pulumi:"paymentConfiguration"` } // CollaborationMemberSpecificationInput is an input type that accepts CollaborationMemberSpecificationArgs and CollaborationMemberSpecificationOutput values. @@ -616,9 +617,10 @@ type CollaborationMemberSpecificationInput interface { } type CollaborationMemberSpecificationArgs struct { - AccountId pulumi.StringInput `pulumi:"accountId"` - DisplayName pulumi.StringInput `pulumi:"displayName"` - MemberAbilities CollaborationMemberAbilityArrayInput `pulumi:"memberAbilities"` + AccountId pulumi.StringInput `pulumi:"accountId"` + DisplayName pulumi.StringInput `pulumi:"displayName"` + MemberAbilities CollaborationMemberAbilityArrayInput `pulumi:"memberAbilities"` + PaymentConfiguration CollaborationPaymentConfigurationPtrInput `pulumi:"paymentConfiguration"` } func (CollaborationMemberSpecificationArgs) ElementType() reflect.Type { @@ -702,6 +704,12 @@ func (o CollaborationMemberSpecificationOutput) MemberAbilities() CollaborationM return o.ApplyT(func(v CollaborationMemberSpecification) []CollaborationMemberAbility { return v.MemberAbilities }).(CollaborationMemberAbilityArrayOutput) } +func (o CollaborationMemberSpecificationOutput) PaymentConfiguration() CollaborationPaymentConfigurationPtrOutput { + return o.ApplyT(func(v CollaborationMemberSpecification) *CollaborationPaymentConfiguration { + return v.PaymentConfiguration + }).(CollaborationPaymentConfigurationPtrOutput) +} + type CollaborationMemberSpecificationArrayOutput struct{ *pulumi.OutputState } func (CollaborationMemberSpecificationArrayOutput) ElementType() reflect.Type { @@ -728,6 +736,322 @@ func (o CollaborationMemberSpecificationArrayOutput) Index(i pulumi.IntInput) Co }).(CollaborationMemberSpecificationOutput) } +type CollaborationPaymentConfiguration struct { + QueryCompute CollaborationQueryComputePaymentConfig `pulumi:"queryCompute"` +} + +// CollaborationPaymentConfigurationInput is an input type that accepts CollaborationPaymentConfigurationArgs and CollaborationPaymentConfigurationOutput values. +// You can construct a concrete instance of `CollaborationPaymentConfigurationInput` via: +// +// CollaborationPaymentConfigurationArgs{...} +type CollaborationPaymentConfigurationInput interface { + pulumi.Input + + ToCollaborationPaymentConfigurationOutput() CollaborationPaymentConfigurationOutput + ToCollaborationPaymentConfigurationOutputWithContext(context.Context) CollaborationPaymentConfigurationOutput +} + +type CollaborationPaymentConfigurationArgs struct { + QueryCompute CollaborationQueryComputePaymentConfigInput `pulumi:"queryCompute"` +} + +func (CollaborationPaymentConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CollaborationPaymentConfiguration)(nil)).Elem() +} + +func (i CollaborationPaymentConfigurationArgs) ToCollaborationPaymentConfigurationOutput() CollaborationPaymentConfigurationOutput { + return i.ToCollaborationPaymentConfigurationOutputWithContext(context.Background()) +} + +func (i CollaborationPaymentConfigurationArgs) ToCollaborationPaymentConfigurationOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationPaymentConfigurationOutput) +} + +func (i CollaborationPaymentConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[CollaborationPaymentConfiguration] { + return pulumix.Output[CollaborationPaymentConfiguration]{ + OutputState: i.ToCollaborationPaymentConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i CollaborationPaymentConfigurationArgs) ToCollaborationPaymentConfigurationPtrOutput() CollaborationPaymentConfigurationPtrOutput { + return i.ToCollaborationPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i CollaborationPaymentConfigurationArgs) ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationPaymentConfigurationOutput).ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx) +} + +// CollaborationPaymentConfigurationPtrInput is an input type that accepts CollaborationPaymentConfigurationArgs, CollaborationPaymentConfigurationPtr and CollaborationPaymentConfigurationPtrOutput values. +// You can construct a concrete instance of `CollaborationPaymentConfigurationPtrInput` via: +// +// CollaborationPaymentConfigurationArgs{...} +// +// or: +// +// nil +type CollaborationPaymentConfigurationPtrInput interface { + pulumi.Input + + ToCollaborationPaymentConfigurationPtrOutput() CollaborationPaymentConfigurationPtrOutput + ToCollaborationPaymentConfigurationPtrOutputWithContext(context.Context) CollaborationPaymentConfigurationPtrOutput +} + +type collaborationPaymentConfigurationPtrType CollaborationPaymentConfigurationArgs + +func CollaborationPaymentConfigurationPtr(v *CollaborationPaymentConfigurationArgs) CollaborationPaymentConfigurationPtrInput { + return (*collaborationPaymentConfigurationPtrType)(v) +} + +func (*collaborationPaymentConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CollaborationPaymentConfiguration)(nil)).Elem() +} + +func (i *collaborationPaymentConfigurationPtrType) ToCollaborationPaymentConfigurationPtrOutput() CollaborationPaymentConfigurationPtrOutput { + return i.ToCollaborationPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *collaborationPaymentConfigurationPtrType) ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationPaymentConfigurationPtrOutput) +} + +func (i *collaborationPaymentConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*CollaborationPaymentConfiguration] { + return pulumix.Output[*CollaborationPaymentConfiguration]{ + OutputState: i.ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type CollaborationPaymentConfigurationOutput struct{ *pulumi.OutputState } + +func (CollaborationPaymentConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CollaborationPaymentConfiguration)(nil)).Elem() +} + +func (o CollaborationPaymentConfigurationOutput) ToCollaborationPaymentConfigurationOutput() CollaborationPaymentConfigurationOutput { + return o +} + +func (o CollaborationPaymentConfigurationOutput) ToCollaborationPaymentConfigurationOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationOutput { + return o +} + +func (o CollaborationPaymentConfigurationOutput) ToCollaborationPaymentConfigurationPtrOutput() CollaborationPaymentConfigurationPtrOutput { + return o.ToCollaborationPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (o CollaborationPaymentConfigurationOutput) ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CollaborationPaymentConfiguration) *CollaborationPaymentConfiguration { + return &v + }).(CollaborationPaymentConfigurationPtrOutput) +} + +func (o CollaborationPaymentConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[CollaborationPaymentConfiguration] { + return pulumix.Output[CollaborationPaymentConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o CollaborationPaymentConfigurationOutput) QueryCompute() CollaborationQueryComputePaymentConfigOutput { + return o.ApplyT(func(v CollaborationPaymentConfiguration) CollaborationQueryComputePaymentConfig { + return v.QueryCompute + }).(CollaborationQueryComputePaymentConfigOutput) +} + +type CollaborationPaymentConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (CollaborationPaymentConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CollaborationPaymentConfiguration)(nil)).Elem() +} + +func (o CollaborationPaymentConfigurationPtrOutput) ToCollaborationPaymentConfigurationPtrOutput() CollaborationPaymentConfigurationPtrOutput { + return o +} + +func (o CollaborationPaymentConfigurationPtrOutput) ToCollaborationPaymentConfigurationPtrOutputWithContext(ctx context.Context) CollaborationPaymentConfigurationPtrOutput { + return o +} + +func (o CollaborationPaymentConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CollaborationPaymentConfiguration] { + return pulumix.Output[*CollaborationPaymentConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o CollaborationPaymentConfigurationPtrOutput) Elem() CollaborationPaymentConfigurationOutput { + return o.ApplyT(func(v *CollaborationPaymentConfiguration) CollaborationPaymentConfiguration { + if v != nil { + return *v + } + var ret CollaborationPaymentConfiguration + return ret + }).(CollaborationPaymentConfigurationOutput) +} + +func (o CollaborationPaymentConfigurationPtrOutput) QueryCompute() CollaborationQueryComputePaymentConfigPtrOutput { + return o.ApplyT(func(v *CollaborationPaymentConfiguration) *CollaborationQueryComputePaymentConfig { + if v == nil { + return nil + } + return &v.QueryCompute + }).(CollaborationQueryComputePaymentConfigPtrOutput) +} + +type CollaborationQueryComputePaymentConfig struct { + IsResponsible bool `pulumi:"isResponsible"` +} + +// CollaborationQueryComputePaymentConfigInput is an input type that accepts CollaborationQueryComputePaymentConfigArgs and CollaborationQueryComputePaymentConfigOutput values. +// You can construct a concrete instance of `CollaborationQueryComputePaymentConfigInput` via: +// +// CollaborationQueryComputePaymentConfigArgs{...} +type CollaborationQueryComputePaymentConfigInput interface { + pulumi.Input + + ToCollaborationQueryComputePaymentConfigOutput() CollaborationQueryComputePaymentConfigOutput + ToCollaborationQueryComputePaymentConfigOutputWithContext(context.Context) CollaborationQueryComputePaymentConfigOutput +} + +type CollaborationQueryComputePaymentConfigArgs struct { + IsResponsible pulumi.BoolInput `pulumi:"isResponsible"` +} + +func (CollaborationQueryComputePaymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CollaborationQueryComputePaymentConfig)(nil)).Elem() +} + +func (i CollaborationQueryComputePaymentConfigArgs) ToCollaborationQueryComputePaymentConfigOutput() CollaborationQueryComputePaymentConfigOutput { + return i.ToCollaborationQueryComputePaymentConfigOutputWithContext(context.Background()) +} + +func (i CollaborationQueryComputePaymentConfigArgs) ToCollaborationQueryComputePaymentConfigOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationQueryComputePaymentConfigOutput) +} + +func (i CollaborationQueryComputePaymentConfigArgs) ToOutput(ctx context.Context) pulumix.Output[CollaborationQueryComputePaymentConfig] { + return pulumix.Output[CollaborationQueryComputePaymentConfig]{ + OutputState: i.ToCollaborationQueryComputePaymentConfigOutputWithContext(ctx).OutputState, + } +} + +func (i CollaborationQueryComputePaymentConfigArgs) ToCollaborationQueryComputePaymentConfigPtrOutput() CollaborationQueryComputePaymentConfigPtrOutput { + return i.ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (i CollaborationQueryComputePaymentConfigArgs) ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationQueryComputePaymentConfigOutput).ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx) +} + +// CollaborationQueryComputePaymentConfigPtrInput is an input type that accepts CollaborationQueryComputePaymentConfigArgs, CollaborationQueryComputePaymentConfigPtr and CollaborationQueryComputePaymentConfigPtrOutput values. +// You can construct a concrete instance of `CollaborationQueryComputePaymentConfigPtrInput` via: +// +// CollaborationQueryComputePaymentConfigArgs{...} +// +// or: +// +// nil +type CollaborationQueryComputePaymentConfigPtrInput interface { + pulumi.Input + + ToCollaborationQueryComputePaymentConfigPtrOutput() CollaborationQueryComputePaymentConfigPtrOutput + ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(context.Context) CollaborationQueryComputePaymentConfigPtrOutput +} + +type collaborationQueryComputePaymentConfigPtrType CollaborationQueryComputePaymentConfigArgs + +func CollaborationQueryComputePaymentConfigPtr(v *CollaborationQueryComputePaymentConfigArgs) CollaborationQueryComputePaymentConfigPtrInput { + return (*collaborationQueryComputePaymentConfigPtrType)(v) +} + +func (*collaborationQueryComputePaymentConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CollaborationQueryComputePaymentConfig)(nil)).Elem() +} + +func (i *collaborationQueryComputePaymentConfigPtrType) ToCollaborationQueryComputePaymentConfigPtrOutput() CollaborationQueryComputePaymentConfigPtrOutput { + return i.ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (i *collaborationQueryComputePaymentConfigPtrType) ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CollaborationQueryComputePaymentConfigPtrOutput) +} + +func (i *collaborationQueryComputePaymentConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*CollaborationQueryComputePaymentConfig] { + return pulumix.Output[*CollaborationQueryComputePaymentConfig]{ + OutputState: i.ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type CollaborationQueryComputePaymentConfigOutput struct{ *pulumi.OutputState } + +func (CollaborationQueryComputePaymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CollaborationQueryComputePaymentConfig)(nil)).Elem() +} + +func (o CollaborationQueryComputePaymentConfigOutput) ToCollaborationQueryComputePaymentConfigOutput() CollaborationQueryComputePaymentConfigOutput { + return o +} + +func (o CollaborationQueryComputePaymentConfigOutput) ToCollaborationQueryComputePaymentConfigOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigOutput { + return o +} + +func (o CollaborationQueryComputePaymentConfigOutput) ToCollaborationQueryComputePaymentConfigPtrOutput() CollaborationQueryComputePaymentConfigPtrOutput { + return o.ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (o CollaborationQueryComputePaymentConfigOutput) ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CollaborationQueryComputePaymentConfig) *CollaborationQueryComputePaymentConfig { + return &v + }).(CollaborationQueryComputePaymentConfigPtrOutput) +} + +func (o CollaborationQueryComputePaymentConfigOutput) ToOutput(ctx context.Context) pulumix.Output[CollaborationQueryComputePaymentConfig] { + return pulumix.Output[CollaborationQueryComputePaymentConfig]{ + OutputState: o.OutputState, + } +} + +func (o CollaborationQueryComputePaymentConfigOutput) IsResponsible() pulumi.BoolOutput { + return o.ApplyT(func(v CollaborationQueryComputePaymentConfig) bool { return v.IsResponsible }).(pulumi.BoolOutput) +} + +type CollaborationQueryComputePaymentConfigPtrOutput struct{ *pulumi.OutputState } + +func (CollaborationQueryComputePaymentConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CollaborationQueryComputePaymentConfig)(nil)).Elem() +} + +func (o CollaborationQueryComputePaymentConfigPtrOutput) ToCollaborationQueryComputePaymentConfigPtrOutput() CollaborationQueryComputePaymentConfigPtrOutput { + return o +} + +func (o CollaborationQueryComputePaymentConfigPtrOutput) ToCollaborationQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) CollaborationQueryComputePaymentConfigPtrOutput { + return o +} + +func (o CollaborationQueryComputePaymentConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CollaborationQueryComputePaymentConfig] { + return pulumix.Output[*CollaborationQueryComputePaymentConfig]{ + OutputState: o.OutputState, + } +} + +func (o CollaborationQueryComputePaymentConfigPtrOutput) Elem() CollaborationQueryComputePaymentConfigOutput { + return o.ApplyT(func(v *CollaborationQueryComputePaymentConfig) CollaborationQueryComputePaymentConfig { + if v != nil { + return *v + } + var ret CollaborationQueryComputePaymentConfig + return ret + }).(CollaborationQueryComputePaymentConfigOutput) +} + +func (o CollaborationQueryComputePaymentConfigPtrOutput) IsResponsible() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CollaborationQueryComputePaymentConfig) *bool { + if v == nil { + return nil + } + return &v.IsResponsible + }).(pulumi.BoolPtrOutput) +} + type CollaborationTag struct { Key string `pulumi:"key"` Value string `pulumi:"value"` @@ -1457,6 +1781,163 @@ func (o ConfiguredTableTagArrayOutput) Index(i pulumi.IntInput) ConfiguredTableT }).(ConfiguredTableTagOutput) } +type MembershipPaymentConfiguration struct { + QueryCompute MembershipQueryComputePaymentConfig `pulumi:"queryCompute"` +} + +// MembershipPaymentConfigurationInput is an input type that accepts MembershipPaymentConfigurationArgs and MembershipPaymentConfigurationOutput values. +// You can construct a concrete instance of `MembershipPaymentConfigurationInput` via: +// +// MembershipPaymentConfigurationArgs{...} +type MembershipPaymentConfigurationInput interface { + pulumi.Input + + ToMembershipPaymentConfigurationOutput() MembershipPaymentConfigurationOutput + ToMembershipPaymentConfigurationOutputWithContext(context.Context) MembershipPaymentConfigurationOutput +} + +type MembershipPaymentConfigurationArgs struct { + QueryCompute MembershipQueryComputePaymentConfigInput `pulumi:"queryCompute"` +} + +func (MembershipPaymentConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipPaymentConfiguration)(nil)).Elem() +} + +func (i MembershipPaymentConfigurationArgs) ToMembershipPaymentConfigurationOutput() MembershipPaymentConfigurationOutput { + return i.ToMembershipPaymentConfigurationOutputWithContext(context.Background()) +} + +func (i MembershipPaymentConfigurationArgs) ToMembershipPaymentConfigurationOutputWithContext(ctx context.Context) MembershipPaymentConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipPaymentConfigurationOutput) +} + +func (i MembershipPaymentConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[MembershipPaymentConfiguration] { + return pulumix.Output[MembershipPaymentConfiguration]{ + OutputState: i.ToMembershipPaymentConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i MembershipPaymentConfigurationArgs) ToMembershipPaymentConfigurationPtrOutput() MembershipPaymentConfigurationPtrOutput { + return i.ToMembershipPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i MembershipPaymentConfigurationArgs) ToMembershipPaymentConfigurationPtrOutputWithContext(ctx context.Context) MembershipPaymentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipPaymentConfigurationOutput).ToMembershipPaymentConfigurationPtrOutputWithContext(ctx) +} + +// MembershipPaymentConfigurationPtrInput is an input type that accepts MembershipPaymentConfigurationArgs, MembershipPaymentConfigurationPtr and MembershipPaymentConfigurationPtrOutput values. +// You can construct a concrete instance of `MembershipPaymentConfigurationPtrInput` via: +// +// MembershipPaymentConfigurationArgs{...} +// +// or: +// +// nil +type MembershipPaymentConfigurationPtrInput interface { + pulumi.Input + + ToMembershipPaymentConfigurationPtrOutput() MembershipPaymentConfigurationPtrOutput + ToMembershipPaymentConfigurationPtrOutputWithContext(context.Context) MembershipPaymentConfigurationPtrOutput +} + +type membershipPaymentConfigurationPtrType MembershipPaymentConfigurationArgs + +func MembershipPaymentConfigurationPtr(v *MembershipPaymentConfigurationArgs) MembershipPaymentConfigurationPtrInput { + return (*membershipPaymentConfigurationPtrType)(v) +} + +func (*membershipPaymentConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipPaymentConfiguration)(nil)).Elem() +} + +func (i *membershipPaymentConfigurationPtrType) ToMembershipPaymentConfigurationPtrOutput() MembershipPaymentConfigurationPtrOutput { + return i.ToMembershipPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *membershipPaymentConfigurationPtrType) ToMembershipPaymentConfigurationPtrOutputWithContext(ctx context.Context) MembershipPaymentConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipPaymentConfigurationPtrOutput) +} + +func (i *membershipPaymentConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*MembershipPaymentConfiguration] { + return pulumix.Output[*MembershipPaymentConfiguration]{ + OutputState: i.ToMembershipPaymentConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type MembershipPaymentConfigurationOutput struct{ *pulumi.OutputState } + +func (MembershipPaymentConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipPaymentConfiguration)(nil)).Elem() +} + +func (o MembershipPaymentConfigurationOutput) ToMembershipPaymentConfigurationOutput() MembershipPaymentConfigurationOutput { + return o +} + +func (o MembershipPaymentConfigurationOutput) ToMembershipPaymentConfigurationOutputWithContext(ctx context.Context) MembershipPaymentConfigurationOutput { + return o +} + +func (o MembershipPaymentConfigurationOutput) ToMembershipPaymentConfigurationPtrOutput() MembershipPaymentConfigurationPtrOutput { + return o.ToMembershipPaymentConfigurationPtrOutputWithContext(context.Background()) +} + +func (o MembershipPaymentConfigurationOutput) ToMembershipPaymentConfigurationPtrOutputWithContext(ctx context.Context) MembershipPaymentConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MembershipPaymentConfiguration) *MembershipPaymentConfiguration { + return &v + }).(MembershipPaymentConfigurationPtrOutput) +} + +func (o MembershipPaymentConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[MembershipPaymentConfiguration] { + return pulumix.Output[MembershipPaymentConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o MembershipPaymentConfigurationOutput) QueryCompute() MembershipQueryComputePaymentConfigOutput { + return o.ApplyT(func(v MembershipPaymentConfiguration) MembershipQueryComputePaymentConfig { return v.QueryCompute }).(MembershipQueryComputePaymentConfigOutput) +} + +type MembershipPaymentConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (MembershipPaymentConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipPaymentConfiguration)(nil)).Elem() +} + +func (o MembershipPaymentConfigurationPtrOutput) ToMembershipPaymentConfigurationPtrOutput() MembershipPaymentConfigurationPtrOutput { + return o +} + +func (o MembershipPaymentConfigurationPtrOutput) ToMembershipPaymentConfigurationPtrOutputWithContext(ctx context.Context) MembershipPaymentConfigurationPtrOutput { + return o +} + +func (o MembershipPaymentConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*MembershipPaymentConfiguration] { + return pulumix.Output[*MembershipPaymentConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o MembershipPaymentConfigurationPtrOutput) Elem() MembershipPaymentConfigurationOutput { + return o.ApplyT(func(v *MembershipPaymentConfiguration) MembershipPaymentConfiguration { + if v != nil { + return *v + } + var ret MembershipPaymentConfiguration + return ret + }).(MembershipPaymentConfigurationOutput) +} + +func (o MembershipPaymentConfigurationPtrOutput) QueryCompute() MembershipQueryComputePaymentConfigPtrOutput { + return o.ApplyT(func(v *MembershipPaymentConfiguration) *MembershipQueryComputePaymentConfig { + if v == nil { + return nil + } + return &v.QueryCompute + }).(MembershipQueryComputePaymentConfigPtrOutput) +} + type MembershipProtectedQueryOutputConfiguration struct { S3 MembershipProtectedQueryS3OutputConfiguration `pulumi:"s3"` } @@ -1977,6 +2458,163 @@ func (o MembershipProtectedQueryS3OutputConfigurationPtrOutput) ResultFormat() M }).(MembershipResultFormatPtrOutput) } +type MembershipQueryComputePaymentConfig struct { + IsResponsible bool `pulumi:"isResponsible"` +} + +// MembershipQueryComputePaymentConfigInput is an input type that accepts MembershipQueryComputePaymentConfigArgs and MembershipQueryComputePaymentConfigOutput values. +// You can construct a concrete instance of `MembershipQueryComputePaymentConfigInput` via: +// +// MembershipQueryComputePaymentConfigArgs{...} +type MembershipQueryComputePaymentConfigInput interface { + pulumi.Input + + ToMembershipQueryComputePaymentConfigOutput() MembershipQueryComputePaymentConfigOutput + ToMembershipQueryComputePaymentConfigOutputWithContext(context.Context) MembershipQueryComputePaymentConfigOutput +} + +type MembershipQueryComputePaymentConfigArgs struct { + IsResponsible pulumi.BoolInput `pulumi:"isResponsible"` +} + +func (MembershipQueryComputePaymentConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipQueryComputePaymentConfig)(nil)).Elem() +} + +func (i MembershipQueryComputePaymentConfigArgs) ToMembershipQueryComputePaymentConfigOutput() MembershipQueryComputePaymentConfigOutput { + return i.ToMembershipQueryComputePaymentConfigOutputWithContext(context.Background()) +} + +func (i MembershipQueryComputePaymentConfigArgs) ToMembershipQueryComputePaymentConfigOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipQueryComputePaymentConfigOutput) +} + +func (i MembershipQueryComputePaymentConfigArgs) ToOutput(ctx context.Context) pulumix.Output[MembershipQueryComputePaymentConfig] { + return pulumix.Output[MembershipQueryComputePaymentConfig]{ + OutputState: i.ToMembershipQueryComputePaymentConfigOutputWithContext(ctx).OutputState, + } +} + +func (i MembershipQueryComputePaymentConfigArgs) ToMembershipQueryComputePaymentConfigPtrOutput() MembershipQueryComputePaymentConfigPtrOutput { + return i.ToMembershipQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (i MembershipQueryComputePaymentConfigArgs) ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipQueryComputePaymentConfigOutput).ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx) +} + +// MembershipQueryComputePaymentConfigPtrInput is an input type that accepts MembershipQueryComputePaymentConfigArgs, MembershipQueryComputePaymentConfigPtr and MembershipQueryComputePaymentConfigPtrOutput values. +// You can construct a concrete instance of `MembershipQueryComputePaymentConfigPtrInput` via: +// +// MembershipQueryComputePaymentConfigArgs{...} +// +// or: +// +// nil +type MembershipQueryComputePaymentConfigPtrInput interface { + pulumi.Input + + ToMembershipQueryComputePaymentConfigPtrOutput() MembershipQueryComputePaymentConfigPtrOutput + ToMembershipQueryComputePaymentConfigPtrOutputWithContext(context.Context) MembershipQueryComputePaymentConfigPtrOutput +} + +type membershipQueryComputePaymentConfigPtrType MembershipQueryComputePaymentConfigArgs + +func MembershipQueryComputePaymentConfigPtr(v *MembershipQueryComputePaymentConfigArgs) MembershipQueryComputePaymentConfigPtrInput { + return (*membershipQueryComputePaymentConfigPtrType)(v) +} + +func (*membershipQueryComputePaymentConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipQueryComputePaymentConfig)(nil)).Elem() +} + +func (i *membershipQueryComputePaymentConfigPtrType) ToMembershipQueryComputePaymentConfigPtrOutput() MembershipQueryComputePaymentConfigPtrOutput { + return i.ToMembershipQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (i *membershipQueryComputePaymentConfigPtrType) ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MembershipQueryComputePaymentConfigPtrOutput) +} + +func (i *membershipQueryComputePaymentConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*MembershipQueryComputePaymentConfig] { + return pulumix.Output[*MembershipQueryComputePaymentConfig]{ + OutputState: i.ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type MembershipQueryComputePaymentConfigOutput struct{ *pulumi.OutputState } + +func (MembershipQueryComputePaymentConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MembershipQueryComputePaymentConfig)(nil)).Elem() +} + +func (o MembershipQueryComputePaymentConfigOutput) ToMembershipQueryComputePaymentConfigOutput() MembershipQueryComputePaymentConfigOutput { + return o +} + +func (o MembershipQueryComputePaymentConfigOutput) ToMembershipQueryComputePaymentConfigOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigOutput { + return o +} + +func (o MembershipQueryComputePaymentConfigOutput) ToMembershipQueryComputePaymentConfigPtrOutput() MembershipQueryComputePaymentConfigPtrOutput { + return o.ToMembershipQueryComputePaymentConfigPtrOutputWithContext(context.Background()) +} + +func (o MembershipQueryComputePaymentConfigOutput) ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MembershipQueryComputePaymentConfig) *MembershipQueryComputePaymentConfig { + return &v + }).(MembershipQueryComputePaymentConfigPtrOutput) +} + +func (o MembershipQueryComputePaymentConfigOutput) ToOutput(ctx context.Context) pulumix.Output[MembershipQueryComputePaymentConfig] { + return pulumix.Output[MembershipQueryComputePaymentConfig]{ + OutputState: o.OutputState, + } +} + +func (o MembershipQueryComputePaymentConfigOutput) IsResponsible() pulumi.BoolOutput { + return o.ApplyT(func(v MembershipQueryComputePaymentConfig) bool { return v.IsResponsible }).(pulumi.BoolOutput) +} + +type MembershipQueryComputePaymentConfigPtrOutput struct{ *pulumi.OutputState } + +func (MembershipQueryComputePaymentConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MembershipQueryComputePaymentConfig)(nil)).Elem() +} + +func (o MembershipQueryComputePaymentConfigPtrOutput) ToMembershipQueryComputePaymentConfigPtrOutput() MembershipQueryComputePaymentConfigPtrOutput { + return o +} + +func (o MembershipQueryComputePaymentConfigPtrOutput) ToMembershipQueryComputePaymentConfigPtrOutputWithContext(ctx context.Context) MembershipQueryComputePaymentConfigPtrOutput { + return o +} + +func (o MembershipQueryComputePaymentConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*MembershipQueryComputePaymentConfig] { + return pulumix.Output[*MembershipQueryComputePaymentConfig]{ + OutputState: o.OutputState, + } +} + +func (o MembershipQueryComputePaymentConfigPtrOutput) Elem() MembershipQueryComputePaymentConfigOutput { + return o.ApplyT(func(v *MembershipQueryComputePaymentConfig) MembershipQueryComputePaymentConfig { + if v != nil { + return *v + } + var ret MembershipQueryComputePaymentConfig + return ret + }).(MembershipQueryComputePaymentConfigOutput) +} + +func (o MembershipQueryComputePaymentConfigPtrOutput) IsResponsible() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MembershipQueryComputePaymentConfig) *bool { + if v == nil { + return nil + } + return &v.IsResponsible + }).(pulumi.BoolPtrOutput) +} + type MembershipTag struct { Key string `pulumi:"key"` Value string `pulumi:"value"` @@ -2111,6 +2749,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CollaborationDataEncryptionMetadataPtrInput)(nil)).Elem(), CollaborationDataEncryptionMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CollaborationMemberSpecificationInput)(nil)).Elem(), CollaborationMemberSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CollaborationMemberSpecificationArrayInput)(nil)).Elem(), CollaborationMemberSpecificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollaborationPaymentConfigurationInput)(nil)).Elem(), CollaborationPaymentConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollaborationPaymentConfigurationPtrInput)(nil)).Elem(), CollaborationPaymentConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollaborationQueryComputePaymentConfigInput)(nil)).Elem(), CollaborationQueryComputePaymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CollaborationQueryComputePaymentConfigPtrInput)(nil)).Elem(), CollaborationQueryComputePaymentConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CollaborationTagInput)(nil)).Elem(), CollaborationTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CollaborationTagArrayInput)(nil)).Elem(), CollaborationTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfiguredTableAnalysisRuleInput)(nil)).Elem(), ConfiguredTableAnalysisRuleArgs{}) @@ -2122,12 +2764,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConfiguredTableTableReferenceInput)(nil)).Elem(), ConfiguredTableTableReferenceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfiguredTableTagInput)(nil)).Elem(), ConfiguredTableTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfiguredTableTagArrayInput)(nil)).Elem(), ConfiguredTableTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipPaymentConfigurationInput)(nil)).Elem(), MembershipPaymentConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipPaymentConfigurationPtrInput)(nil)).Elem(), MembershipPaymentConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryOutputConfigurationInput)(nil)).Elem(), MembershipProtectedQueryOutputConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryOutputConfigurationPtrInput)(nil)).Elem(), MembershipProtectedQueryOutputConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryResultConfigurationInput)(nil)).Elem(), MembershipProtectedQueryResultConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryResultConfigurationPtrInput)(nil)).Elem(), MembershipProtectedQueryResultConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryS3OutputConfigurationInput)(nil)).Elem(), MembershipProtectedQueryS3OutputConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipProtectedQueryS3OutputConfigurationPtrInput)(nil)).Elem(), MembershipProtectedQueryS3OutputConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipQueryComputePaymentConfigInput)(nil)).Elem(), MembershipQueryComputePaymentConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MembershipQueryComputePaymentConfigPtrInput)(nil)).Elem(), MembershipQueryComputePaymentConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipTagInput)(nil)).Elem(), MembershipTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MembershipTagArrayInput)(nil)).Elem(), MembershipTagArray{}) pulumi.RegisterOutputType(AnalysisTemplateAnalysisParameterOutput{}) @@ -2141,6 +2787,10 @@ func init() { pulumi.RegisterOutputType(CollaborationDataEncryptionMetadataPtrOutput{}) pulumi.RegisterOutputType(CollaborationMemberSpecificationOutput{}) pulumi.RegisterOutputType(CollaborationMemberSpecificationArrayOutput{}) + pulumi.RegisterOutputType(CollaborationPaymentConfigurationOutput{}) + pulumi.RegisterOutputType(CollaborationPaymentConfigurationPtrOutput{}) + pulumi.RegisterOutputType(CollaborationQueryComputePaymentConfigOutput{}) + pulumi.RegisterOutputType(CollaborationQueryComputePaymentConfigPtrOutput{}) pulumi.RegisterOutputType(CollaborationTagOutput{}) pulumi.RegisterOutputType(CollaborationTagArrayOutput{}) pulumi.RegisterOutputType(ConfiguredTableAnalysisRuleOutput{}) @@ -2152,12 +2802,16 @@ func init() { pulumi.RegisterOutputType(ConfiguredTableTableReferenceOutput{}) pulumi.RegisterOutputType(ConfiguredTableTagOutput{}) pulumi.RegisterOutputType(ConfiguredTableTagArrayOutput{}) + pulumi.RegisterOutputType(MembershipPaymentConfigurationOutput{}) + pulumi.RegisterOutputType(MembershipPaymentConfigurationPtrOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryOutputConfigurationOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryOutputConfigurationPtrOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryResultConfigurationOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryResultConfigurationPtrOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryS3OutputConfigurationOutput{}) pulumi.RegisterOutputType(MembershipProtectedQueryS3OutputConfigurationPtrOutput{}) + pulumi.RegisterOutputType(MembershipQueryComputePaymentConfigOutput{}) + pulumi.RegisterOutputType(MembershipQueryComputePaymentConfigPtrOutput{}) pulumi.RegisterOutputType(MembershipTagOutput{}) pulumi.RegisterOutputType(MembershipTagArrayOutput{}) } diff --git a/sdk/go/aws/cloud9/environmentEc2.go b/sdk/go/aws/cloud9/environmentEc2.go index a37b9f3e96..825b974f37 100644 --- a/sdk/go/aws/cloud9/environmentEc2.go +++ b/sdk/go/aws/cloud9/environmentEc2.go @@ -23,7 +23,7 @@ type EnvironmentEc2 struct { AutomaticStopTimeMinutes pulumi.IntPtrOutput `pulumi:"automaticStopTimeMinutes"` ConnectionType pulumi.StringPtrOutput `pulumi:"connectionType"` Description pulumi.StringPtrOutput `pulumi:"description"` - ImageId pulumi.StringPtrOutput `pulumi:"imageId"` + ImageId pulumi.StringOutput `pulumi:"imageId"` InstanceType pulumi.StringOutput `pulumi:"instanceType"` Name pulumi.StringPtrOutput `pulumi:"name"` OwnerArn pulumi.StringPtrOutput `pulumi:"ownerArn"` @@ -39,6 +39,9 @@ func NewEnvironmentEc2(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } + if args.ImageId == nil { + return nil, errors.New("invalid value for required argument 'ImageId'") + } if args.InstanceType == nil { return nil, errors.New("invalid value for required argument 'InstanceType'") } @@ -88,7 +91,7 @@ type environmentEc2Args struct { AutomaticStopTimeMinutes *int `pulumi:"automaticStopTimeMinutes"` ConnectionType *string `pulumi:"connectionType"` Description *string `pulumi:"description"` - ImageId *string `pulumi:"imageId"` + ImageId string `pulumi:"imageId"` InstanceType string `pulumi:"instanceType"` Name *string `pulumi:"name"` OwnerArn *string `pulumi:"ownerArn"` @@ -102,7 +105,7 @@ type EnvironmentEc2Args struct { AutomaticStopTimeMinutes pulumi.IntPtrInput ConnectionType pulumi.StringPtrInput Description pulumi.StringPtrInput - ImageId pulumi.StringPtrInput + ImageId pulumi.StringInput InstanceType pulumi.StringInput Name pulumi.StringPtrInput OwnerArn pulumi.StringPtrInput @@ -176,8 +179,8 @@ func (o EnvironmentEc2Output) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *EnvironmentEc2) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -func (o EnvironmentEc2Output) ImageId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *EnvironmentEc2) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) +func (o EnvironmentEc2Output) ImageId() pulumi.StringOutput { + return o.ApplyT(func(v *EnvironmentEc2) pulumi.StringOutput { return v.ImageId }).(pulumi.StringOutput) } func (o EnvironmentEc2Output) InstanceType() pulumi.StringOutput { diff --git a/sdk/go/aws/cloudfront/getKeyValueStore.go b/sdk/go/aws/cloudfront/getKeyValueStore.go new file mode 100644 index 0000000000..8cf13da58f --- /dev/null +++ b/sdk/go/aws/cloudfront/getKeyValueStore.go @@ -0,0 +1,96 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cloudfront + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource Type definition for AWS::CloudFront::KeyValueStore +func LookupKeyValueStore(ctx *pulumi.Context, args *LookupKeyValueStoreArgs, opts ...pulumi.InvokeOption) (*LookupKeyValueStoreResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupKeyValueStoreResult + err := ctx.Invoke("aws-native:cloudfront:getKeyValueStore", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupKeyValueStoreArgs struct { + Name string `pulumi:"name"` +} + +type LookupKeyValueStoreResult struct { + Arn *string `pulumi:"arn"` + Comment *string `pulumi:"comment"` + Id *string `pulumi:"id"` + Status *string `pulumi:"status"` +} + +func LookupKeyValueStoreOutput(ctx *pulumi.Context, args LookupKeyValueStoreOutputArgs, opts ...pulumi.InvokeOption) LookupKeyValueStoreResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupKeyValueStoreResult, error) { + args := v.(LookupKeyValueStoreArgs) + r, err := LookupKeyValueStore(ctx, &args, opts...) + var s LookupKeyValueStoreResult + if r != nil { + s = *r + } + return s, err + }).(LookupKeyValueStoreResultOutput) +} + +type LookupKeyValueStoreOutputArgs struct { + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupKeyValueStoreOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupKeyValueStoreArgs)(nil)).Elem() +} + +type LookupKeyValueStoreResultOutput struct{ *pulumi.OutputState } + +func (LookupKeyValueStoreResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupKeyValueStoreResult)(nil)).Elem() +} + +func (o LookupKeyValueStoreResultOutput) ToLookupKeyValueStoreResultOutput() LookupKeyValueStoreResultOutput { + return o +} + +func (o LookupKeyValueStoreResultOutput) ToLookupKeyValueStoreResultOutputWithContext(ctx context.Context) LookupKeyValueStoreResultOutput { + return o +} + +func (o LookupKeyValueStoreResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupKeyValueStoreResult] { + return pulumix.Output[LookupKeyValueStoreResult]{ + OutputState: o.OutputState, + } +} + +func (o LookupKeyValueStoreResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupKeyValueStoreResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +func (o LookupKeyValueStoreResultOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupKeyValueStoreResult) *string { return v.Comment }).(pulumi.StringPtrOutput) +} + +func (o LookupKeyValueStoreResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupKeyValueStoreResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o LookupKeyValueStoreResultOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupKeyValueStoreResult) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupKeyValueStoreResultOutput{}) +} diff --git a/sdk/go/aws/cloudfront/init.go b/sdk/go/aws/cloudfront/init.go index 3ae2a80bff..68a68d424c 100644 --- a/sdk/go/aws/cloudfront/init.go +++ b/sdk/go/aws/cloudfront/init.go @@ -33,6 +33,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Function{} case "aws-native:cloudfront:KeyGroup": r = &KeyGroup{} + case "aws-native:cloudfront:KeyValueStore": + r = &KeyValueStore{} case "aws-native:cloudfront:MonitoringSubscription": r = &MonitoringSubscription{} case "aws-native:cloudfront:OriginAccessControl": diff --git a/sdk/go/aws/cloudfront/keyValueStore.go b/sdk/go/aws/cloudfront/keyValueStore.go new file mode 100644 index 0000000000..5bd8d720e7 --- /dev/null +++ b/sdk/go/aws/cloudfront/keyValueStore.go @@ -0,0 +1,156 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package cloudfront + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource Type definition for AWS::CloudFront::KeyValueStore +// +// Deprecated: KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. +type KeyValueStore struct { + pulumi.CustomResourceState + + Arn pulumi.StringOutput `pulumi:"arn"` + Comment pulumi.StringPtrOutput `pulumi:"comment"` + ImportSource KeyValueStoreImportSourcePtrOutput `pulumi:"importSource"` + Name pulumi.StringOutput `pulumi:"name"` + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewKeyValueStore registers a new resource with the given unique name, arguments, and options. +func NewKeyValueStore(ctx *pulumi.Context, + name string, args *KeyValueStoreArgs, opts ...pulumi.ResourceOption) (*KeyValueStore, error) { + if args == nil { + args = &KeyValueStoreArgs{} + } + + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "name", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource KeyValueStore + err := ctx.RegisterResource("aws-native:cloudfront:KeyValueStore", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetKeyValueStore gets an existing KeyValueStore resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetKeyValueStore(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *KeyValueStoreState, opts ...pulumi.ResourceOption) (*KeyValueStore, error) { + var resource KeyValueStore + err := ctx.ReadResource("aws-native:cloudfront:KeyValueStore", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering KeyValueStore resources. +type keyValueStoreState struct { +} + +type KeyValueStoreState struct { +} + +func (KeyValueStoreState) ElementType() reflect.Type { + return reflect.TypeOf((*keyValueStoreState)(nil)).Elem() +} + +type keyValueStoreArgs struct { + Comment *string `pulumi:"comment"` + ImportSource *KeyValueStoreImportSource `pulumi:"importSource"` + Name *string `pulumi:"name"` +} + +// The set of arguments for constructing a KeyValueStore resource. +type KeyValueStoreArgs struct { + Comment pulumi.StringPtrInput + ImportSource KeyValueStoreImportSourcePtrInput + Name pulumi.StringPtrInput +} + +func (KeyValueStoreArgs) ElementType() reflect.Type { + return reflect.TypeOf((*keyValueStoreArgs)(nil)).Elem() +} + +type KeyValueStoreInput interface { + pulumi.Input + + ToKeyValueStoreOutput() KeyValueStoreOutput + ToKeyValueStoreOutputWithContext(ctx context.Context) KeyValueStoreOutput +} + +func (*KeyValueStore) ElementType() reflect.Type { + return reflect.TypeOf((**KeyValueStore)(nil)).Elem() +} + +func (i *KeyValueStore) ToKeyValueStoreOutput() KeyValueStoreOutput { + return i.ToKeyValueStoreOutputWithContext(context.Background()) +} + +func (i *KeyValueStore) ToKeyValueStoreOutputWithContext(ctx context.Context) KeyValueStoreOutput { + return pulumi.ToOutputWithContext(ctx, i).(KeyValueStoreOutput) +} + +func (i *KeyValueStore) ToOutput(ctx context.Context) pulumix.Output[*KeyValueStore] { + return pulumix.Output[*KeyValueStore]{ + OutputState: i.ToKeyValueStoreOutputWithContext(ctx).OutputState, + } +} + +type KeyValueStoreOutput struct{ *pulumi.OutputState } + +func (KeyValueStoreOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KeyValueStore)(nil)).Elem() +} + +func (o KeyValueStoreOutput) ToKeyValueStoreOutput() KeyValueStoreOutput { + return o +} + +func (o KeyValueStoreOutput) ToKeyValueStoreOutputWithContext(ctx context.Context) KeyValueStoreOutput { + return o +} + +func (o KeyValueStoreOutput) ToOutput(ctx context.Context) pulumix.Output[*KeyValueStore] { + return pulumix.Output[*KeyValueStore]{ + OutputState: o.OutputState, + } +} + +func (o KeyValueStoreOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *KeyValueStore) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o KeyValueStoreOutput) Comment() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KeyValueStore) pulumi.StringPtrOutput { return v.Comment }).(pulumi.StringPtrOutput) +} + +func (o KeyValueStoreOutput) ImportSource() KeyValueStoreImportSourcePtrOutput { + return o.ApplyT(func(v *KeyValueStore) KeyValueStoreImportSourcePtrOutput { return v.ImportSource }).(KeyValueStoreImportSourcePtrOutput) +} + +func (o KeyValueStoreOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *KeyValueStore) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +func (o KeyValueStoreOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *KeyValueStore) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*KeyValueStoreInput)(nil)).Elem(), &KeyValueStore{}) + pulumi.RegisterOutputType(KeyValueStoreOutput{}) +} diff --git a/sdk/go/aws/cloudfront/pulumiTypes.go b/sdk/go/aws/cloudfront/pulumiTypes.go index 2d9c74cd4d..7e87e639d4 100644 --- a/sdk/go/aws/cloudfront/pulumiTypes.go +++ b/sdk/go/aws/cloudfront/pulumiTypes.go @@ -6932,6 +6932,178 @@ func (o KeyGroupConfigPtrOutput) Name() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type KeyValueStoreImportSource struct { + SourceArn string `pulumi:"sourceArn"` + SourceType string `pulumi:"sourceType"` +} + +// KeyValueStoreImportSourceInput is an input type that accepts KeyValueStoreImportSourceArgs and KeyValueStoreImportSourceOutput values. +// You can construct a concrete instance of `KeyValueStoreImportSourceInput` via: +// +// KeyValueStoreImportSourceArgs{...} +type KeyValueStoreImportSourceInput interface { + pulumi.Input + + ToKeyValueStoreImportSourceOutput() KeyValueStoreImportSourceOutput + ToKeyValueStoreImportSourceOutputWithContext(context.Context) KeyValueStoreImportSourceOutput +} + +type KeyValueStoreImportSourceArgs struct { + SourceArn pulumi.StringInput `pulumi:"sourceArn"` + SourceType pulumi.StringInput `pulumi:"sourceType"` +} + +func (KeyValueStoreImportSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*KeyValueStoreImportSource)(nil)).Elem() +} + +func (i KeyValueStoreImportSourceArgs) ToKeyValueStoreImportSourceOutput() KeyValueStoreImportSourceOutput { + return i.ToKeyValueStoreImportSourceOutputWithContext(context.Background()) +} + +func (i KeyValueStoreImportSourceArgs) ToKeyValueStoreImportSourceOutputWithContext(ctx context.Context) KeyValueStoreImportSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(KeyValueStoreImportSourceOutput) +} + +func (i KeyValueStoreImportSourceArgs) ToOutput(ctx context.Context) pulumix.Output[KeyValueStoreImportSource] { + return pulumix.Output[KeyValueStoreImportSource]{ + OutputState: i.ToKeyValueStoreImportSourceOutputWithContext(ctx).OutputState, + } +} + +func (i KeyValueStoreImportSourceArgs) ToKeyValueStoreImportSourcePtrOutput() KeyValueStoreImportSourcePtrOutput { + return i.ToKeyValueStoreImportSourcePtrOutputWithContext(context.Background()) +} + +func (i KeyValueStoreImportSourceArgs) ToKeyValueStoreImportSourcePtrOutputWithContext(ctx context.Context) KeyValueStoreImportSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KeyValueStoreImportSourceOutput).ToKeyValueStoreImportSourcePtrOutputWithContext(ctx) +} + +// KeyValueStoreImportSourcePtrInput is an input type that accepts KeyValueStoreImportSourceArgs, KeyValueStoreImportSourcePtr and KeyValueStoreImportSourcePtrOutput values. +// You can construct a concrete instance of `KeyValueStoreImportSourcePtrInput` via: +// +// KeyValueStoreImportSourceArgs{...} +// +// or: +// +// nil +type KeyValueStoreImportSourcePtrInput interface { + pulumi.Input + + ToKeyValueStoreImportSourcePtrOutput() KeyValueStoreImportSourcePtrOutput + ToKeyValueStoreImportSourcePtrOutputWithContext(context.Context) KeyValueStoreImportSourcePtrOutput +} + +type keyValueStoreImportSourcePtrType KeyValueStoreImportSourceArgs + +func KeyValueStoreImportSourcePtr(v *KeyValueStoreImportSourceArgs) KeyValueStoreImportSourcePtrInput { + return (*keyValueStoreImportSourcePtrType)(v) +} + +func (*keyValueStoreImportSourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**KeyValueStoreImportSource)(nil)).Elem() +} + +func (i *keyValueStoreImportSourcePtrType) ToKeyValueStoreImportSourcePtrOutput() KeyValueStoreImportSourcePtrOutput { + return i.ToKeyValueStoreImportSourcePtrOutputWithContext(context.Background()) +} + +func (i *keyValueStoreImportSourcePtrType) ToKeyValueStoreImportSourcePtrOutputWithContext(ctx context.Context) KeyValueStoreImportSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(KeyValueStoreImportSourcePtrOutput) +} + +func (i *keyValueStoreImportSourcePtrType) ToOutput(ctx context.Context) pulumix.Output[*KeyValueStoreImportSource] { + return pulumix.Output[*KeyValueStoreImportSource]{ + OutputState: i.ToKeyValueStoreImportSourcePtrOutputWithContext(ctx).OutputState, + } +} + +type KeyValueStoreImportSourceOutput struct{ *pulumi.OutputState } + +func (KeyValueStoreImportSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*KeyValueStoreImportSource)(nil)).Elem() +} + +func (o KeyValueStoreImportSourceOutput) ToKeyValueStoreImportSourceOutput() KeyValueStoreImportSourceOutput { + return o +} + +func (o KeyValueStoreImportSourceOutput) ToKeyValueStoreImportSourceOutputWithContext(ctx context.Context) KeyValueStoreImportSourceOutput { + return o +} + +func (o KeyValueStoreImportSourceOutput) ToKeyValueStoreImportSourcePtrOutput() KeyValueStoreImportSourcePtrOutput { + return o.ToKeyValueStoreImportSourcePtrOutputWithContext(context.Background()) +} + +func (o KeyValueStoreImportSourceOutput) ToKeyValueStoreImportSourcePtrOutputWithContext(ctx context.Context) KeyValueStoreImportSourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v KeyValueStoreImportSource) *KeyValueStoreImportSource { + return &v + }).(KeyValueStoreImportSourcePtrOutput) +} + +func (o KeyValueStoreImportSourceOutput) ToOutput(ctx context.Context) pulumix.Output[KeyValueStoreImportSource] { + return pulumix.Output[KeyValueStoreImportSource]{ + OutputState: o.OutputState, + } +} + +func (o KeyValueStoreImportSourceOutput) SourceArn() pulumi.StringOutput { + return o.ApplyT(func(v KeyValueStoreImportSource) string { return v.SourceArn }).(pulumi.StringOutput) +} + +func (o KeyValueStoreImportSourceOutput) SourceType() pulumi.StringOutput { + return o.ApplyT(func(v KeyValueStoreImportSource) string { return v.SourceType }).(pulumi.StringOutput) +} + +type KeyValueStoreImportSourcePtrOutput struct{ *pulumi.OutputState } + +func (KeyValueStoreImportSourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**KeyValueStoreImportSource)(nil)).Elem() +} + +func (o KeyValueStoreImportSourcePtrOutput) ToKeyValueStoreImportSourcePtrOutput() KeyValueStoreImportSourcePtrOutput { + return o +} + +func (o KeyValueStoreImportSourcePtrOutput) ToKeyValueStoreImportSourcePtrOutputWithContext(ctx context.Context) KeyValueStoreImportSourcePtrOutput { + return o +} + +func (o KeyValueStoreImportSourcePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*KeyValueStoreImportSource] { + return pulumix.Output[*KeyValueStoreImportSource]{ + OutputState: o.OutputState, + } +} + +func (o KeyValueStoreImportSourcePtrOutput) Elem() KeyValueStoreImportSourceOutput { + return o.ApplyT(func(v *KeyValueStoreImportSource) KeyValueStoreImportSource { + if v != nil { + return *v + } + var ret KeyValueStoreImportSource + return ret + }).(KeyValueStoreImportSourceOutput) +} + +func (o KeyValueStoreImportSourcePtrOutput) SourceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KeyValueStoreImportSource) *string { + if v == nil { + return nil + } + return &v.SourceArn + }).(pulumi.StringPtrOutput) +} + +func (o KeyValueStoreImportSourcePtrOutput) SourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *KeyValueStoreImportSource) *string { + if v == nil { + return nil + } + return &v.SourceType + }).(pulumi.StringPtrOutput) +} + type MonitoringSubscriptionType struct { RealtimeMetricsSubscriptionConfig *MonitoringSubscriptionRealtimeMetricsSubscriptionConfig `pulumi:"realtimeMetricsSubscriptionConfig"` } @@ -12132,6 +12304,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FunctionMetadataInput)(nil)).Elem(), FunctionMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FunctionMetadataPtrInput)(nil)).Elem(), FunctionMetadataArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*KeyGroupConfigInput)(nil)).Elem(), KeyGroupConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KeyValueStoreImportSourceInput)(nil)).Elem(), KeyValueStoreImportSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*KeyValueStoreImportSourcePtrInput)(nil)).Elem(), KeyValueStoreImportSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringSubscriptionTypeInput)(nil)).Elem(), MonitoringSubscriptionTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringSubscriptionRealtimeMetricsSubscriptionConfigInput)(nil)).Elem(), MonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MonitoringSubscriptionRealtimeMetricsSubscriptionConfigPtrInput)(nil)).Elem(), MonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs{}) @@ -12267,6 +12441,8 @@ func init() { pulumi.RegisterOutputType(FunctionMetadataPtrOutput{}) pulumi.RegisterOutputType(KeyGroupConfigOutput{}) pulumi.RegisterOutputType(KeyGroupConfigPtrOutput{}) + pulumi.RegisterOutputType(KeyValueStoreImportSourceOutput{}) + pulumi.RegisterOutputType(KeyValueStoreImportSourcePtrOutput{}) pulumi.RegisterOutputType(MonitoringSubscriptionTypeOutput{}) pulumi.RegisterOutputType(MonitoringSubscriptionTypePtrOutput{}) pulumi.RegisterOutputType(MonitoringSubscriptionRealtimeMetricsSubscriptionConfigOutput{}) diff --git a/sdk/go/aws/cloudtrail/eventDataStore.go b/sdk/go/aws/cloudtrail/eventDataStore.go index 2a5d7f1ec5..4d182cdaed 100644 --- a/sdk/go/aws/cloudtrail/eventDataStore.go +++ b/sdk/go/aws/cloudtrail/eventDataStore.go @@ -24,6 +24,10 @@ type EventDataStore struct { CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"` // The ARN of the event data store. EventDataStoreArn pulumi.StringOutput `pulumi:"eventDataStoreArn"` + // Indicates whether federation is enabled on an event data store. + FederationEnabled pulumi.BoolPtrOutput `pulumi:"federationEnabled"` + // The ARN of the role used for event data store federation. + FederationRoleArn pulumi.StringPtrOutput `pulumi:"federationRoleArn"` // Indicates whether the event data store is ingesting events. IngestionEnabled pulumi.BoolPtrOutput `pulumi:"ingestionEnabled"` // 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. @@ -93,6 +97,10 @@ type eventDataStoreArgs struct { AdvancedEventSelectors []EventDataStoreAdvancedEventSelector `pulumi:"advancedEventSelectors"` // The mode that the event data store will use to charge for event storage. BillingMode *string `pulumi:"billingMode"` + // Indicates whether federation is enabled on an event data store. + FederationEnabled *bool `pulumi:"federationEnabled"` + // The ARN of the role used for event data store federation. + FederationRoleArn *string `pulumi:"federationRoleArn"` // Indicates whether the event data store is ingesting events. IngestionEnabled *bool `pulumi:"ingestionEnabled"` // 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. @@ -120,6 +128,10 @@ type EventDataStoreArgs struct { AdvancedEventSelectors EventDataStoreAdvancedEventSelectorArrayInput // The mode that the event data store will use to charge for event storage. BillingMode pulumi.StringPtrInput + // Indicates whether federation is enabled on an event data store. + FederationEnabled pulumi.BoolPtrInput + // The ARN of the role used for event data store federation. + FederationRoleArn pulumi.StringPtrInput // Indicates whether the event data store is ingesting events. IngestionEnabled pulumi.BoolPtrInput // 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. @@ -212,6 +224,16 @@ func (o EventDataStoreOutput) EventDataStoreArn() pulumi.StringOutput { return o.ApplyT(func(v *EventDataStore) pulumi.StringOutput { return v.EventDataStoreArn }).(pulumi.StringOutput) } +// Indicates whether federation is enabled on an event data store. +func (o EventDataStoreOutput) FederationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *EventDataStore) pulumi.BoolPtrOutput { return v.FederationEnabled }).(pulumi.BoolPtrOutput) +} + +// The ARN of the role used for event data store federation. +func (o EventDataStoreOutput) FederationRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EventDataStore) pulumi.StringPtrOutput { return v.FederationRoleArn }).(pulumi.StringPtrOutput) +} + // Indicates whether the event data store is ingesting events. func (o EventDataStoreOutput) IngestionEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *EventDataStore) pulumi.BoolPtrOutput { return v.IngestionEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/aws/cloudtrail/getEventDataStore.go b/sdk/go/aws/cloudtrail/getEventDataStore.go index 2e051feb6c..0eea3524a1 100644 --- a/sdk/go/aws/cloudtrail/getEventDataStore.go +++ b/sdk/go/aws/cloudtrail/getEventDataStore.go @@ -37,6 +37,10 @@ type LookupEventDataStoreResult struct { CreatedTimestamp *string `pulumi:"createdTimestamp"` // The ARN of the event data store. EventDataStoreArn *string `pulumi:"eventDataStoreArn"` + // Indicates whether federation is enabled on an event data store. + FederationEnabled *bool `pulumi:"federationEnabled"` + // The ARN of the role used for event data store federation. + FederationRoleArn *string `pulumi:"federationRoleArn"` // Indicates whether the event data store is ingesting events. IngestionEnabled *bool `pulumi:"ingestionEnabled"` // 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. @@ -126,6 +130,16 @@ func (o LookupEventDataStoreResultOutput) EventDataStoreArn() pulumi.StringPtrOu return o.ApplyT(func(v LookupEventDataStoreResult) *string { return v.EventDataStoreArn }).(pulumi.StringPtrOutput) } +// Indicates whether federation is enabled on an event data store. +func (o LookupEventDataStoreResultOutput) FederationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupEventDataStoreResult) *bool { return v.FederationEnabled }).(pulumi.BoolPtrOutput) +} + +// The ARN of the role used for event data store federation. +func (o LookupEventDataStoreResultOutput) FederationRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupEventDataStoreResult) *string { return v.FederationRoleArn }).(pulumi.StringPtrOutput) +} + // Indicates whether the event data store is ingesting events. func (o LookupEventDataStoreResultOutput) IngestionEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupEventDataStoreResult) *bool { return v.IngestionEnabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/aws/codedeploy/deploymentConfig.go b/sdk/go/aws/codedeploy/deploymentConfig.go index a2e4a622c7..b4ebbcdb8f 100644 --- a/sdk/go/aws/codedeploy/deploymentConfig.go +++ b/sdk/go/aws/codedeploy/deploymentConfig.go @@ -24,6 +24,8 @@ type DeploymentConfig struct { MinimumHealthyHosts DeploymentConfigMinimumHealthyHostsPtrOutput `pulumi:"minimumHealthyHosts"` // The configuration that specifies how the deployment traffic is routed. TrafficRoutingConfig DeploymentConfigTrafficRoutingConfigPtrOutput `pulumi:"trafficRoutingConfig"` + // The zonal deployment config that specifies how the zonal deployment behaves + ZonalConfig DeploymentConfigZonalConfigPtrOutput `pulumi:"zonalConfig"` } // NewDeploymentConfig registers a new resource with the given unique name, arguments, and options. @@ -38,6 +40,7 @@ func NewDeploymentConfig(ctx *pulumi.Context, "deploymentConfigName", "minimumHealthyHosts", "trafficRoutingConfig", + "zonalConfig", }) opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) @@ -81,6 +84,8 @@ type deploymentConfigArgs struct { MinimumHealthyHosts *DeploymentConfigMinimumHealthyHosts `pulumi:"minimumHealthyHosts"` // The configuration that specifies how the deployment traffic is routed. TrafficRoutingConfig *DeploymentConfigTrafficRoutingConfig `pulumi:"trafficRoutingConfig"` + // The zonal deployment config that specifies how the zonal deployment behaves + ZonalConfig *DeploymentConfigZonalConfig `pulumi:"zonalConfig"` } // The set of arguments for constructing a DeploymentConfig resource. @@ -93,6 +98,8 @@ type DeploymentConfigArgs struct { MinimumHealthyHosts DeploymentConfigMinimumHealthyHostsPtrInput // The configuration that specifies how the deployment traffic is routed. TrafficRoutingConfig DeploymentConfigTrafficRoutingConfigPtrInput + // The zonal deployment config that specifies how the zonal deployment behaves + ZonalConfig DeploymentConfigZonalConfigPtrInput } func (DeploymentConfigArgs) ElementType() reflect.Type { @@ -164,6 +171,11 @@ func (o DeploymentConfigOutput) TrafficRoutingConfig() DeploymentConfigTrafficRo return o.ApplyT(func(v *DeploymentConfig) DeploymentConfigTrafficRoutingConfigPtrOutput { return v.TrafficRoutingConfig }).(DeploymentConfigTrafficRoutingConfigPtrOutput) } +// The zonal deployment config that specifies how the zonal deployment behaves +func (o DeploymentConfigOutput) ZonalConfig() DeploymentConfigZonalConfigPtrOutput { + return o.ApplyT(func(v *DeploymentConfig) DeploymentConfigZonalConfigPtrOutput { return v.ZonalConfig }).(DeploymentConfigZonalConfigPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigInput)(nil)).Elem(), &DeploymentConfig{}) pulumi.RegisterOutputType(DeploymentConfigOutput{}) diff --git a/sdk/go/aws/codedeploy/pulumiTypes.go b/sdk/go/aws/codedeploy/pulumiTypes.go index 58f4ff326c..d870ee2cf0 100644 --- a/sdk/go/aws/codedeploy/pulumiTypes.go +++ b/sdk/go/aws/codedeploy/pulumiTypes.go @@ -310,6 +310,178 @@ func (o DeploymentConfigMinimumHealthyHostsPtrOutput) Value() pulumi.IntPtrOutpu }).(pulumi.IntPtrOutput) } +type DeploymentConfigMinimumHealthyHostsPerZone struct { + Type string `pulumi:"type"` + Value int `pulumi:"value"` +} + +// DeploymentConfigMinimumHealthyHostsPerZoneInput is an input type that accepts DeploymentConfigMinimumHealthyHostsPerZoneArgs and DeploymentConfigMinimumHealthyHostsPerZoneOutput values. +// You can construct a concrete instance of `DeploymentConfigMinimumHealthyHostsPerZoneInput` via: +// +// DeploymentConfigMinimumHealthyHostsPerZoneArgs{...} +type DeploymentConfigMinimumHealthyHostsPerZoneInput interface { + pulumi.Input + + ToDeploymentConfigMinimumHealthyHostsPerZoneOutput() DeploymentConfigMinimumHealthyHostsPerZoneOutput + ToDeploymentConfigMinimumHealthyHostsPerZoneOutputWithContext(context.Context) DeploymentConfigMinimumHealthyHostsPerZoneOutput +} + +type DeploymentConfigMinimumHealthyHostsPerZoneArgs struct { + Type pulumi.StringInput `pulumi:"type"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (DeploymentConfigMinimumHealthyHostsPerZoneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsPerZone)(nil)).Elem() +} + +func (i DeploymentConfigMinimumHealthyHostsPerZoneArgs) ToDeploymentConfigMinimumHealthyHostsPerZoneOutput() DeploymentConfigMinimumHealthyHostsPerZoneOutput { + return i.ToDeploymentConfigMinimumHealthyHostsPerZoneOutputWithContext(context.Background()) +} + +func (i DeploymentConfigMinimumHealthyHostsPerZoneArgs) ToDeploymentConfigMinimumHealthyHostsPerZoneOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZoneOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigMinimumHealthyHostsPerZoneOutput) +} + +func (i DeploymentConfigMinimumHealthyHostsPerZoneArgs) ToOutput(ctx context.Context) pulumix.Output[DeploymentConfigMinimumHealthyHostsPerZone] { + return pulumix.Output[DeploymentConfigMinimumHealthyHostsPerZone]{ + OutputState: i.ToDeploymentConfigMinimumHealthyHostsPerZoneOutputWithContext(ctx).OutputState, + } +} + +func (i DeploymentConfigMinimumHealthyHostsPerZoneArgs) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutput() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return i.ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(context.Background()) +} + +func (i DeploymentConfigMinimumHealthyHostsPerZoneArgs) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigMinimumHealthyHostsPerZoneOutput).ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx) +} + +// DeploymentConfigMinimumHealthyHostsPerZonePtrInput is an input type that accepts DeploymentConfigMinimumHealthyHostsPerZoneArgs, DeploymentConfigMinimumHealthyHostsPerZonePtr and DeploymentConfigMinimumHealthyHostsPerZonePtrOutput values. +// You can construct a concrete instance of `DeploymentConfigMinimumHealthyHostsPerZonePtrInput` via: +// +// DeploymentConfigMinimumHealthyHostsPerZoneArgs{...} +// +// or: +// +// nil +type DeploymentConfigMinimumHealthyHostsPerZonePtrInput interface { + pulumi.Input + + ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutput() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput + ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(context.Context) DeploymentConfigMinimumHealthyHostsPerZonePtrOutput +} + +type deploymentConfigMinimumHealthyHostsPerZonePtrType DeploymentConfigMinimumHealthyHostsPerZoneArgs + +func DeploymentConfigMinimumHealthyHostsPerZonePtr(v *DeploymentConfigMinimumHealthyHostsPerZoneArgs) DeploymentConfigMinimumHealthyHostsPerZonePtrInput { + return (*deploymentConfigMinimumHealthyHostsPerZonePtrType)(v) +} + +func (*deploymentConfigMinimumHealthyHostsPerZonePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentConfigMinimumHealthyHostsPerZone)(nil)).Elem() +} + +func (i *deploymentConfigMinimumHealthyHostsPerZonePtrType) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutput() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return i.ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(context.Background()) +} + +func (i *deploymentConfigMinimumHealthyHostsPerZonePtrType) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) +} + +func (i *deploymentConfigMinimumHealthyHostsPerZonePtrType) ToOutput(ctx context.Context) pulumix.Output[*DeploymentConfigMinimumHealthyHostsPerZone] { + return pulumix.Output[*DeploymentConfigMinimumHealthyHostsPerZone]{ + OutputState: i.ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx).OutputState, + } +} + +type DeploymentConfigMinimumHealthyHostsPerZoneOutput struct{ *pulumi.OutputState } + +func (DeploymentConfigMinimumHealthyHostsPerZoneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsPerZone)(nil)).Elem() +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) ToDeploymentConfigMinimumHealthyHostsPerZoneOutput() DeploymentConfigMinimumHealthyHostsPerZoneOutput { + return o +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) ToDeploymentConfigMinimumHealthyHostsPerZoneOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZoneOutput { + return o +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutput() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o.ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(context.Background()) +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentConfigMinimumHealthyHostsPerZone) *DeploymentConfigMinimumHealthyHostsPerZone { + return &v + }).(DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) ToOutput(ctx context.Context) pulumix.Output[DeploymentConfigMinimumHealthyHostsPerZone] { + return pulumix.Output[DeploymentConfigMinimumHealthyHostsPerZone]{ + OutputState: o.OutputState, + } +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v DeploymentConfigMinimumHealthyHostsPerZone) string { return v.Type }).(pulumi.StringOutput) +} + +func (o DeploymentConfigMinimumHealthyHostsPerZoneOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v DeploymentConfigMinimumHealthyHostsPerZone) int { return v.Value }).(pulumi.IntOutput) +} + +type DeploymentConfigMinimumHealthyHostsPerZonePtrOutput struct{ *pulumi.OutputState } + +func (DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentConfigMinimumHealthyHostsPerZone)(nil)).Elem() +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutput() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) ToDeploymentConfigMinimumHealthyHostsPerZonePtrOutputWithContext(ctx context.Context) DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DeploymentConfigMinimumHealthyHostsPerZone] { + return pulumix.Output[*DeploymentConfigMinimumHealthyHostsPerZone]{ + OutputState: o.OutputState, + } +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) Elem() DeploymentConfigMinimumHealthyHostsPerZoneOutput { + return o.ApplyT(func(v *DeploymentConfigMinimumHealthyHostsPerZone) DeploymentConfigMinimumHealthyHostsPerZone { + if v != nil { + return *v + } + var ret DeploymentConfigMinimumHealthyHostsPerZone + return ret + }).(DeploymentConfigMinimumHealthyHostsPerZoneOutput) +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DeploymentConfigMinimumHealthyHostsPerZone) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +func (o DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentConfigMinimumHealthyHostsPerZone) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + type DeploymentConfigTimeBasedCanary struct { CanaryInterval int `pulumi:"canaryInterval"` CanaryPercentage int `pulumi:"canaryPercentage"` @@ -845,6 +1017,195 @@ func (o DeploymentConfigTrafficRoutingConfigPtrOutput) Type() pulumi.StringPtrOu }).(pulumi.StringPtrOutput) } +type DeploymentConfigZonalConfig struct { + FirstZoneMonitorDurationInSeconds *int `pulumi:"firstZoneMonitorDurationInSeconds"` + MinimumHealthyHostsPerZone *DeploymentConfigMinimumHealthyHostsPerZone `pulumi:"minimumHealthyHostsPerZone"` + MonitorDurationInSeconds *int `pulumi:"monitorDurationInSeconds"` +} + +// DeploymentConfigZonalConfigInput is an input type that accepts DeploymentConfigZonalConfigArgs and DeploymentConfigZonalConfigOutput values. +// You can construct a concrete instance of `DeploymentConfigZonalConfigInput` via: +// +// DeploymentConfigZonalConfigArgs{...} +type DeploymentConfigZonalConfigInput interface { + pulumi.Input + + ToDeploymentConfigZonalConfigOutput() DeploymentConfigZonalConfigOutput + ToDeploymentConfigZonalConfigOutputWithContext(context.Context) DeploymentConfigZonalConfigOutput +} + +type DeploymentConfigZonalConfigArgs struct { + FirstZoneMonitorDurationInSeconds pulumi.IntPtrInput `pulumi:"firstZoneMonitorDurationInSeconds"` + MinimumHealthyHostsPerZone DeploymentConfigMinimumHealthyHostsPerZonePtrInput `pulumi:"minimumHealthyHostsPerZone"` + MonitorDurationInSeconds pulumi.IntPtrInput `pulumi:"monitorDurationInSeconds"` +} + +func (DeploymentConfigZonalConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentConfigZonalConfig)(nil)).Elem() +} + +func (i DeploymentConfigZonalConfigArgs) ToDeploymentConfigZonalConfigOutput() DeploymentConfigZonalConfigOutput { + return i.ToDeploymentConfigZonalConfigOutputWithContext(context.Background()) +} + +func (i DeploymentConfigZonalConfigArgs) ToDeploymentConfigZonalConfigOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigZonalConfigOutput) +} + +func (i DeploymentConfigZonalConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DeploymentConfigZonalConfig] { + return pulumix.Output[DeploymentConfigZonalConfig]{ + OutputState: i.ToDeploymentConfigZonalConfigOutputWithContext(ctx).OutputState, + } +} + +func (i DeploymentConfigZonalConfigArgs) ToDeploymentConfigZonalConfigPtrOutput() DeploymentConfigZonalConfigPtrOutput { + return i.ToDeploymentConfigZonalConfigPtrOutputWithContext(context.Background()) +} + +func (i DeploymentConfigZonalConfigArgs) ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigZonalConfigOutput).ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx) +} + +// DeploymentConfigZonalConfigPtrInput is an input type that accepts DeploymentConfigZonalConfigArgs, DeploymentConfigZonalConfigPtr and DeploymentConfigZonalConfigPtrOutput values. +// You can construct a concrete instance of `DeploymentConfigZonalConfigPtrInput` via: +// +// DeploymentConfigZonalConfigArgs{...} +// +// or: +// +// nil +type DeploymentConfigZonalConfigPtrInput interface { + pulumi.Input + + ToDeploymentConfigZonalConfigPtrOutput() DeploymentConfigZonalConfigPtrOutput + ToDeploymentConfigZonalConfigPtrOutputWithContext(context.Context) DeploymentConfigZonalConfigPtrOutput +} + +type deploymentConfigZonalConfigPtrType DeploymentConfigZonalConfigArgs + +func DeploymentConfigZonalConfigPtr(v *DeploymentConfigZonalConfigArgs) DeploymentConfigZonalConfigPtrInput { + return (*deploymentConfigZonalConfigPtrType)(v) +} + +func (*deploymentConfigZonalConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentConfigZonalConfig)(nil)).Elem() +} + +func (i *deploymentConfigZonalConfigPtrType) ToDeploymentConfigZonalConfigPtrOutput() DeploymentConfigZonalConfigPtrOutput { + return i.ToDeploymentConfigZonalConfigPtrOutputWithContext(context.Background()) +} + +func (i *deploymentConfigZonalConfigPtrType) ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DeploymentConfigZonalConfigPtrOutput) +} + +func (i *deploymentConfigZonalConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*DeploymentConfigZonalConfig] { + return pulumix.Output[*DeploymentConfigZonalConfig]{ + OutputState: i.ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type DeploymentConfigZonalConfigOutput struct{ *pulumi.OutputState } + +func (DeploymentConfigZonalConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DeploymentConfigZonalConfig)(nil)).Elem() +} + +func (o DeploymentConfigZonalConfigOutput) ToDeploymentConfigZonalConfigOutput() DeploymentConfigZonalConfigOutput { + return o +} + +func (o DeploymentConfigZonalConfigOutput) ToDeploymentConfigZonalConfigOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigOutput { + return o +} + +func (o DeploymentConfigZonalConfigOutput) ToDeploymentConfigZonalConfigPtrOutput() DeploymentConfigZonalConfigPtrOutput { + return o.ToDeploymentConfigZonalConfigPtrOutputWithContext(context.Background()) +} + +func (o DeploymentConfigZonalConfigOutput) ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DeploymentConfigZonalConfig) *DeploymentConfigZonalConfig { + return &v + }).(DeploymentConfigZonalConfigPtrOutput) +} + +func (o DeploymentConfigZonalConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DeploymentConfigZonalConfig] { + return pulumix.Output[DeploymentConfigZonalConfig]{ + OutputState: o.OutputState, + } +} + +func (o DeploymentConfigZonalConfigOutput) FirstZoneMonitorDurationInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentConfigZonalConfig) *int { return v.FirstZoneMonitorDurationInSeconds }).(pulumi.IntPtrOutput) +} + +func (o DeploymentConfigZonalConfigOutput) MinimumHealthyHostsPerZone() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o.ApplyT(func(v DeploymentConfigZonalConfig) *DeploymentConfigMinimumHealthyHostsPerZone { + return v.MinimumHealthyHostsPerZone + }).(DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) +} + +func (o DeploymentConfigZonalConfigOutput) MonitorDurationInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v DeploymentConfigZonalConfig) *int { return v.MonitorDurationInSeconds }).(pulumi.IntPtrOutput) +} + +type DeploymentConfigZonalConfigPtrOutput struct{ *pulumi.OutputState } + +func (DeploymentConfigZonalConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DeploymentConfigZonalConfig)(nil)).Elem() +} + +func (o DeploymentConfigZonalConfigPtrOutput) ToDeploymentConfigZonalConfigPtrOutput() DeploymentConfigZonalConfigPtrOutput { + return o +} + +func (o DeploymentConfigZonalConfigPtrOutput) ToDeploymentConfigZonalConfigPtrOutputWithContext(ctx context.Context) DeploymentConfigZonalConfigPtrOutput { + return o +} + +func (o DeploymentConfigZonalConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DeploymentConfigZonalConfig] { + return pulumix.Output[*DeploymentConfigZonalConfig]{ + OutputState: o.OutputState, + } +} + +func (o DeploymentConfigZonalConfigPtrOutput) Elem() DeploymentConfigZonalConfigOutput { + return o.ApplyT(func(v *DeploymentConfigZonalConfig) DeploymentConfigZonalConfig { + if v != nil { + return *v + } + var ret DeploymentConfigZonalConfig + return ret + }).(DeploymentConfigZonalConfigOutput) +} + +func (o DeploymentConfigZonalConfigPtrOutput) FirstZoneMonitorDurationInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentConfigZonalConfig) *int { + if v == nil { + return nil + } + return v.FirstZoneMonitorDurationInSeconds + }).(pulumi.IntPtrOutput) +} + +func (o DeploymentConfigZonalConfigPtrOutput) MinimumHealthyHostsPerZone() DeploymentConfigMinimumHealthyHostsPerZonePtrOutput { + return o.ApplyT(func(v *DeploymentConfigZonalConfig) *DeploymentConfigMinimumHealthyHostsPerZone { + if v == nil { + return nil + } + return v.MinimumHealthyHostsPerZone + }).(DeploymentConfigMinimumHealthyHostsPerZonePtrOutput) +} + +func (o DeploymentConfigZonalConfigPtrOutput) MonitorDurationInSeconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DeploymentConfigZonalConfig) *int { + if v == nil { + return nil + } + return v.MonitorDurationInSeconds + }).(pulumi.IntPtrOutput) +} + type DeploymentGroupAlarm struct { Name *string `pulumi:"name"` } @@ -4860,12 +5221,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ApplicationTagArrayInput)(nil)).Elem(), ApplicationTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsInput)(nil)).Elem(), DeploymentConfigMinimumHealthyHostsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsPtrInput)(nil)).Elem(), DeploymentConfigMinimumHealthyHostsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsPerZoneInput)(nil)).Elem(), DeploymentConfigMinimumHealthyHostsPerZoneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigMinimumHealthyHostsPerZonePtrInput)(nil)).Elem(), DeploymentConfigMinimumHealthyHostsPerZoneArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTimeBasedCanaryInput)(nil)).Elem(), DeploymentConfigTimeBasedCanaryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTimeBasedCanaryPtrInput)(nil)).Elem(), DeploymentConfigTimeBasedCanaryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTimeBasedLinearInput)(nil)).Elem(), DeploymentConfigTimeBasedLinearArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTimeBasedLinearPtrInput)(nil)).Elem(), DeploymentConfigTimeBasedLinearArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTrafficRoutingConfigInput)(nil)).Elem(), DeploymentConfigTrafficRoutingConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigTrafficRoutingConfigPtrInput)(nil)).Elem(), DeploymentConfigTrafficRoutingConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigZonalConfigInput)(nil)).Elem(), DeploymentConfigZonalConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DeploymentConfigZonalConfigPtrInput)(nil)).Elem(), DeploymentConfigZonalConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentGroupAlarmInput)(nil)).Elem(), DeploymentGroupAlarmArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentGroupAlarmArrayInput)(nil)).Elem(), DeploymentGroupAlarmArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DeploymentGroupAlarmConfigurationInput)(nil)).Elem(), DeploymentGroupAlarmConfigurationArgs{}) @@ -4922,12 +5287,16 @@ func init() { pulumi.RegisterOutputType(ApplicationTagArrayOutput{}) pulumi.RegisterOutputType(DeploymentConfigMinimumHealthyHostsOutput{}) pulumi.RegisterOutputType(DeploymentConfigMinimumHealthyHostsPtrOutput{}) + pulumi.RegisterOutputType(DeploymentConfigMinimumHealthyHostsPerZoneOutput{}) + pulumi.RegisterOutputType(DeploymentConfigMinimumHealthyHostsPerZonePtrOutput{}) pulumi.RegisterOutputType(DeploymentConfigTimeBasedCanaryOutput{}) pulumi.RegisterOutputType(DeploymentConfigTimeBasedCanaryPtrOutput{}) pulumi.RegisterOutputType(DeploymentConfigTimeBasedLinearOutput{}) pulumi.RegisterOutputType(DeploymentConfigTimeBasedLinearPtrOutput{}) pulumi.RegisterOutputType(DeploymentConfigTrafficRoutingConfigOutput{}) pulumi.RegisterOutputType(DeploymentConfigTrafficRoutingConfigPtrOutput{}) + pulumi.RegisterOutputType(DeploymentConfigZonalConfigOutput{}) + pulumi.RegisterOutputType(DeploymentConfigZonalConfigPtrOutput{}) pulumi.RegisterOutputType(DeploymentGroupAlarmOutput{}) pulumi.RegisterOutputType(DeploymentGroupAlarmArrayOutput{}) pulumi.RegisterOutputType(DeploymentGroupAlarmConfigurationOutput{}) diff --git a/sdk/go/aws/codepipeline/getPipeline.go b/sdk/go/aws/codepipeline/getPipeline.go index ff4e16c1b2..ee206532fe 100644 --- a/sdk/go/aws/codepipeline/getPipeline.go +++ b/sdk/go/aws/codepipeline/getPipeline.go @@ -28,15 +28,18 @@ type LookupPipelineArgs struct { } type LookupPipelineResult struct { - ArtifactStore *PipelineArtifactStore `pulumi:"artifactStore"` - ArtifactStores []PipelineArtifactStoreMap `pulumi:"artifactStores"` - DisableInboundStageTransitions []PipelineStageTransition `pulumi:"disableInboundStageTransitions"` - Id *string `pulumi:"id"` - RestartExecutionOnUpdate *bool `pulumi:"restartExecutionOnUpdate"` - RoleArn *string `pulumi:"roleArn"` - Stages []PipelineStageDeclaration `pulumi:"stages"` - Tags []PipelineTag `pulumi:"tags"` - Version *string `pulumi:"version"` + ArtifactStore *PipelineArtifactStore `pulumi:"artifactStore"` + ArtifactStores []PipelineArtifactStoreMap `pulumi:"artifactStores"` + DisableInboundStageTransitions []PipelineStageTransition `pulumi:"disableInboundStageTransitions"` + Id *string `pulumi:"id"` + PipelineType *string `pulumi:"pipelineType"` + RestartExecutionOnUpdate *bool `pulumi:"restartExecutionOnUpdate"` + RoleArn *string `pulumi:"roleArn"` + Stages []PipelineStageDeclaration `pulumi:"stages"` + Tags []PipelineTag `pulumi:"tags"` + Triggers []PipelineTriggerDeclaration `pulumi:"triggers"` + Variables []PipelineVariableDeclaration `pulumi:"variables"` + Version *string `pulumi:"version"` } func LookupPipelineOutput(ctx *pulumi.Context, args LookupPipelineOutputArgs, opts ...pulumi.InvokeOption) LookupPipelineResultOutput { @@ -96,6 +99,10 @@ func (o LookupPipelineResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPipelineResult) *string { return v.Id }).(pulumi.StringPtrOutput) } +func (o LookupPipelineResultOutput) PipelineType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPipelineResult) *string { return v.PipelineType }).(pulumi.StringPtrOutput) +} + func (o LookupPipelineResultOutput) RestartExecutionOnUpdate() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupPipelineResult) *bool { return v.RestartExecutionOnUpdate }).(pulumi.BoolPtrOutput) } @@ -112,6 +119,14 @@ func (o LookupPipelineResultOutput) Tags() PipelineTagArrayOutput { return o.ApplyT(func(v LookupPipelineResult) []PipelineTag { return v.Tags }).(PipelineTagArrayOutput) } +func (o LookupPipelineResultOutput) Triggers() PipelineTriggerDeclarationArrayOutput { + return o.ApplyT(func(v LookupPipelineResult) []PipelineTriggerDeclaration { return v.Triggers }).(PipelineTriggerDeclarationArrayOutput) +} + +func (o LookupPipelineResultOutput) Variables() PipelineVariableDeclarationArrayOutput { + return o.ApplyT(func(v LookupPipelineResult) []PipelineVariableDeclaration { return v.Variables }).(PipelineVariableDeclarationArrayOutput) +} + func (o LookupPipelineResultOutput) Version() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupPipelineResult) *string { return v.Version }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/codepipeline/pipeline.go b/sdk/go/aws/codepipeline/pipeline.go index 100a8ed446..17f3b25fb2 100644 --- a/sdk/go/aws/codepipeline/pipeline.go +++ b/sdk/go/aws/codepipeline/pipeline.go @@ -19,15 +19,18 @@ import ( type Pipeline struct { pulumi.CustomResourceState - ArtifactStore PipelineArtifactStorePtrOutput `pulumi:"artifactStore"` - ArtifactStores PipelineArtifactStoreMapArrayOutput `pulumi:"artifactStores"` - DisableInboundStageTransitions PipelineStageTransitionArrayOutput `pulumi:"disableInboundStageTransitions"` - Name pulumi.StringPtrOutput `pulumi:"name"` - RestartExecutionOnUpdate pulumi.BoolPtrOutput `pulumi:"restartExecutionOnUpdate"` - RoleArn pulumi.StringOutput `pulumi:"roleArn"` - Stages PipelineStageDeclarationArrayOutput `pulumi:"stages"` - Tags PipelineTagArrayOutput `pulumi:"tags"` - Version pulumi.StringOutput `pulumi:"version"` + ArtifactStore PipelineArtifactStorePtrOutput `pulumi:"artifactStore"` + ArtifactStores PipelineArtifactStoreMapArrayOutput `pulumi:"artifactStores"` + DisableInboundStageTransitions PipelineStageTransitionArrayOutput `pulumi:"disableInboundStageTransitions"` + Name pulumi.StringPtrOutput `pulumi:"name"` + PipelineType pulumi.StringPtrOutput `pulumi:"pipelineType"` + RestartExecutionOnUpdate pulumi.BoolPtrOutput `pulumi:"restartExecutionOnUpdate"` + RoleArn pulumi.StringOutput `pulumi:"roleArn"` + Stages PipelineStageDeclarationArrayOutput `pulumi:"stages"` + Tags PipelineTagArrayOutput `pulumi:"tags"` + Triggers PipelineTriggerDeclarationArrayOutput `pulumi:"triggers"` + Variables PipelineVariableDeclarationArrayOutput `pulumi:"variables"` + Version pulumi.StringOutput `pulumi:"version"` } // NewPipeline registers a new resource with the given unique name, arguments, and options. @@ -80,14 +83,17 @@ func (PipelineState) ElementType() reflect.Type { } type pipelineArgs struct { - ArtifactStore *PipelineArtifactStore `pulumi:"artifactStore"` - ArtifactStores []PipelineArtifactStoreMap `pulumi:"artifactStores"` - DisableInboundStageTransitions []PipelineStageTransition `pulumi:"disableInboundStageTransitions"` - Name *string `pulumi:"name"` - RestartExecutionOnUpdate *bool `pulumi:"restartExecutionOnUpdate"` - RoleArn string `pulumi:"roleArn"` - Stages []PipelineStageDeclaration `pulumi:"stages"` - Tags []PipelineTag `pulumi:"tags"` + ArtifactStore *PipelineArtifactStore `pulumi:"artifactStore"` + ArtifactStores []PipelineArtifactStoreMap `pulumi:"artifactStores"` + DisableInboundStageTransitions []PipelineStageTransition `pulumi:"disableInboundStageTransitions"` + Name *string `pulumi:"name"` + PipelineType *string `pulumi:"pipelineType"` + RestartExecutionOnUpdate *bool `pulumi:"restartExecutionOnUpdate"` + RoleArn string `pulumi:"roleArn"` + Stages []PipelineStageDeclaration `pulumi:"stages"` + Tags []PipelineTag `pulumi:"tags"` + Triggers []PipelineTriggerDeclaration `pulumi:"triggers"` + Variables []PipelineVariableDeclaration `pulumi:"variables"` } // The set of arguments for constructing a Pipeline resource. @@ -96,10 +102,13 @@ type PipelineArgs struct { ArtifactStores PipelineArtifactStoreMapArrayInput DisableInboundStageTransitions PipelineStageTransitionArrayInput Name pulumi.StringPtrInput + PipelineType pulumi.StringPtrInput RestartExecutionOnUpdate pulumi.BoolPtrInput RoleArn pulumi.StringInput Stages PipelineStageDeclarationArrayInput Tags PipelineTagArrayInput + Triggers PipelineTriggerDeclarationArrayInput + Variables PipelineVariableDeclarationArrayInput } func (PipelineArgs) ElementType() reflect.Type { @@ -167,6 +176,10 @@ func (o PipelineOutput) Name() pulumi.StringPtrOutput { return o.ApplyT(func(v *Pipeline) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) } +func (o PipelineOutput) PipelineType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Pipeline) pulumi.StringPtrOutput { return v.PipelineType }).(pulumi.StringPtrOutput) +} + func (o PipelineOutput) RestartExecutionOnUpdate() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Pipeline) pulumi.BoolPtrOutput { return v.RestartExecutionOnUpdate }).(pulumi.BoolPtrOutput) } @@ -183,6 +196,14 @@ func (o PipelineOutput) Tags() PipelineTagArrayOutput { return o.ApplyT(func(v *Pipeline) PipelineTagArrayOutput { return v.Tags }).(PipelineTagArrayOutput) } +func (o PipelineOutput) Triggers() PipelineTriggerDeclarationArrayOutput { + return o.ApplyT(func(v *Pipeline) PipelineTriggerDeclarationArrayOutput { return v.Triggers }).(PipelineTriggerDeclarationArrayOutput) +} + +func (o PipelineOutput) Variables() PipelineVariableDeclarationArrayOutput { + return o.ApplyT(func(v *Pipeline) PipelineVariableDeclarationArrayOutput { return v.Variables }).(PipelineVariableDeclarationArrayOutput) +} + func (o PipelineOutput) Version() pulumi.StringOutput { return o.ApplyT(func(v *Pipeline) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/codepipeline/pulumiTypes.go b/sdk/go/aws/codepipeline/pulumiTypes.go index be9408aa4a..a8bc100668 100644 --- a/sdk/go/aws/codepipeline/pulumiTypes.go +++ b/sdk/go/aws/codepipeline/pulumiTypes.go @@ -1465,6 +1465,468 @@ func (o PipelineEncryptionKeyPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type PipelineGitConfiguration struct { + Push []PipelineGitPushFilter `pulumi:"push"` + SourceActionName string `pulumi:"sourceActionName"` +} + +// PipelineGitConfigurationInput is an input type that accepts PipelineGitConfigurationArgs and PipelineGitConfigurationOutput values. +// You can construct a concrete instance of `PipelineGitConfigurationInput` via: +// +// PipelineGitConfigurationArgs{...} +type PipelineGitConfigurationInput interface { + pulumi.Input + + ToPipelineGitConfigurationOutput() PipelineGitConfigurationOutput + ToPipelineGitConfigurationOutputWithContext(context.Context) PipelineGitConfigurationOutput +} + +type PipelineGitConfigurationArgs struct { + Push PipelineGitPushFilterArrayInput `pulumi:"push"` + SourceActionName pulumi.StringInput `pulumi:"sourceActionName"` +} + +func (PipelineGitConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitConfiguration)(nil)).Elem() +} + +func (i PipelineGitConfigurationArgs) ToPipelineGitConfigurationOutput() PipelineGitConfigurationOutput { + return i.ToPipelineGitConfigurationOutputWithContext(context.Background()) +} + +func (i PipelineGitConfigurationArgs) ToPipelineGitConfigurationOutputWithContext(ctx context.Context) PipelineGitConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitConfigurationOutput) +} + +func (i PipelineGitConfigurationArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineGitConfiguration] { + return pulumix.Output[PipelineGitConfiguration]{ + OutputState: i.ToPipelineGitConfigurationOutputWithContext(ctx).OutputState, + } +} + +func (i PipelineGitConfigurationArgs) ToPipelineGitConfigurationPtrOutput() PipelineGitConfigurationPtrOutput { + return i.ToPipelineGitConfigurationPtrOutputWithContext(context.Background()) +} + +func (i PipelineGitConfigurationArgs) ToPipelineGitConfigurationPtrOutputWithContext(ctx context.Context) PipelineGitConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitConfigurationOutput).ToPipelineGitConfigurationPtrOutputWithContext(ctx) +} + +// PipelineGitConfigurationPtrInput is an input type that accepts PipelineGitConfigurationArgs, PipelineGitConfigurationPtr and PipelineGitConfigurationPtrOutput values. +// You can construct a concrete instance of `PipelineGitConfigurationPtrInput` via: +// +// PipelineGitConfigurationArgs{...} +// +// or: +// +// nil +type PipelineGitConfigurationPtrInput interface { + pulumi.Input + + ToPipelineGitConfigurationPtrOutput() PipelineGitConfigurationPtrOutput + ToPipelineGitConfigurationPtrOutputWithContext(context.Context) PipelineGitConfigurationPtrOutput +} + +type pipelineGitConfigurationPtrType PipelineGitConfigurationArgs + +func PipelineGitConfigurationPtr(v *PipelineGitConfigurationArgs) PipelineGitConfigurationPtrInput { + return (*pipelineGitConfigurationPtrType)(v) +} + +func (*pipelineGitConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineGitConfiguration)(nil)).Elem() +} + +func (i *pipelineGitConfigurationPtrType) ToPipelineGitConfigurationPtrOutput() PipelineGitConfigurationPtrOutput { + return i.ToPipelineGitConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *pipelineGitConfigurationPtrType) ToPipelineGitConfigurationPtrOutputWithContext(ctx context.Context) PipelineGitConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitConfigurationPtrOutput) +} + +func (i *pipelineGitConfigurationPtrType) ToOutput(ctx context.Context) pulumix.Output[*PipelineGitConfiguration] { + return pulumix.Output[*PipelineGitConfiguration]{ + OutputState: i.ToPipelineGitConfigurationPtrOutputWithContext(ctx).OutputState, + } +} + +type PipelineGitConfigurationOutput struct{ *pulumi.OutputState } + +func (PipelineGitConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitConfiguration)(nil)).Elem() +} + +func (o PipelineGitConfigurationOutput) ToPipelineGitConfigurationOutput() PipelineGitConfigurationOutput { + return o +} + +func (o PipelineGitConfigurationOutput) ToPipelineGitConfigurationOutputWithContext(ctx context.Context) PipelineGitConfigurationOutput { + return o +} + +func (o PipelineGitConfigurationOutput) ToPipelineGitConfigurationPtrOutput() PipelineGitConfigurationPtrOutput { + return o.ToPipelineGitConfigurationPtrOutputWithContext(context.Background()) +} + +func (o PipelineGitConfigurationOutput) ToPipelineGitConfigurationPtrOutputWithContext(ctx context.Context) PipelineGitConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PipelineGitConfiguration) *PipelineGitConfiguration { + return &v + }).(PipelineGitConfigurationPtrOutput) +} + +func (o PipelineGitConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineGitConfiguration] { + return pulumix.Output[PipelineGitConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitConfigurationOutput) Push() PipelineGitPushFilterArrayOutput { + return o.ApplyT(func(v PipelineGitConfiguration) []PipelineGitPushFilter { return v.Push }).(PipelineGitPushFilterArrayOutput) +} + +func (o PipelineGitConfigurationOutput) SourceActionName() pulumi.StringOutput { + return o.ApplyT(func(v PipelineGitConfiguration) string { return v.SourceActionName }).(pulumi.StringOutput) +} + +type PipelineGitConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (PipelineGitConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineGitConfiguration)(nil)).Elem() +} + +func (o PipelineGitConfigurationPtrOutput) ToPipelineGitConfigurationPtrOutput() PipelineGitConfigurationPtrOutput { + return o +} + +func (o PipelineGitConfigurationPtrOutput) ToPipelineGitConfigurationPtrOutputWithContext(ctx context.Context) PipelineGitConfigurationPtrOutput { + return o +} + +func (o PipelineGitConfigurationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*PipelineGitConfiguration] { + return pulumix.Output[*PipelineGitConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitConfigurationPtrOutput) Elem() PipelineGitConfigurationOutput { + return o.ApplyT(func(v *PipelineGitConfiguration) PipelineGitConfiguration { + if v != nil { + return *v + } + var ret PipelineGitConfiguration + return ret + }).(PipelineGitConfigurationOutput) +} + +func (o PipelineGitConfigurationPtrOutput) Push() PipelineGitPushFilterArrayOutput { + return o.ApplyT(func(v *PipelineGitConfiguration) []PipelineGitPushFilter { + if v == nil { + return nil + } + return v.Push + }).(PipelineGitPushFilterArrayOutput) +} + +func (o PipelineGitConfigurationPtrOutput) SourceActionName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PipelineGitConfiguration) *string { + if v == nil { + return nil + } + return &v.SourceActionName + }).(pulumi.StringPtrOutput) +} + +type PipelineGitPushFilter struct { + Tags *PipelineGitTagFilterCriteria `pulumi:"tags"` +} + +// PipelineGitPushFilterInput is an input type that accepts PipelineGitPushFilterArgs and PipelineGitPushFilterOutput values. +// You can construct a concrete instance of `PipelineGitPushFilterInput` via: +// +// PipelineGitPushFilterArgs{...} +type PipelineGitPushFilterInput interface { + pulumi.Input + + ToPipelineGitPushFilterOutput() PipelineGitPushFilterOutput + ToPipelineGitPushFilterOutputWithContext(context.Context) PipelineGitPushFilterOutput +} + +type PipelineGitPushFilterArgs struct { + Tags PipelineGitTagFilterCriteriaPtrInput `pulumi:"tags"` +} + +func (PipelineGitPushFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitPushFilter)(nil)).Elem() +} + +func (i PipelineGitPushFilterArgs) ToPipelineGitPushFilterOutput() PipelineGitPushFilterOutput { + return i.ToPipelineGitPushFilterOutputWithContext(context.Background()) +} + +func (i PipelineGitPushFilterArgs) ToPipelineGitPushFilterOutputWithContext(ctx context.Context) PipelineGitPushFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitPushFilterOutput) +} + +func (i PipelineGitPushFilterArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineGitPushFilter] { + return pulumix.Output[PipelineGitPushFilter]{ + OutputState: i.ToPipelineGitPushFilterOutputWithContext(ctx).OutputState, + } +} + +// PipelineGitPushFilterArrayInput is an input type that accepts PipelineGitPushFilterArray and PipelineGitPushFilterArrayOutput values. +// You can construct a concrete instance of `PipelineGitPushFilterArrayInput` via: +// +// PipelineGitPushFilterArray{ PipelineGitPushFilterArgs{...} } +type PipelineGitPushFilterArrayInput interface { + pulumi.Input + + ToPipelineGitPushFilterArrayOutput() PipelineGitPushFilterArrayOutput + ToPipelineGitPushFilterArrayOutputWithContext(context.Context) PipelineGitPushFilterArrayOutput +} + +type PipelineGitPushFilterArray []PipelineGitPushFilterInput + +func (PipelineGitPushFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineGitPushFilter)(nil)).Elem() +} + +func (i PipelineGitPushFilterArray) ToPipelineGitPushFilterArrayOutput() PipelineGitPushFilterArrayOutput { + return i.ToPipelineGitPushFilterArrayOutputWithContext(context.Background()) +} + +func (i PipelineGitPushFilterArray) ToPipelineGitPushFilterArrayOutputWithContext(ctx context.Context) PipelineGitPushFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitPushFilterArrayOutput) +} + +func (i PipelineGitPushFilterArray) ToOutput(ctx context.Context) pulumix.Output[[]PipelineGitPushFilter] { + return pulumix.Output[[]PipelineGitPushFilter]{ + OutputState: i.ToPipelineGitPushFilterArrayOutputWithContext(ctx).OutputState, + } +} + +type PipelineGitPushFilterOutput struct{ *pulumi.OutputState } + +func (PipelineGitPushFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitPushFilter)(nil)).Elem() +} + +func (o PipelineGitPushFilterOutput) ToPipelineGitPushFilterOutput() PipelineGitPushFilterOutput { + return o +} + +func (o PipelineGitPushFilterOutput) ToPipelineGitPushFilterOutputWithContext(ctx context.Context) PipelineGitPushFilterOutput { + return o +} + +func (o PipelineGitPushFilterOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineGitPushFilter] { + return pulumix.Output[PipelineGitPushFilter]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitPushFilterOutput) Tags() PipelineGitTagFilterCriteriaPtrOutput { + return o.ApplyT(func(v PipelineGitPushFilter) *PipelineGitTagFilterCriteria { return v.Tags }).(PipelineGitTagFilterCriteriaPtrOutput) +} + +type PipelineGitPushFilterArrayOutput struct{ *pulumi.OutputState } + +func (PipelineGitPushFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineGitPushFilter)(nil)).Elem() +} + +func (o PipelineGitPushFilterArrayOutput) ToPipelineGitPushFilterArrayOutput() PipelineGitPushFilterArrayOutput { + return o +} + +func (o PipelineGitPushFilterArrayOutput) ToPipelineGitPushFilterArrayOutputWithContext(ctx context.Context) PipelineGitPushFilterArrayOutput { + return o +} + +func (o PipelineGitPushFilterArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]PipelineGitPushFilter] { + return pulumix.Output[[]PipelineGitPushFilter]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitPushFilterArrayOutput) Index(i pulumi.IntInput) PipelineGitPushFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PipelineGitPushFilter { + return vs[0].([]PipelineGitPushFilter)[vs[1].(int)] + }).(PipelineGitPushFilterOutput) +} + +type PipelineGitTagFilterCriteria struct { + Excludes []string `pulumi:"excludes"` + Includes []string `pulumi:"includes"` +} + +// PipelineGitTagFilterCriteriaInput is an input type that accepts PipelineGitTagFilterCriteriaArgs and PipelineGitTagFilterCriteriaOutput values. +// You can construct a concrete instance of `PipelineGitTagFilterCriteriaInput` via: +// +// PipelineGitTagFilterCriteriaArgs{...} +type PipelineGitTagFilterCriteriaInput interface { + pulumi.Input + + ToPipelineGitTagFilterCriteriaOutput() PipelineGitTagFilterCriteriaOutput + ToPipelineGitTagFilterCriteriaOutputWithContext(context.Context) PipelineGitTagFilterCriteriaOutput +} + +type PipelineGitTagFilterCriteriaArgs struct { + Excludes pulumi.StringArrayInput `pulumi:"excludes"` + Includes pulumi.StringArrayInput `pulumi:"includes"` +} + +func (PipelineGitTagFilterCriteriaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitTagFilterCriteria)(nil)).Elem() +} + +func (i PipelineGitTagFilterCriteriaArgs) ToPipelineGitTagFilterCriteriaOutput() PipelineGitTagFilterCriteriaOutput { + return i.ToPipelineGitTagFilterCriteriaOutputWithContext(context.Background()) +} + +func (i PipelineGitTagFilterCriteriaArgs) ToPipelineGitTagFilterCriteriaOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitTagFilterCriteriaOutput) +} + +func (i PipelineGitTagFilterCriteriaArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineGitTagFilterCriteria] { + return pulumix.Output[PipelineGitTagFilterCriteria]{ + OutputState: i.ToPipelineGitTagFilterCriteriaOutputWithContext(ctx).OutputState, + } +} + +func (i PipelineGitTagFilterCriteriaArgs) ToPipelineGitTagFilterCriteriaPtrOutput() PipelineGitTagFilterCriteriaPtrOutput { + return i.ToPipelineGitTagFilterCriteriaPtrOutputWithContext(context.Background()) +} + +func (i PipelineGitTagFilterCriteriaArgs) ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitTagFilterCriteriaOutput).ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx) +} + +// PipelineGitTagFilterCriteriaPtrInput is an input type that accepts PipelineGitTagFilterCriteriaArgs, PipelineGitTagFilterCriteriaPtr and PipelineGitTagFilterCriteriaPtrOutput values. +// You can construct a concrete instance of `PipelineGitTagFilterCriteriaPtrInput` via: +// +// PipelineGitTagFilterCriteriaArgs{...} +// +// or: +// +// nil +type PipelineGitTagFilterCriteriaPtrInput interface { + pulumi.Input + + ToPipelineGitTagFilterCriteriaPtrOutput() PipelineGitTagFilterCriteriaPtrOutput + ToPipelineGitTagFilterCriteriaPtrOutputWithContext(context.Context) PipelineGitTagFilterCriteriaPtrOutput +} + +type pipelineGitTagFilterCriteriaPtrType PipelineGitTagFilterCriteriaArgs + +func PipelineGitTagFilterCriteriaPtr(v *PipelineGitTagFilterCriteriaArgs) PipelineGitTagFilterCriteriaPtrInput { + return (*pipelineGitTagFilterCriteriaPtrType)(v) +} + +func (*pipelineGitTagFilterCriteriaPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineGitTagFilterCriteria)(nil)).Elem() +} + +func (i *pipelineGitTagFilterCriteriaPtrType) ToPipelineGitTagFilterCriteriaPtrOutput() PipelineGitTagFilterCriteriaPtrOutput { + return i.ToPipelineGitTagFilterCriteriaPtrOutputWithContext(context.Background()) +} + +func (i *pipelineGitTagFilterCriteriaPtrType) ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineGitTagFilterCriteriaPtrOutput) +} + +func (i *pipelineGitTagFilterCriteriaPtrType) ToOutput(ctx context.Context) pulumix.Output[*PipelineGitTagFilterCriteria] { + return pulumix.Output[*PipelineGitTagFilterCriteria]{ + OutputState: i.ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx).OutputState, + } +} + +type PipelineGitTagFilterCriteriaOutput struct{ *pulumi.OutputState } + +func (PipelineGitTagFilterCriteriaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineGitTagFilterCriteria)(nil)).Elem() +} + +func (o PipelineGitTagFilterCriteriaOutput) ToPipelineGitTagFilterCriteriaOutput() PipelineGitTagFilterCriteriaOutput { + return o +} + +func (o PipelineGitTagFilterCriteriaOutput) ToPipelineGitTagFilterCriteriaOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaOutput { + return o +} + +func (o PipelineGitTagFilterCriteriaOutput) ToPipelineGitTagFilterCriteriaPtrOutput() PipelineGitTagFilterCriteriaPtrOutput { + return o.ToPipelineGitTagFilterCriteriaPtrOutputWithContext(context.Background()) +} + +func (o PipelineGitTagFilterCriteriaOutput) ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PipelineGitTagFilterCriteria) *PipelineGitTagFilterCriteria { + return &v + }).(PipelineGitTagFilterCriteriaPtrOutput) +} + +func (o PipelineGitTagFilterCriteriaOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineGitTagFilterCriteria] { + return pulumix.Output[PipelineGitTagFilterCriteria]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitTagFilterCriteriaOutput) Excludes() pulumi.StringArrayOutput { + return o.ApplyT(func(v PipelineGitTagFilterCriteria) []string { return v.Excludes }).(pulumi.StringArrayOutput) +} + +func (o PipelineGitTagFilterCriteriaOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v PipelineGitTagFilterCriteria) []string { return v.Includes }).(pulumi.StringArrayOutput) +} + +type PipelineGitTagFilterCriteriaPtrOutput struct{ *pulumi.OutputState } + +func (PipelineGitTagFilterCriteriaPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineGitTagFilterCriteria)(nil)).Elem() +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) ToPipelineGitTagFilterCriteriaPtrOutput() PipelineGitTagFilterCriteriaPtrOutput { + return o +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) ToPipelineGitTagFilterCriteriaPtrOutputWithContext(ctx context.Context) PipelineGitTagFilterCriteriaPtrOutput { + return o +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*PipelineGitTagFilterCriteria] { + return pulumix.Output[*PipelineGitTagFilterCriteria]{ + OutputState: o.OutputState, + } +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) Elem() PipelineGitTagFilterCriteriaOutput { + return o.ApplyT(func(v *PipelineGitTagFilterCriteria) PipelineGitTagFilterCriteria { + if v != nil { + return *v + } + var ret PipelineGitTagFilterCriteria + return ret + }).(PipelineGitTagFilterCriteriaOutput) +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) Excludes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PipelineGitTagFilterCriteria) []string { + if v == nil { + return nil + } + return v.Excludes + }).(pulumi.StringArrayOutput) +} + +func (o PipelineGitTagFilterCriteriaPtrOutput) Includes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *PipelineGitTagFilterCriteria) []string { + if v == nil { + return nil + } + return v.Includes + }).(pulumi.StringArrayOutput) +} + type PipelineInputArtifact struct { Name string `pulumi:"name"` } @@ -2079,6 +2541,260 @@ func (o PipelineTagArrayOutput) Index(i pulumi.IntInput) PipelineTagOutput { }).(PipelineTagOutput) } +type PipelineTriggerDeclaration struct { + GitConfiguration *PipelineGitConfiguration `pulumi:"gitConfiguration"` + ProviderType string `pulumi:"providerType"` +} + +// PipelineTriggerDeclarationInput is an input type that accepts PipelineTriggerDeclarationArgs and PipelineTriggerDeclarationOutput values. +// You can construct a concrete instance of `PipelineTriggerDeclarationInput` via: +// +// PipelineTriggerDeclarationArgs{...} +type PipelineTriggerDeclarationInput interface { + pulumi.Input + + ToPipelineTriggerDeclarationOutput() PipelineTriggerDeclarationOutput + ToPipelineTriggerDeclarationOutputWithContext(context.Context) PipelineTriggerDeclarationOutput +} + +type PipelineTriggerDeclarationArgs struct { + GitConfiguration PipelineGitConfigurationPtrInput `pulumi:"gitConfiguration"` + ProviderType pulumi.StringInput `pulumi:"providerType"` +} + +func (PipelineTriggerDeclarationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineTriggerDeclaration)(nil)).Elem() +} + +func (i PipelineTriggerDeclarationArgs) ToPipelineTriggerDeclarationOutput() PipelineTriggerDeclarationOutput { + return i.ToPipelineTriggerDeclarationOutputWithContext(context.Background()) +} + +func (i PipelineTriggerDeclarationArgs) ToPipelineTriggerDeclarationOutputWithContext(ctx context.Context) PipelineTriggerDeclarationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineTriggerDeclarationOutput) +} + +func (i PipelineTriggerDeclarationArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineTriggerDeclaration] { + return pulumix.Output[PipelineTriggerDeclaration]{ + OutputState: i.ToPipelineTriggerDeclarationOutputWithContext(ctx).OutputState, + } +} + +// PipelineTriggerDeclarationArrayInput is an input type that accepts PipelineTriggerDeclarationArray and PipelineTriggerDeclarationArrayOutput values. +// You can construct a concrete instance of `PipelineTriggerDeclarationArrayInput` via: +// +// PipelineTriggerDeclarationArray{ PipelineTriggerDeclarationArgs{...} } +type PipelineTriggerDeclarationArrayInput interface { + pulumi.Input + + ToPipelineTriggerDeclarationArrayOutput() PipelineTriggerDeclarationArrayOutput + ToPipelineTriggerDeclarationArrayOutputWithContext(context.Context) PipelineTriggerDeclarationArrayOutput +} + +type PipelineTriggerDeclarationArray []PipelineTriggerDeclarationInput + +func (PipelineTriggerDeclarationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineTriggerDeclaration)(nil)).Elem() +} + +func (i PipelineTriggerDeclarationArray) ToPipelineTriggerDeclarationArrayOutput() PipelineTriggerDeclarationArrayOutput { + return i.ToPipelineTriggerDeclarationArrayOutputWithContext(context.Background()) +} + +func (i PipelineTriggerDeclarationArray) ToPipelineTriggerDeclarationArrayOutputWithContext(ctx context.Context) PipelineTriggerDeclarationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineTriggerDeclarationArrayOutput) +} + +func (i PipelineTriggerDeclarationArray) ToOutput(ctx context.Context) pulumix.Output[[]PipelineTriggerDeclaration] { + return pulumix.Output[[]PipelineTriggerDeclaration]{ + OutputState: i.ToPipelineTriggerDeclarationArrayOutputWithContext(ctx).OutputState, + } +} + +type PipelineTriggerDeclarationOutput struct{ *pulumi.OutputState } + +func (PipelineTriggerDeclarationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineTriggerDeclaration)(nil)).Elem() +} + +func (o PipelineTriggerDeclarationOutput) ToPipelineTriggerDeclarationOutput() PipelineTriggerDeclarationOutput { + return o +} + +func (o PipelineTriggerDeclarationOutput) ToPipelineTriggerDeclarationOutputWithContext(ctx context.Context) PipelineTriggerDeclarationOutput { + return o +} + +func (o PipelineTriggerDeclarationOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineTriggerDeclaration] { + return pulumix.Output[PipelineTriggerDeclaration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineTriggerDeclarationOutput) GitConfiguration() PipelineGitConfigurationPtrOutput { + return o.ApplyT(func(v PipelineTriggerDeclaration) *PipelineGitConfiguration { return v.GitConfiguration }).(PipelineGitConfigurationPtrOutput) +} + +func (o PipelineTriggerDeclarationOutput) ProviderType() pulumi.StringOutput { + return o.ApplyT(func(v PipelineTriggerDeclaration) string { return v.ProviderType }).(pulumi.StringOutput) +} + +type PipelineTriggerDeclarationArrayOutput struct{ *pulumi.OutputState } + +func (PipelineTriggerDeclarationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineTriggerDeclaration)(nil)).Elem() +} + +func (o PipelineTriggerDeclarationArrayOutput) ToPipelineTriggerDeclarationArrayOutput() PipelineTriggerDeclarationArrayOutput { + return o +} + +func (o PipelineTriggerDeclarationArrayOutput) ToPipelineTriggerDeclarationArrayOutputWithContext(ctx context.Context) PipelineTriggerDeclarationArrayOutput { + return o +} + +func (o PipelineTriggerDeclarationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]PipelineTriggerDeclaration] { + return pulumix.Output[[]PipelineTriggerDeclaration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineTriggerDeclarationArrayOutput) Index(i pulumi.IntInput) PipelineTriggerDeclarationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PipelineTriggerDeclaration { + return vs[0].([]PipelineTriggerDeclaration)[vs[1].(int)] + }).(PipelineTriggerDeclarationOutput) +} + +type PipelineVariableDeclaration struct { + DefaultValue *string `pulumi:"defaultValue"` + Description *string `pulumi:"description"` + Name string `pulumi:"name"` +} + +// PipelineVariableDeclarationInput is an input type that accepts PipelineVariableDeclarationArgs and PipelineVariableDeclarationOutput values. +// You can construct a concrete instance of `PipelineVariableDeclarationInput` via: +// +// PipelineVariableDeclarationArgs{...} +type PipelineVariableDeclarationInput interface { + pulumi.Input + + ToPipelineVariableDeclarationOutput() PipelineVariableDeclarationOutput + ToPipelineVariableDeclarationOutputWithContext(context.Context) PipelineVariableDeclarationOutput +} + +type PipelineVariableDeclarationArgs struct { + DefaultValue pulumi.StringPtrInput `pulumi:"defaultValue"` + Description pulumi.StringPtrInput `pulumi:"description"` + Name pulumi.StringInput `pulumi:"name"` +} + +func (PipelineVariableDeclarationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineVariableDeclaration)(nil)).Elem() +} + +func (i PipelineVariableDeclarationArgs) ToPipelineVariableDeclarationOutput() PipelineVariableDeclarationOutput { + return i.ToPipelineVariableDeclarationOutputWithContext(context.Background()) +} + +func (i PipelineVariableDeclarationArgs) ToPipelineVariableDeclarationOutputWithContext(ctx context.Context) PipelineVariableDeclarationOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineVariableDeclarationOutput) +} + +func (i PipelineVariableDeclarationArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineVariableDeclaration] { + return pulumix.Output[PipelineVariableDeclaration]{ + OutputState: i.ToPipelineVariableDeclarationOutputWithContext(ctx).OutputState, + } +} + +// PipelineVariableDeclarationArrayInput is an input type that accepts PipelineVariableDeclarationArray and PipelineVariableDeclarationArrayOutput values. +// You can construct a concrete instance of `PipelineVariableDeclarationArrayInput` via: +// +// PipelineVariableDeclarationArray{ PipelineVariableDeclarationArgs{...} } +type PipelineVariableDeclarationArrayInput interface { + pulumi.Input + + ToPipelineVariableDeclarationArrayOutput() PipelineVariableDeclarationArrayOutput + ToPipelineVariableDeclarationArrayOutputWithContext(context.Context) PipelineVariableDeclarationArrayOutput +} + +type PipelineVariableDeclarationArray []PipelineVariableDeclarationInput + +func (PipelineVariableDeclarationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineVariableDeclaration)(nil)).Elem() +} + +func (i PipelineVariableDeclarationArray) ToPipelineVariableDeclarationArrayOutput() PipelineVariableDeclarationArrayOutput { + return i.ToPipelineVariableDeclarationArrayOutputWithContext(context.Background()) +} + +func (i PipelineVariableDeclarationArray) ToPipelineVariableDeclarationArrayOutputWithContext(ctx context.Context) PipelineVariableDeclarationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineVariableDeclarationArrayOutput) +} + +func (i PipelineVariableDeclarationArray) ToOutput(ctx context.Context) pulumix.Output[[]PipelineVariableDeclaration] { + return pulumix.Output[[]PipelineVariableDeclaration]{ + OutputState: i.ToPipelineVariableDeclarationArrayOutputWithContext(ctx).OutputState, + } +} + +type PipelineVariableDeclarationOutput struct{ *pulumi.OutputState } + +func (PipelineVariableDeclarationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineVariableDeclaration)(nil)).Elem() +} + +func (o PipelineVariableDeclarationOutput) ToPipelineVariableDeclarationOutput() PipelineVariableDeclarationOutput { + return o +} + +func (o PipelineVariableDeclarationOutput) ToPipelineVariableDeclarationOutputWithContext(ctx context.Context) PipelineVariableDeclarationOutput { + return o +} + +func (o PipelineVariableDeclarationOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineVariableDeclaration] { + return pulumix.Output[PipelineVariableDeclaration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineVariableDeclarationOutput) DefaultValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v PipelineVariableDeclaration) *string { return v.DefaultValue }).(pulumi.StringPtrOutput) +} + +func (o PipelineVariableDeclarationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PipelineVariableDeclaration) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o PipelineVariableDeclarationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v PipelineVariableDeclaration) string { return v.Name }).(pulumi.StringOutput) +} + +type PipelineVariableDeclarationArrayOutput struct{ *pulumi.OutputState } + +func (PipelineVariableDeclarationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]PipelineVariableDeclaration)(nil)).Elem() +} + +func (o PipelineVariableDeclarationArrayOutput) ToPipelineVariableDeclarationArrayOutput() PipelineVariableDeclarationArrayOutput { + return o +} + +func (o PipelineVariableDeclarationArrayOutput) ToPipelineVariableDeclarationArrayOutputWithContext(ctx context.Context) PipelineVariableDeclarationArrayOutput { + return o +} + +func (o PipelineVariableDeclarationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]PipelineVariableDeclaration] { + return pulumix.Output[[]PipelineVariableDeclaration]{ + OutputState: o.OutputState, + } +} + +func (o PipelineVariableDeclarationArrayOutput) Index(i pulumi.IntInput) PipelineVariableDeclarationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) PipelineVariableDeclaration { + return vs[0].([]PipelineVariableDeclaration)[vs[1].(int)] + }).(PipelineVariableDeclarationOutput) +} + type WebhookAuthConfiguration struct { AllowedIpRange *string `pulumi:"allowedIpRange"` SecretToken *string `pulumi:"secretToken"` @@ -2337,6 +3053,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PipelineBlockerDeclarationArrayInput)(nil)).Elem(), PipelineBlockerDeclarationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineEncryptionKeyInput)(nil)).Elem(), PipelineEncryptionKeyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineEncryptionKeyPtrInput)(nil)).Elem(), PipelineEncryptionKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitConfigurationInput)(nil)).Elem(), PipelineGitConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitConfigurationPtrInput)(nil)).Elem(), PipelineGitConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitPushFilterInput)(nil)).Elem(), PipelineGitPushFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitPushFilterArrayInput)(nil)).Elem(), PipelineGitPushFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitTagFilterCriteriaInput)(nil)).Elem(), PipelineGitTagFilterCriteriaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineGitTagFilterCriteriaPtrInput)(nil)).Elem(), PipelineGitTagFilterCriteriaArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineInputArtifactInput)(nil)).Elem(), PipelineInputArtifactArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineInputArtifactArrayInput)(nil)).Elem(), PipelineInputArtifactArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineOutputArtifactInput)(nil)).Elem(), PipelineOutputArtifactArgs{}) @@ -2347,6 +3069,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PipelineStageTransitionArrayInput)(nil)).Elem(), PipelineStageTransitionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineTagInput)(nil)).Elem(), PipelineTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineTagArrayInput)(nil)).Elem(), PipelineTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineTriggerDeclarationInput)(nil)).Elem(), PipelineTriggerDeclarationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineTriggerDeclarationArrayInput)(nil)).Elem(), PipelineTriggerDeclarationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineVariableDeclarationInput)(nil)).Elem(), PipelineVariableDeclarationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineVariableDeclarationArrayInput)(nil)).Elem(), PipelineVariableDeclarationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*WebhookAuthConfigurationInput)(nil)).Elem(), WebhookAuthConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebhookFilterRuleInput)(nil)).Elem(), WebhookFilterRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WebhookFilterRuleArrayInput)(nil)).Elem(), WebhookFilterRuleArray{}) @@ -2368,6 +3094,12 @@ func init() { pulumi.RegisterOutputType(PipelineBlockerDeclarationArrayOutput{}) pulumi.RegisterOutputType(PipelineEncryptionKeyOutput{}) pulumi.RegisterOutputType(PipelineEncryptionKeyPtrOutput{}) + pulumi.RegisterOutputType(PipelineGitConfigurationOutput{}) + pulumi.RegisterOutputType(PipelineGitConfigurationPtrOutput{}) + pulumi.RegisterOutputType(PipelineGitPushFilterOutput{}) + pulumi.RegisterOutputType(PipelineGitPushFilterArrayOutput{}) + pulumi.RegisterOutputType(PipelineGitTagFilterCriteriaOutput{}) + pulumi.RegisterOutputType(PipelineGitTagFilterCriteriaPtrOutput{}) pulumi.RegisterOutputType(PipelineInputArtifactOutput{}) pulumi.RegisterOutputType(PipelineInputArtifactArrayOutput{}) pulumi.RegisterOutputType(PipelineOutputArtifactOutput{}) @@ -2378,6 +3110,10 @@ func init() { pulumi.RegisterOutputType(PipelineStageTransitionArrayOutput{}) pulumi.RegisterOutputType(PipelineTagOutput{}) pulumi.RegisterOutputType(PipelineTagArrayOutput{}) + pulumi.RegisterOutputType(PipelineTriggerDeclarationOutput{}) + pulumi.RegisterOutputType(PipelineTriggerDeclarationArrayOutput{}) + pulumi.RegisterOutputType(PipelineVariableDeclarationOutput{}) + pulumi.RegisterOutputType(PipelineVariableDeclarationArrayOutput{}) pulumi.RegisterOutputType(WebhookAuthConfigurationOutput{}) pulumi.RegisterOutputType(WebhookAuthConfigurationPtrOutput{}) pulumi.RegisterOutputType(WebhookFilterRuleOutput{}) diff --git a/sdk/go/aws/configuration/configurationRecorder.go b/sdk/go/aws/configuration/configurationRecorder.go index 51f45f78fc..457abeb90a 100644 --- a/sdk/go/aws/configuration/configurationRecorder.go +++ b/sdk/go/aws/configuration/configurationRecorder.go @@ -21,6 +21,7 @@ type ConfigurationRecorder struct { Name pulumi.StringPtrOutput `pulumi:"name"` RecordingGroup ConfigurationRecorderRecordingGroupPtrOutput `pulumi:"recordingGroup"` + RecordingMode ConfigurationRecorderRecordingModePtrOutput `pulumi:"recordingMode"` RoleArn pulumi.StringOutput `pulumi:"roleArn"` } @@ -73,6 +74,7 @@ func (ConfigurationRecorderState) ElementType() reflect.Type { type configurationRecorderArgs struct { Name *string `pulumi:"name"` RecordingGroup *ConfigurationRecorderRecordingGroup `pulumi:"recordingGroup"` + RecordingMode *ConfigurationRecorderRecordingMode `pulumi:"recordingMode"` RoleArn string `pulumi:"roleArn"` } @@ -80,6 +82,7 @@ type configurationRecorderArgs struct { type ConfigurationRecorderArgs struct { Name pulumi.StringPtrInput RecordingGroup ConfigurationRecorderRecordingGroupPtrInput + RecordingMode ConfigurationRecorderRecordingModePtrInput RoleArn pulumi.StringInput } @@ -140,6 +143,10 @@ func (o ConfigurationRecorderOutput) RecordingGroup() ConfigurationRecorderRecor return o.ApplyT(func(v *ConfigurationRecorder) ConfigurationRecorderRecordingGroupPtrOutput { return v.RecordingGroup }).(ConfigurationRecorderRecordingGroupPtrOutput) } +func (o ConfigurationRecorderOutput) RecordingMode() ConfigurationRecorderRecordingModePtrOutput { + return o.ApplyT(func(v *ConfigurationRecorder) ConfigurationRecorderRecordingModePtrOutput { return v.RecordingMode }).(ConfigurationRecorderRecordingModePtrOutput) +} + func (o ConfigurationRecorderOutput) RoleArn() pulumi.StringOutput { return o.ApplyT(func(v *ConfigurationRecorder) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/configuration/getConfigurationRecorder.go b/sdk/go/aws/configuration/getConfigurationRecorder.go index fe578dcb6b..21a2b5a25d 100644 --- a/sdk/go/aws/configuration/getConfigurationRecorder.go +++ b/sdk/go/aws/configuration/getConfigurationRecorder.go @@ -30,6 +30,7 @@ type LookupConfigurationRecorderArgs struct { type LookupConfigurationRecorderResult struct { Id *string `pulumi:"id"` RecordingGroup *ConfigurationRecorderRecordingGroup `pulumi:"recordingGroup"` + RecordingMode *ConfigurationRecorderRecordingMode `pulumi:"recordingMode"` RoleArn *string `pulumi:"roleArn"` } @@ -84,6 +85,10 @@ func (o LookupConfigurationRecorderResultOutput) RecordingGroup() ConfigurationR }).(ConfigurationRecorderRecordingGroupPtrOutput) } +func (o LookupConfigurationRecorderResultOutput) RecordingMode() ConfigurationRecorderRecordingModePtrOutput { + return o.ApplyT(func(v LookupConfigurationRecorderResult) *ConfigurationRecorderRecordingMode { return v.RecordingMode }).(ConfigurationRecorderRecordingModePtrOutput) +} + func (o LookupConfigurationRecorderResultOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupConfigurationRecorderResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/configuration/pulumiTypes.go b/sdk/go/aws/configuration/pulumiTypes.go index fe7ea97531..3b9f03dcec 100644 --- a/sdk/go/aws/configuration/pulumiTypes.go +++ b/sdk/go/aws/configuration/pulumiTypes.go @@ -1992,6 +1992,310 @@ func (o ConfigurationRecorderRecordingGroupPtrOutput) ResourceTypes() pulumi.Str }).(pulumi.StringArrayOutput) } +type ConfigurationRecorderRecordingMode struct { + RecordingFrequency string `pulumi:"recordingFrequency"` + RecordingModeOverrides []ConfigurationRecorderRecordingModeOverride `pulumi:"recordingModeOverrides"` +} + +// ConfigurationRecorderRecordingModeInput is an input type that accepts ConfigurationRecorderRecordingModeArgs and ConfigurationRecorderRecordingModeOutput values. +// You can construct a concrete instance of `ConfigurationRecorderRecordingModeInput` via: +// +// ConfigurationRecorderRecordingModeArgs{...} +type ConfigurationRecorderRecordingModeInput interface { + pulumi.Input + + ToConfigurationRecorderRecordingModeOutput() ConfigurationRecorderRecordingModeOutput + ToConfigurationRecorderRecordingModeOutputWithContext(context.Context) ConfigurationRecorderRecordingModeOutput +} + +type ConfigurationRecorderRecordingModeArgs struct { + RecordingFrequency pulumi.StringInput `pulumi:"recordingFrequency"` + RecordingModeOverrides ConfigurationRecorderRecordingModeOverrideArrayInput `pulumi:"recordingModeOverrides"` +} + +func (ConfigurationRecorderRecordingModeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationRecorderRecordingMode)(nil)).Elem() +} + +func (i ConfigurationRecorderRecordingModeArgs) ToConfigurationRecorderRecordingModeOutput() ConfigurationRecorderRecordingModeOutput { + return i.ToConfigurationRecorderRecordingModeOutputWithContext(context.Background()) +} + +func (i ConfigurationRecorderRecordingModeArgs) ToConfigurationRecorderRecordingModeOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationRecorderRecordingModeOutput) +} + +func (i ConfigurationRecorderRecordingModeArgs) ToOutput(ctx context.Context) pulumix.Output[ConfigurationRecorderRecordingMode] { + return pulumix.Output[ConfigurationRecorderRecordingMode]{ + OutputState: i.ToConfigurationRecorderRecordingModeOutputWithContext(ctx).OutputState, + } +} + +func (i ConfigurationRecorderRecordingModeArgs) ToConfigurationRecorderRecordingModePtrOutput() ConfigurationRecorderRecordingModePtrOutput { + return i.ToConfigurationRecorderRecordingModePtrOutputWithContext(context.Background()) +} + +func (i ConfigurationRecorderRecordingModeArgs) ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationRecorderRecordingModeOutput).ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx) +} + +// ConfigurationRecorderRecordingModePtrInput is an input type that accepts ConfigurationRecorderRecordingModeArgs, ConfigurationRecorderRecordingModePtr and ConfigurationRecorderRecordingModePtrOutput values. +// You can construct a concrete instance of `ConfigurationRecorderRecordingModePtrInput` via: +// +// ConfigurationRecorderRecordingModeArgs{...} +// +// or: +// +// nil +type ConfigurationRecorderRecordingModePtrInput interface { + pulumi.Input + + ToConfigurationRecorderRecordingModePtrOutput() ConfigurationRecorderRecordingModePtrOutput + ToConfigurationRecorderRecordingModePtrOutputWithContext(context.Context) ConfigurationRecorderRecordingModePtrOutput +} + +type configurationRecorderRecordingModePtrType ConfigurationRecorderRecordingModeArgs + +func ConfigurationRecorderRecordingModePtr(v *ConfigurationRecorderRecordingModeArgs) ConfigurationRecorderRecordingModePtrInput { + return (*configurationRecorderRecordingModePtrType)(v) +} + +func (*configurationRecorderRecordingModePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationRecorderRecordingMode)(nil)).Elem() +} + +func (i *configurationRecorderRecordingModePtrType) ToConfigurationRecorderRecordingModePtrOutput() ConfigurationRecorderRecordingModePtrOutput { + return i.ToConfigurationRecorderRecordingModePtrOutputWithContext(context.Background()) +} + +func (i *configurationRecorderRecordingModePtrType) ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationRecorderRecordingModePtrOutput) +} + +func (i *configurationRecorderRecordingModePtrType) ToOutput(ctx context.Context) pulumix.Output[*ConfigurationRecorderRecordingMode] { + return pulumix.Output[*ConfigurationRecorderRecordingMode]{ + OutputState: i.ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx).OutputState, + } +} + +type ConfigurationRecorderRecordingModeOutput struct{ *pulumi.OutputState } + +func (ConfigurationRecorderRecordingModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationRecorderRecordingMode)(nil)).Elem() +} + +func (o ConfigurationRecorderRecordingModeOutput) ToConfigurationRecorderRecordingModeOutput() ConfigurationRecorderRecordingModeOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOutput) ToConfigurationRecorderRecordingModeOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOutput) ToConfigurationRecorderRecordingModePtrOutput() ConfigurationRecorderRecordingModePtrOutput { + return o.ToConfigurationRecorderRecordingModePtrOutputWithContext(context.Background()) +} + +func (o ConfigurationRecorderRecordingModeOutput) ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ConfigurationRecorderRecordingMode) *ConfigurationRecorderRecordingMode { + return &v + }).(ConfigurationRecorderRecordingModePtrOutput) +} + +func (o ConfigurationRecorderRecordingModeOutput) ToOutput(ctx context.Context) pulumix.Output[ConfigurationRecorderRecordingMode] { + return pulumix.Output[ConfigurationRecorderRecordingMode]{ + OutputState: o.OutputState, + } +} + +func (o ConfigurationRecorderRecordingModeOutput) RecordingFrequency() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationRecorderRecordingMode) string { return v.RecordingFrequency }).(pulumi.StringOutput) +} + +func (o ConfigurationRecorderRecordingModeOutput) RecordingModeOverrides() ConfigurationRecorderRecordingModeOverrideArrayOutput { + return o.ApplyT(func(v ConfigurationRecorderRecordingMode) []ConfigurationRecorderRecordingModeOverride { + return v.RecordingModeOverrides + }).(ConfigurationRecorderRecordingModeOverrideArrayOutput) +} + +type ConfigurationRecorderRecordingModePtrOutput struct{ *pulumi.OutputState } + +func (ConfigurationRecorderRecordingModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ConfigurationRecorderRecordingMode)(nil)).Elem() +} + +func (o ConfigurationRecorderRecordingModePtrOutput) ToConfigurationRecorderRecordingModePtrOutput() ConfigurationRecorderRecordingModePtrOutput { + return o +} + +func (o ConfigurationRecorderRecordingModePtrOutput) ToConfigurationRecorderRecordingModePtrOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModePtrOutput { + return o +} + +func (o ConfigurationRecorderRecordingModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ConfigurationRecorderRecordingMode] { + return pulumix.Output[*ConfigurationRecorderRecordingMode]{ + OutputState: o.OutputState, + } +} + +func (o ConfigurationRecorderRecordingModePtrOutput) Elem() ConfigurationRecorderRecordingModeOutput { + return o.ApplyT(func(v *ConfigurationRecorderRecordingMode) ConfigurationRecorderRecordingMode { + if v != nil { + return *v + } + var ret ConfigurationRecorderRecordingMode + return ret + }).(ConfigurationRecorderRecordingModeOutput) +} + +func (o ConfigurationRecorderRecordingModePtrOutput) RecordingFrequency() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ConfigurationRecorderRecordingMode) *string { + if v == nil { + return nil + } + return &v.RecordingFrequency + }).(pulumi.StringPtrOutput) +} + +func (o ConfigurationRecorderRecordingModePtrOutput) RecordingModeOverrides() ConfigurationRecorderRecordingModeOverrideArrayOutput { + return o.ApplyT(func(v *ConfigurationRecorderRecordingMode) []ConfigurationRecorderRecordingModeOverride { + if v == nil { + return nil + } + return v.RecordingModeOverrides + }).(ConfigurationRecorderRecordingModeOverrideArrayOutput) +} + +type ConfigurationRecorderRecordingModeOverride struct { + Description *string `pulumi:"description"` + RecordingFrequency string `pulumi:"recordingFrequency"` + ResourceTypes []string `pulumi:"resourceTypes"` +} + +// ConfigurationRecorderRecordingModeOverrideInput is an input type that accepts ConfigurationRecorderRecordingModeOverrideArgs and ConfigurationRecorderRecordingModeOverrideOutput values. +// You can construct a concrete instance of `ConfigurationRecorderRecordingModeOverrideInput` via: +// +// ConfigurationRecorderRecordingModeOverrideArgs{...} +type ConfigurationRecorderRecordingModeOverrideInput interface { + pulumi.Input + + ToConfigurationRecorderRecordingModeOverrideOutput() ConfigurationRecorderRecordingModeOverrideOutput + ToConfigurationRecorderRecordingModeOverrideOutputWithContext(context.Context) ConfigurationRecorderRecordingModeOverrideOutput +} + +type ConfigurationRecorderRecordingModeOverrideArgs struct { + Description pulumi.StringPtrInput `pulumi:"description"` + RecordingFrequency pulumi.StringInput `pulumi:"recordingFrequency"` + ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"` +} + +func (ConfigurationRecorderRecordingModeOverrideArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationRecorderRecordingModeOverride)(nil)).Elem() +} + +func (i ConfigurationRecorderRecordingModeOverrideArgs) ToConfigurationRecorderRecordingModeOverrideOutput() ConfigurationRecorderRecordingModeOverrideOutput { + return i.ToConfigurationRecorderRecordingModeOverrideOutputWithContext(context.Background()) +} + +func (i ConfigurationRecorderRecordingModeOverrideArgs) ToConfigurationRecorderRecordingModeOverrideOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOverrideOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationRecorderRecordingModeOverrideOutput) +} + +func (i ConfigurationRecorderRecordingModeOverrideArgs) ToOutput(ctx context.Context) pulumix.Output[ConfigurationRecorderRecordingModeOverride] { + return pulumix.Output[ConfigurationRecorderRecordingModeOverride]{ + OutputState: i.ToConfigurationRecorderRecordingModeOverrideOutputWithContext(ctx).OutputState, + } +} + +// ConfigurationRecorderRecordingModeOverrideArrayInput is an input type that accepts ConfigurationRecorderRecordingModeOverrideArray and ConfigurationRecorderRecordingModeOverrideArrayOutput values. +// You can construct a concrete instance of `ConfigurationRecorderRecordingModeOverrideArrayInput` via: +// +// ConfigurationRecorderRecordingModeOverrideArray{ ConfigurationRecorderRecordingModeOverrideArgs{...} } +type ConfigurationRecorderRecordingModeOverrideArrayInput interface { + pulumi.Input + + ToConfigurationRecorderRecordingModeOverrideArrayOutput() ConfigurationRecorderRecordingModeOverrideArrayOutput + ToConfigurationRecorderRecordingModeOverrideArrayOutputWithContext(context.Context) ConfigurationRecorderRecordingModeOverrideArrayOutput +} + +type ConfigurationRecorderRecordingModeOverrideArray []ConfigurationRecorderRecordingModeOverrideInput + +func (ConfigurationRecorderRecordingModeOverrideArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationRecorderRecordingModeOverride)(nil)).Elem() +} + +func (i ConfigurationRecorderRecordingModeOverrideArray) ToConfigurationRecorderRecordingModeOverrideArrayOutput() ConfigurationRecorderRecordingModeOverrideArrayOutput { + return i.ToConfigurationRecorderRecordingModeOverrideArrayOutputWithContext(context.Background()) +} + +func (i ConfigurationRecorderRecordingModeOverrideArray) ToConfigurationRecorderRecordingModeOverrideArrayOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOverrideArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ConfigurationRecorderRecordingModeOverrideArrayOutput) +} + +func (i ConfigurationRecorderRecordingModeOverrideArray) ToOutput(ctx context.Context) pulumix.Output[[]ConfigurationRecorderRecordingModeOverride] { + return pulumix.Output[[]ConfigurationRecorderRecordingModeOverride]{ + OutputState: i.ToConfigurationRecorderRecordingModeOverrideArrayOutputWithContext(ctx).OutputState, + } +} + +type ConfigurationRecorderRecordingModeOverrideOutput struct{ *pulumi.OutputState } + +func (ConfigurationRecorderRecordingModeOverrideOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ConfigurationRecorderRecordingModeOverride)(nil)).Elem() +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) ToConfigurationRecorderRecordingModeOverrideOutput() ConfigurationRecorderRecordingModeOverrideOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) ToConfigurationRecorderRecordingModeOverrideOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOverrideOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) ToOutput(ctx context.Context) pulumix.Output[ConfigurationRecorderRecordingModeOverride] { + return pulumix.Output[ConfigurationRecorderRecordingModeOverride]{ + OutputState: o.OutputState, + } +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ConfigurationRecorderRecordingModeOverride) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) RecordingFrequency() pulumi.StringOutput { + return o.ApplyT(func(v ConfigurationRecorderRecordingModeOverride) string { return v.RecordingFrequency }).(pulumi.StringOutput) +} + +func (o ConfigurationRecorderRecordingModeOverrideOutput) ResourceTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v ConfigurationRecorderRecordingModeOverride) []string { return v.ResourceTypes }).(pulumi.StringArrayOutput) +} + +type ConfigurationRecorderRecordingModeOverrideArrayOutput struct{ *pulumi.OutputState } + +func (ConfigurationRecorderRecordingModeOverrideArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ConfigurationRecorderRecordingModeOverride)(nil)).Elem() +} + +func (o ConfigurationRecorderRecordingModeOverrideArrayOutput) ToConfigurationRecorderRecordingModeOverrideArrayOutput() ConfigurationRecorderRecordingModeOverrideArrayOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOverrideArrayOutput) ToConfigurationRecorderRecordingModeOverrideArrayOutputWithContext(ctx context.Context) ConfigurationRecorderRecordingModeOverrideArrayOutput { + return o +} + +func (o ConfigurationRecorderRecordingModeOverrideArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ConfigurationRecorderRecordingModeOverride] { + return pulumix.Output[[]ConfigurationRecorderRecordingModeOverride]{ + OutputState: o.OutputState, + } +} + +func (o ConfigurationRecorderRecordingModeOverrideArrayOutput) Index(i pulumi.IntInput) ConfigurationRecorderRecordingModeOverrideOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ConfigurationRecorderRecordingModeOverride { + return vs[0].([]ConfigurationRecorderRecordingModeOverride)[vs[1].(int)] + }).(ConfigurationRecorderRecordingModeOverrideOutput) +} + type ConfigurationRecorderRecordingStrategy struct { UseOnly string `pulumi:"useOnly"` } @@ -4083,6 +4387,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderExclusionByResourceTypesPtrInput)(nil)).Elem(), ConfigurationRecorderExclusionByResourceTypesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingGroupInput)(nil)).Elem(), ConfigurationRecorderRecordingGroupArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingGroupPtrInput)(nil)).Elem(), ConfigurationRecorderRecordingGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingModeInput)(nil)).Elem(), ConfigurationRecorderRecordingModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingModePtrInput)(nil)).Elem(), ConfigurationRecorderRecordingModeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingModeOverrideInput)(nil)).Elem(), ConfigurationRecorderRecordingModeOverrideArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingModeOverrideArrayInput)(nil)).Elem(), ConfigurationRecorderRecordingModeOverrideArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingStrategyInput)(nil)).Elem(), ConfigurationRecorderRecordingStrategyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationRecorderRecordingStrategyPtrInput)(nil)).Elem(), ConfigurationRecorderRecordingStrategyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ConformancePackInputParameterInput)(nil)).Elem(), ConformancePackInputParameterArgs{}) @@ -4129,6 +4437,10 @@ func init() { pulumi.RegisterOutputType(ConfigurationRecorderExclusionByResourceTypesPtrOutput{}) pulumi.RegisterOutputType(ConfigurationRecorderRecordingGroupOutput{}) pulumi.RegisterOutputType(ConfigurationRecorderRecordingGroupPtrOutput{}) + pulumi.RegisterOutputType(ConfigurationRecorderRecordingModeOutput{}) + pulumi.RegisterOutputType(ConfigurationRecorderRecordingModePtrOutput{}) + pulumi.RegisterOutputType(ConfigurationRecorderRecordingModeOverrideOutput{}) + pulumi.RegisterOutputType(ConfigurationRecorderRecordingModeOverrideArrayOutput{}) pulumi.RegisterOutputType(ConfigurationRecorderRecordingStrategyOutput{}) pulumi.RegisterOutputType(ConfigurationRecorderRecordingStrategyPtrOutput{}) pulumi.RegisterOutputType(ConformancePackInputParameterOutput{}) diff --git a/sdk/go/aws/connect/getInstance.go b/sdk/go/aws/connect/getInstance.go index 22f27786ec..a4263032e3 100644 --- a/sdk/go/aws/connect/getInstance.go +++ b/sdk/go/aws/connect/getInstance.go @@ -41,6 +41,8 @@ type LookupInstanceResult struct { InstanceStatus *InstanceStatus `pulumi:"instanceStatus"` // Service linked role created as part of instance creation. ServiceRole *string `pulumi:"serviceRole"` + // An array of key-value pairs to apply to this resource. + Tags []InstanceTag `pulumi:"tags"` } func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput { @@ -115,6 +117,11 @@ func (o LookupInstanceResultOutput) ServiceRole() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.ServiceRole }).(pulumi.StringPtrOutput) } +// An array of key-value pairs to apply to this resource. +func (o LookupInstanceResultOutput) Tags() InstanceTagArrayOutput { + return o.ApplyT(func(v LookupInstanceResult) []InstanceTag { return v.Tags }).(InstanceTagArrayOutput) +} + func init() { pulumi.RegisterOutputType(LookupInstanceResultOutput{}) } diff --git a/sdk/go/aws/connect/instance.go b/sdk/go/aws/connect/instance.go index c796144508..dcb0caca17 100644 --- a/sdk/go/aws/connect/instance.go +++ b/sdk/go/aws/connect/instance.go @@ -33,6 +33,8 @@ type Instance struct { InstanceStatus InstanceStatusOutput `pulumi:"instanceStatus"` // Service linked role created as part of instance creation. ServiceRole pulumi.StringOutput `pulumi:"serviceRole"` + // An array of key-value pairs to apply to this resource. + Tags InstanceTagArrayOutput `pulumi:"tags"` } // NewInstance registers a new resource with the given unique name, arguments, and options. @@ -95,6 +97,8 @@ type instanceArgs struct { IdentityManagementType InstanceIdentityManagementType `pulumi:"identityManagementType"` // Alias of the new directory created as part of new instance creation. InstanceAlias *string `pulumi:"instanceAlias"` + // An array of key-value pairs to apply to this resource. + Tags []InstanceTag `pulumi:"tags"` } // The set of arguments for constructing a Instance resource. @@ -107,6 +111,8 @@ type InstanceArgs struct { IdentityManagementType InstanceIdentityManagementTypeInput // Alias of the new directory created as part of new instance creation. InstanceAlias pulumi.StringPtrInput + // An array of key-value pairs to apply to this resource. + Tags InstanceTagArrayInput } func (InstanceArgs) ElementType() reflect.Type { @@ -198,6 +204,11 @@ func (o InstanceOutput) ServiceRole() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ServiceRole }).(pulumi.StringOutput) } +// An array of key-value pairs to apply to this resource. +func (o InstanceOutput) Tags() InstanceTagArrayOutput { + return o.ApplyT(func(v *Instance) InstanceTagArrayOutput { return v.Tags }).(InstanceTagArrayOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceInput)(nil)).Elem(), &Instance{}) pulumi.RegisterOutputType(InstanceOutput{}) diff --git a/sdk/go/aws/connect/pulumiEnums.go b/sdk/go/aws/connect/pulumiEnums.go index b75ffd5864..d7c0775a6e 100644 --- a/sdk/go/aws/connect/pulumiEnums.go +++ b/sdk/go/aws/connect/pulumiEnums.go @@ -2708,6 +2708,7 @@ type IntegrationAssociationIntegrationType string const ( IntegrationAssociationIntegrationTypeLexBot = IntegrationAssociationIntegrationType("LEX_BOT") IntegrationAssociationIntegrationTypeLambdaFunction = IntegrationAssociationIntegrationType("LAMBDA_FUNCTION") + IntegrationAssociationIntegrationTypeApplication = IntegrationAssociationIntegrationType("APPLICATION") ) func (IntegrationAssociationIntegrationType) ElementType() reflect.Type { diff --git a/sdk/go/aws/connect/pulumiTypes.go b/sdk/go/aws/connect/pulumiTypes.go index 39fbe3cb85..209775f103 100644 --- a/sdk/go/aws/connect/pulumiTypes.go +++ b/sdk/go/aws/connect/pulumiTypes.go @@ -4243,9 +4243,9 @@ func (o InstanceStorageConfigKinesisStreamConfigPtrOutput) StreamArn() pulumi.St } type InstanceStorageConfigKinesisVideoStreamConfig struct { - EncryptionConfig *InstanceStorageConfigEncryptionConfig `pulumi:"encryptionConfig"` - Prefix string `pulumi:"prefix"` - RetentionPeriodHours float64 `pulumi:"retentionPeriodHours"` + EncryptionConfig InstanceStorageConfigEncryptionConfig `pulumi:"encryptionConfig"` + Prefix string `pulumi:"prefix"` + RetentionPeriodHours float64 `pulumi:"retentionPeriodHours"` } // InstanceStorageConfigKinesisVideoStreamConfigInput is an input type that accepts InstanceStorageConfigKinesisVideoStreamConfigArgs and InstanceStorageConfigKinesisVideoStreamConfigOutput values. @@ -4260,9 +4260,9 @@ type InstanceStorageConfigKinesisVideoStreamConfigInput interface { } type InstanceStorageConfigKinesisVideoStreamConfigArgs struct { - EncryptionConfig InstanceStorageConfigEncryptionConfigPtrInput `pulumi:"encryptionConfig"` - Prefix pulumi.StringInput `pulumi:"prefix"` - RetentionPeriodHours pulumi.Float64Input `pulumi:"retentionPeriodHours"` + EncryptionConfig InstanceStorageConfigEncryptionConfigInput `pulumi:"encryptionConfig"` + Prefix pulumi.StringInput `pulumi:"prefix"` + RetentionPeriodHours pulumi.Float64Input `pulumi:"retentionPeriodHours"` } func (InstanceStorageConfigKinesisVideoStreamConfigArgs) ElementType() reflect.Type { @@ -4360,10 +4360,10 @@ func (o InstanceStorageConfigKinesisVideoStreamConfigOutput) ToOutput(ctx contex } } -func (o InstanceStorageConfigKinesisVideoStreamConfigOutput) EncryptionConfig() InstanceStorageConfigEncryptionConfigPtrOutput { - return o.ApplyT(func(v InstanceStorageConfigKinesisVideoStreamConfig) *InstanceStorageConfigEncryptionConfig { +func (o InstanceStorageConfigKinesisVideoStreamConfigOutput) EncryptionConfig() InstanceStorageConfigEncryptionConfigOutput { + return o.ApplyT(func(v InstanceStorageConfigKinesisVideoStreamConfig) InstanceStorageConfigEncryptionConfig { return v.EncryptionConfig - }).(InstanceStorageConfigEncryptionConfigPtrOutput) + }).(InstanceStorageConfigEncryptionConfigOutput) } func (o InstanceStorageConfigKinesisVideoStreamConfigOutput) Prefix() pulumi.StringOutput { @@ -4409,7 +4409,7 @@ func (o InstanceStorageConfigKinesisVideoStreamConfigPtrOutput) EncryptionConfig if v == nil { return nil } - return v.EncryptionConfig + return &v.EncryptionConfig }).(InstanceStorageConfigEncryptionConfigPtrOutput) } @@ -4620,6 +4620,139 @@ func (o InstanceStorageConfigS3ConfigPtrOutput) EncryptionConfig() InstanceStora }).(InstanceStorageConfigEncryptionConfigPtrOutput) } +// A key-value pair to associate with a resource. +type InstanceTag struct { + // 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 -. + Key string `pulumi:"key"` + // 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 -. + Value string `pulumi:"value"` +} + +// InstanceTagInput is an input type that accepts InstanceTagArgs and InstanceTagOutput values. +// You can construct a concrete instance of `InstanceTagInput` via: +// +// InstanceTagArgs{...} +type InstanceTagInput interface { + pulumi.Input + + ToInstanceTagOutput() InstanceTagOutput + ToInstanceTagOutputWithContext(context.Context) InstanceTagOutput +} + +// A key-value pair to associate with a resource. +type InstanceTagArgs struct { + // 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 -. + Key pulumi.StringInput `pulumi:"key"` + // 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 -. + Value pulumi.StringInput `pulumi:"value"` +} + +func (InstanceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTag)(nil)).Elem() +} + +func (i InstanceTagArgs) ToInstanceTagOutput() InstanceTagOutput { + return i.ToInstanceTagOutputWithContext(context.Background()) +} + +func (i InstanceTagArgs) ToInstanceTagOutputWithContext(ctx context.Context) InstanceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTagOutput) +} + +func (i InstanceTagArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceTag] { + return pulumix.Output[InstanceTag]{ + OutputState: i.ToInstanceTagOutputWithContext(ctx).OutputState, + } +} + +// InstanceTagArrayInput is an input type that accepts InstanceTagArray and InstanceTagArrayOutput values. +// You can construct a concrete instance of `InstanceTagArrayInput` via: +// +// InstanceTagArray{ InstanceTagArgs{...} } +type InstanceTagArrayInput interface { + pulumi.Input + + ToInstanceTagArrayOutput() InstanceTagArrayOutput + ToInstanceTagArrayOutputWithContext(context.Context) InstanceTagArrayOutput +} + +type InstanceTagArray []InstanceTagInput + +func (InstanceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTag)(nil)).Elem() +} + +func (i InstanceTagArray) ToInstanceTagArrayOutput() InstanceTagArrayOutput { + return i.ToInstanceTagArrayOutputWithContext(context.Background()) +} + +func (i InstanceTagArray) ToInstanceTagArrayOutputWithContext(ctx context.Context) InstanceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceTagArrayOutput) +} + +func (i InstanceTagArray) ToOutput(ctx context.Context) pulumix.Output[[]InstanceTag] { + return pulumix.Output[[]InstanceTag]{ + OutputState: i.ToInstanceTagArrayOutputWithContext(ctx).OutputState, + } +} + +// A key-value pair to associate with a resource. +type InstanceTagOutput struct{ *pulumi.OutputState } + +func (InstanceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceTag)(nil)).Elem() +} + +func (o InstanceTagOutput) ToInstanceTagOutput() InstanceTagOutput { + return o +} + +func (o InstanceTagOutput) ToInstanceTagOutputWithContext(ctx context.Context) InstanceTagOutput { + return o +} + +func (o InstanceTagOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceTag] { + return pulumix.Output[InstanceTag]{ + OutputState: o.OutputState, + } +} + +// 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 -. +func (o InstanceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v InstanceTag) string { return v.Key }).(pulumi.StringOutput) +} + +// 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 -. +func (o InstanceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v InstanceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type InstanceTagArrayOutput struct{ *pulumi.OutputState } + +func (InstanceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceTag)(nil)).Elem() +} + +func (o InstanceTagArrayOutput) ToInstanceTagArrayOutput() InstanceTagArrayOutput { + return o +} + +func (o InstanceTagArrayOutput) ToInstanceTagArrayOutputWithContext(ctx context.Context) InstanceTagArrayOutput { + return o +} + +func (o InstanceTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]InstanceTag] { + return pulumix.Output[[]InstanceTag]{ + OutputState: o.OutputState, + } +} + +func (o InstanceTagArrayOutput) Index(i pulumi.IntInput) InstanceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceTag { + return vs[0].([]InstanceTag)[vs[1].(int)] + }).(InstanceTagOutput) +} + // A key-value pair to associate with a resource. type PhoneNumberTag struct { // 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 -. @@ -9527,6 +9660,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigKinesisVideoStreamConfigPtrInput)(nil)).Elem(), InstanceStorageConfigKinesisVideoStreamConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigS3ConfigInput)(nil)).Elem(), InstanceStorageConfigS3ConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigS3ConfigPtrInput)(nil)).Elem(), InstanceStorageConfigS3ConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTagInput)(nil)).Elem(), InstanceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceTagArrayInput)(nil)).Elem(), InstanceTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PhoneNumberTagInput)(nil)).Elem(), PhoneNumberTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PhoneNumberTagArrayInput)(nil)).Elem(), PhoneNumberTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PromptTagInput)(nil)).Elem(), PromptTagArgs{}) @@ -9646,6 +9781,8 @@ func init() { pulumi.RegisterOutputType(InstanceStorageConfigKinesisVideoStreamConfigPtrOutput{}) pulumi.RegisterOutputType(InstanceStorageConfigS3ConfigOutput{}) pulumi.RegisterOutputType(InstanceStorageConfigS3ConfigPtrOutput{}) + pulumi.RegisterOutputType(InstanceTagOutput{}) + pulumi.RegisterOutputType(InstanceTagArrayOutput{}) pulumi.RegisterOutputType(PhoneNumberTagOutput{}) pulumi.RegisterOutputType(PhoneNumberTagArrayOutput{}) pulumi.RegisterOutputType(PromptTagOutput{}) diff --git a/sdk/go/aws/dms/dataProvider.go b/sdk/go/aws/dms/dataProvider.go new file mode 100644 index 0000000000..a36952f28c --- /dev/null +++ b/sdk/go/aws/dms/dataProvider.go @@ -0,0 +1,214 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::DataProvider +type DataProvider struct { + pulumi.CustomResourceState + + // The data provider ARN. + DataProviderArn pulumi.StringOutput `pulumi:"dataProviderArn"` + // The data provider creation time. + DataProviderCreationTime pulumi.StringOutput `pulumi:"dataProviderCreationTime"` + // The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + DataProviderIdentifier pulumi.StringPtrOutput `pulumi:"dataProviderIdentifier"` + // The property describes a name to identify the data provider. + DataProviderName pulumi.StringPtrOutput `pulumi:"dataProviderName"` + // The optional description of the data provider. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The property describes a data engine for the data provider. + Engine DataProviderEngineOutput `pulumi:"engine"` + // The property describes the exact settings which can be modified + ExactSettings pulumi.BoolPtrOutput `pulumi:"exactSettings"` + // The property identifies the exact type of settings for the data provider. + Settings pulumi.AnyOutput `pulumi:"settings"` + // An array of key-value pairs to apply to this resource. + Tags DataProviderTagArrayOutput `pulumi:"tags"` +} + +// NewDataProvider registers a new resource with the given unique name, arguments, and options. +func NewDataProvider(ctx *pulumi.Context, + name string, args *DataProviderArgs, opts ...pulumi.ResourceOption) (*DataProvider, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Engine == nil { + return nil, errors.New("invalid value for required argument 'Engine'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DataProvider + err := ctx.RegisterResource("aws-native:dms:DataProvider", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDataProvider gets an existing DataProvider resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetDataProvider(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DataProviderState, opts ...pulumi.ResourceOption) (*DataProvider, error) { + var resource DataProvider + err := ctx.ReadResource("aws-native:dms:DataProvider", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DataProvider resources. +type dataProviderState struct { +} + +type DataProviderState struct { +} + +func (DataProviderState) ElementType() reflect.Type { + return reflect.TypeOf((*dataProviderState)(nil)).Elem() +} + +type dataProviderArgs struct { + // The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + DataProviderIdentifier *string `pulumi:"dataProviderIdentifier"` + // The property describes a name to identify the data provider. + DataProviderName *string `pulumi:"dataProviderName"` + // The optional description of the data provider. + Description *string `pulumi:"description"` + // The property describes a data engine for the data provider. + Engine DataProviderEngine `pulumi:"engine"` + // The property describes the exact settings which can be modified + ExactSettings *bool `pulumi:"exactSettings"` + // The property identifies the exact type of settings for the data provider. + Settings interface{} `pulumi:"settings"` + // An array of key-value pairs to apply to this resource. + Tags []DataProviderTag `pulumi:"tags"` +} + +// The set of arguments for constructing a DataProvider resource. +type DataProviderArgs struct { + // The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + DataProviderIdentifier pulumi.StringPtrInput + // The property describes a name to identify the data provider. + DataProviderName pulumi.StringPtrInput + // The optional description of the data provider. + Description pulumi.StringPtrInput + // The property describes a data engine for the data provider. + Engine DataProviderEngineInput + // The property describes the exact settings which can be modified + ExactSettings pulumi.BoolPtrInput + // The property identifies the exact type of settings for the data provider. + Settings pulumi.Input + // An array of key-value pairs to apply to this resource. + Tags DataProviderTagArrayInput +} + +func (DataProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dataProviderArgs)(nil)).Elem() +} + +type DataProviderInput interface { + pulumi.Input + + ToDataProviderOutput() DataProviderOutput + ToDataProviderOutputWithContext(ctx context.Context) DataProviderOutput +} + +func (*DataProvider) ElementType() reflect.Type { + return reflect.TypeOf((**DataProvider)(nil)).Elem() +} + +func (i *DataProvider) ToDataProviderOutput() DataProviderOutput { + return i.ToDataProviderOutputWithContext(context.Background()) +} + +func (i *DataProvider) ToDataProviderOutputWithContext(ctx context.Context) DataProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProviderOutput) +} + +func (i *DataProvider) ToOutput(ctx context.Context) pulumix.Output[*DataProvider] { + return pulumix.Output[*DataProvider]{ + OutputState: i.ToDataProviderOutputWithContext(ctx).OutputState, + } +} + +type DataProviderOutput struct{ *pulumi.OutputState } + +func (DataProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProvider)(nil)).Elem() +} + +func (o DataProviderOutput) ToDataProviderOutput() DataProviderOutput { + return o +} + +func (o DataProviderOutput) ToDataProviderOutputWithContext(ctx context.Context) DataProviderOutput { + return o +} + +func (o DataProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*DataProvider] { + return pulumix.Output[*DataProvider]{ + OutputState: o.OutputState, + } +} + +// The data provider ARN. +func (o DataProviderOutput) DataProviderArn() pulumi.StringOutput { + return o.ApplyT(func(v *DataProvider) pulumi.StringOutput { return v.DataProviderArn }).(pulumi.StringOutput) +} + +// The data provider creation time. +func (o DataProviderOutput) DataProviderCreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *DataProvider) pulumi.StringOutput { return v.DataProviderCreationTime }).(pulumi.StringOutput) +} + +// The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn +func (o DataProviderOutput) DataProviderIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProvider) pulumi.StringPtrOutput { return v.DataProviderIdentifier }).(pulumi.StringPtrOutput) +} + +// The property describes a name to identify the data provider. +func (o DataProviderOutput) DataProviderName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProvider) pulumi.StringPtrOutput { return v.DataProviderName }).(pulumi.StringPtrOutput) +} + +// The optional description of the data provider. +func (o DataProviderOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DataProvider) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes a data engine for the data provider. +func (o DataProviderOutput) Engine() DataProviderEngineOutput { + return o.ApplyT(func(v *DataProvider) DataProviderEngineOutput { return v.Engine }).(DataProviderEngineOutput) +} + +// The property describes the exact settings which can be modified +func (o DataProviderOutput) ExactSettings() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *DataProvider) pulumi.BoolPtrOutput { return v.ExactSettings }).(pulumi.BoolPtrOutput) +} + +// The property identifies the exact type of settings for the data provider. +func (o DataProviderOutput) Settings() pulumi.AnyOutput { + return o.ApplyT(func(v *DataProvider) pulumi.AnyOutput { return v.Settings }).(pulumi.AnyOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o DataProviderOutput) Tags() DataProviderTagArrayOutput { + return o.ApplyT(func(v *DataProvider) DataProviderTagArrayOutput { return v.Tags }).(DataProviderTagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProviderInput)(nil)).Elem(), &DataProvider{}) + pulumi.RegisterOutputType(DataProviderOutput{}) +} diff --git a/sdk/go/aws/dms/getDataProvider.go b/sdk/go/aws/dms/getDataProvider.go new file mode 100644 index 0000000000..e19236f847 --- /dev/null +++ b/sdk/go/aws/dms/getDataProvider.go @@ -0,0 +1,127 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::DataProvider +func LookupDataProvider(ctx *pulumi.Context, args *LookupDataProviderArgs, opts ...pulumi.InvokeOption) (*LookupDataProviderResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDataProviderResult + err := ctx.Invoke("aws-native:dms:getDataProvider", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupDataProviderArgs struct { + // The data provider ARN. + DataProviderArn string `pulumi:"dataProviderArn"` +} + +type LookupDataProviderResult struct { + // The data provider ARN. + DataProviderArn *string `pulumi:"dataProviderArn"` + // The data provider creation time. + DataProviderCreationTime *string `pulumi:"dataProviderCreationTime"` + // The property describes a name to identify the data provider. + DataProviderName *string `pulumi:"dataProviderName"` + // The optional description of the data provider. + Description *string `pulumi:"description"` + // The property describes a data engine for the data provider. + Engine *DataProviderEngine `pulumi:"engine"` + // The property identifies the exact type of settings for the data provider. + Settings interface{} `pulumi:"settings"` + // An array of key-value pairs to apply to this resource. + Tags []DataProviderTag `pulumi:"tags"` +} + +func LookupDataProviderOutput(ctx *pulumi.Context, args LookupDataProviderOutputArgs, opts ...pulumi.InvokeOption) LookupDataProviderResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupDataProviderResult, error) { + args := v.(LookupDataProviderArgs) + r, err := LookupDataProvider(ctx, &args, opts...) + var s LookupDataProviderResult + if r != nil { + s = *r + } + return s, err + }).(LookupDataProviderResultOutput) +} + +type LookupDataProviderOutputArgs struct { + // The data provider ARN. + DataProviderArn pulumi.StringInput `pulumi:"dataProviderArn"` +} + +func (LookupDataProviderOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataProviderArgs)(nil)).Elem() +} + +type LookupDataProviderResultOutput struct{ *pulumi.OutputState } + +func (LookupDataProviderResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDataProviderResult)(nil)).Elem() +} + +func (o LookupDataProviderResultOutput) ToLookupDataProviderResultOutput() LookupDataProviderResultOutput { + return o +} + +func (o LookupDataProviderResultOutput) ToLookupDataProviderResultOutputWithContext(ctx context.Context) LookupDataProviderResultOutput { + return o +} + +func (o LookupDataProviderResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupDataProviderResult] { + return pulumix.Output[LookupDataProviderResult]{ + OutputState: o.OutputState, + } +} + +// The data provider ARN. +func (o LookupDataProviderResultOutput) DataProviderArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProviderResult) *string { return v.DataProviderArn }).(pulumi.StringPtrOutput) +} + +// The data provider creation time. +func (o LookupDataProviderResultOutput) DataProviderCreationTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProviderResult) *string { return v.DataProviderCreationTime }).(pulumi.StringPtrOutput) +} + +// The property describes a name to identify the data provider. +func (o LookupDataProviderResultOutput) DataProviderName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProviderResult) *string { return v.DataProviderName }).(pulumi.StringPtrOutput) +} + +// The optional description of the data provider. +func (o LookupDataProviderResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDataProviderResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes a data engine for the data provider. +func (o LookupDataProviderResultOutput) Engine() DataProviderEnginePtrOutput { + return o.ApplyT(func(v LookupDataProviderResult) *DataProviderEngine { return v.Engine }).(DataProviderEnginePtrOutput) +} + +// The property identifies the exact type of settings for the data provider. +func (o LookupDataProviderResultOutput) Settings() pulumi.AnyOutput { + return o.ApplyT(func(v LookupDataProviderResult) interface{} { return v.Settings }).(pulumi.AnyOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupDataProviderResultOutput) Tags() DataProviderTagArrayOutput { + return o.ApplyT(func(v LookupDataProviderResult) []DataProviderTag { return v.Tags }).(DataProviderTagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDataProviderResultOutput{}) +} diff --git a/sdk/go/aws/dms/getInstanceProfile.go b/sdk/go/aws/dms/getInstanceProfile.go new file mode 100644 index 0000000000..443b63798f --- /dev/null +++ b/sdk/go/aws/dms/getInstanceProfile.go @@ -0,0 +1,155 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::InstanceProfile. +func LookupInstanceProfile(ctx *pulumi.Context, args *LookupInstanceProfileArgs, opts ...pulumi.InvokeOption) (*LookupInstanceProfileResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupInstanceProfileResult + err := ctx.Invoke("aws-native:dms:getInstanceProfile", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupInstanceProfileArgs struct { + // The property describes an ARN of the instance profile. + InstanceProfileArn string `pulumi:"instanceProfileArn"` +} + +type LookupInstanceProfileResult struct { + // The property describes an availability zone of the instance profile. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The optional description of the instance profile. + Description *string `pulumi:"description"` + // The property describes an ARN of the instance profile. + InstanceProfileArn *string `pulumi:"instanceProfileArn"` + // The property describes a creating time of the instance profile. + InstanceProfileCreationTime *string `pulumi:"instanceProfileCreationTime"` + // The property describes a name for the instance profile. + InstanceProfileName *string `pulumi:"instanceProfileName"` + // The property describes kms key arn for the instance profile. + KmsKeyArn *string `pulumi:"kmsKeyArn"` + // The property describes a network type for the instance profile. + NetworkType *InstanceProfileNetworkType `pulumi:"networkType"` + // The property describes the publicly accessible of the instance profile + PubliclyAccessible *bool `pulumi:"publiclyAccessible"` + // The property describes a subnet group identifier for the instance profile. + SubnetGroupIdentifier *string `pulumi:"subnetGroupIdentifier"` + // An array of key-value pairs to apply to this resource. + Tags []InstanceProfileTag `pulumi:"tags"` + // The property describes vps security groups for the instance profile. + VpcSecurityGroups []string `pulumi:"vpcSecurityGroups"` +} + +func LookupInstanceProfileOutput(ctx *pulumi.Context, args LookupInstanceProfileOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceProfileResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupInstanceProfileResult, error) { + args := v.(LookupInstanceProfileArgs) + r, err := LookupInstanceProfile(ctx, &args, opts...) + var s LookupInstanceProfileResult + if r != nil { + s = *r + } + return s, err + }).(LookupInstanceProfileResultOutput) +} + +type LookupInstanceProfileOutputArgs struct { + // The property describes an ARN of the instance profile. + InstanceProfileArn pulumi.StringInput `pulumi:"instanceProfileArn"` +} + +func (LookupInstanceProfileOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupInstanceProfileArgs)(nil)).Elem() +} + +type LookupInstanceProfileResultOutput struct{ *pulumi.OutputState } + +func (LookupInstanceProfileResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupInstanceProfileResult)(nil)).Elem() +} + +func (o LookupInstanceProfileResultOutput) ToLookupInstanceProfileResultOutput() LookupInstanceProfileResultOutput { + return o +} + +func (o LookupInstanceProfileResultOutput) ToLookupInstanceProfileResultOutputWithContext(ctx context.Context) LookupInstanceProfileResultOutput { + return o +} + +func (o LookupInstanceProfileResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupInstanceProfileResult] { + return pulumix.Output[LookupInstanceProfileResult]{ + OutputState: o.OutputState, + } +} + +// The property describes an availability zone of the instance profile. +func (o LookupInstanceProfileResultOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +// The optional description of the instance profile. +func (o LookupInstanceProfileResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes an ARN of the instance profile. +func (o LookupInstanceProfileResultOutput) InstanceProfileArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.InstanceProfileArn }).(pulumi.StringPtrOutput) +} + +// The property describes a creating time of the instance profile. +func (o LookupInstanceProfileResultOutput) InstanceProfileCreationTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.InstanceProfileCreationTime }).(pulumi.StringPtrOutput) +} + +// The property describes a name for the instance profile. +func (o LookupInstanceProfileResultOutput) InstanceProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.InstanceProfileName }).(pulumi.StringPtrOutput) +} + +// The property describes kms key arn for the instance profile. +func (o LookupInstanceProfileResultOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.KmsKeyArn }).(pulumi.StringPtrOutput) +} + +// The property describes a network type for the instance profile. +func (o LookupInstanceProfileResultOutput) NetworkType() InstanceProfileNetworkTypePtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *InstanceProfileNetworkType { return v.NetworkType }).(InstanceProfileNetworkTypePtrOutput) +} + +// The property describes the publicly accessible of the instance profile +func (o LookupInstanceProfileResultOutput) PubliclyAccessible() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *bool { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) +} + +// The property describes a subnet group identifier for the instance profile. +func (o LookupInstanceProfileResultOutput) SubnetGroupIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) *string { return v.SubnetGroupIdentifier }).(pulumi.StringPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupInstanceProfileResultOutput) Tags() InstanceProfileTagArrayOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) []InstanceProfileTag { return v.Tags }).(InstanceProfileTagArrayOutput) +} + +// The property describes vps security groups for the instance profile. +func (o LookupInstanceProfileResultOutput) VpcSecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupInstanceProfileResult) []string { return v.VpcSecurityGroups }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupInstanceProfileResultOutput{}) +} diff --git a/sdk/go/aws/dms/getMigrationProject.go b/sdk/go/aws/dms/getMigrationProject.go new file mode 100644 index 0000000000..9ad767f18a --- /dev/null +++ b/sdk/go/aws/dms/getMigrationProject.go @@ -0,0 +1,161 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::MigrationProject +func LookupMigrationProject(ctx *pulumi.Context, args *LookupMigrationProjectArgs, opts ...pulumi.InvokeOption) (*LookupMigrationProjectResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupMigrationProjectResult + err := ctx.Invoke("aws-native:dms:getMigrationProject", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupMigrationProjectArgs struct { + // The property describes an ARN of the migration project. + MigrationProjectArn string `pulumi:"migrationProjectArn"` +} + +type LookupMigrationProjectResult struct { + // The optional description of the migration project. + Description *string `pulumi:"description"` + // The property describes an instance profile arn for the migration project. For read + InstanceProfileArn *string `pulumi:"instanceProfileArn"` + // The property describes an instance profile name for the migration project. For read + InstanceProfileName *string `pulumi:"instanceProfileName"` + // The property describes an ARN of the migration project. + MigrationProjectArn *string `pulumi:"migrationProjectArn"` + // The property describes a creating time of the migration project. + MigrationProjectCreationTime *string `pulumi:"migrationProjectCreationTime"` + // The property describes a name to identify the migration project. + MigrationProjectName *string `pulumi:"migrationProjectName"` + // The property describes schema conversion application attributes for the migration project. + SchemaConversionApplicationAttributes *SchemaConversionApplicationAttributesProperties `pulumi:"schemaConversionApplicationAttributes"` + // The property describes source data provider descriptors for the migration project. + SourceDataProviderDescriptors []MigrationProjectDataProviderDescriptor `pulumi:"sourceDataProviderDescriptors"` + // An array of key-value pairs to apply to this resource. + Tags []MigrationProjectTag `pulumi:"tags"` + // The property describes target data provider descriptors for the migration project. + TargetDataProviderDescriptors []MigrationProjectDataProviderDescriptor `pulumi:"targetDataProviderDescriptors"` + // The property describes transformation rules for the migration project. + TransformationRules *string `pulumi:"transformationRules"` +} + +func LookupMigrationProjectOutput(ctx *pulumi.Context, args LookupMigrationProjectOutputArgs, opts ...pulumi.InvokeOption) LookupMigrationProjectResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupMigrationProjectResult, error) { + args := v.(LookupMigrationProjectArgs) + r, err := LookupMigrationProject(ctx, &args, opts...) + var s LookupMigrationProjectResult + if r != nil { + s = *r + } + return s, err + }).(LookupMigrationProjectResultOutput) +} + +type LookupMigrationProjectOutputArgs struct { + // The property describes an ARN of the migration project. + MigrationProjectArn pulumi.StringInput `pulumi:"migrationProjectArn"` +} + +func (LookupMigrationProjectOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMigrationProjectArgs)(nil)).Elem() +} + +type LookupMigrationProjectResultOutput struct{ *pulumi.OutputState } + +func (LookupMigrationProjectResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupMigrationProjectResult)(nil)).Elem() +} + +func (o LookupMigrationProjectResultOutput) ToLookupMigrationProjectResultOutput() LookupMigrationProjectResultOutput { + return o +} + +func (o LookupMigrationProjectResultOutput) ToLookupMigrationProjectResultOutputWithContext(ctx context.Context) LookupMigrationProjectResultOutput { + return o +} + +func (o LookupMigrationProjectResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupMigrationProjectResult] { + return pulumix.Output[LookupMigrationProjectResult]{ + OutputState: o.OutputState, + } +} + +// The optional description of the migration project. +func (o LookupMigrationProjectResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes an instance profile arn for the migration project. For read +func (o LookupMigrationProjectResultOutput) InstanceProfileArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.InstanceProfileArn }).(pulumi.StringPtrOutput) +} + +// The property describes an instance profile name for the migration project. For read +func (o LookupMigrationProjectResultOutput) InstanceProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.InstanceProfileName }).(pulumi.StringPtrOutput) +} + +// The property describes an ARN of the migration project. +func (o LookupMigrationProjectResultOutput) MigrationProjectArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.MigrationProjectArn }).(pulumi.StringPtrOutput) +} + +// The property describes a creating time of the migration project. +func (o LookupMigrationProjectResultOutput) MigrationProjectCreationTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.MigrationProjectCreationTime }).(pulumi.StringPtrOutput) +} + +// The property describes a name to identify the migration project. +func (o LookupMigrationProjectResultOutput) MigrationProjectName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.MigrationProjectName }).(pulumi.StringPtrOutput) +} + +// The property describes schema conversion application attributes for the migration project. +func (o LookupMigrationProjectResultOutput) SchemaConversionApplicationAttributes() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *SchemaConversionApplicationAttributesProperties { + return v.SchemaConversionApplicationAttributes + }).(SchemaConversionApplicationAttributesPropertiesPtrOutput) +} + +// The property describes source data provider descriptors for the migration project. +func (o LookupMigrationProjectResultOutput) SourceDataProviderDescriptors() MigrationProjectDataProviderDescriptorArrayOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) []MigrationProjectDataProviderDescriptor { + return v.SourceDataProviderDescriptors + }).(MigrationProjectDataProviderDescriptorArrayOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o LookupMigrationProjectResultOutput) Tags() MigrationProjectTagArrayOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) []MigrationProjectTag { return v.Tags }).(MigrationProjectTagArrayOutput) +} + +// The property describes target data provider descriptors for the migration project. +func (o LookupMigrationProjectResultOutput) TargetDataProviderDescriptors() MigrationProjectDataProviderDescriptorArrayOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) []MigrationProjectDataProviderDescriptor { + return v.TargetDataProviderDescriptors + }).(MigrationProjectDataProviderDescriptorArrayOutput) +} + +// The property describes transformation rules for the migration project. +func (o LookupMigrationProjectResultOutput) TransformationRules() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupMigrationProjectResult) *string { return v.TransformationRules }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupMigrationProjectResultOutput{}) +} diff --git a/sdk/go/aws/dms/getReplicationConfig.go b/sdk/go/aws/dms/getReplicationConfig.go index c1f882e9f0..ecd57b2fd6 100644 --- a/sdk/go/aws/dms/getReplicationConfig.go +++ b/sdk/go/aws/dms/getReplicationConfig.go @@ -38,8 +38,6 @@ type LookupReplicationConfigResult struct { ReplicationSettings interface{} `pulumi:"replicationSettings"` // The type of AWS DMS Serverless replication to provision using this replication configuration ReplicationType *ReplicationConfigReplicationType `pulumi:"replicationType"` - // 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 - ResourceIdentifier *string `pulumi:"resourceIdentifier"` // The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration SourceEndpointArn *string `pulumi:"sourceEndpointArn"` // JSON settings for specifying supplemental data @@ -118,11 +116,6 @@ func (o LookupReplicationConfigResultOutput) ReplicationType() ReplicationConfig return o.ApplyT(func(v LookupReplicationConfigResult) *ReplicationConfigReplicationType { return v.ReplicationType }).(ReplicationConfigReplicationTypePtrOutput) } -// 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 -func (o LookupReplicationConfigResultOutput) ResourceIdentifier() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupReplicationConfigResult) *string { return v.ResourceIdentifier }).(pulumi.StringPtrOutput) -} - // The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration func (o LookupReplicationConfigResultOutput) SourceEndpointArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupReplicationConfigResult) *string { return v.SourceEndpointArn }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/dms/init.go b/sdk/go/aws/dms/init.go index 92ba1ad8ac..53336b1c4c 100644 --- a/sdk/go/aws/dms/init.go +++ b/sdk/go/aws/dms/init.go @@ -23,10 +23,16 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:dms:Certificate": r = &Certificate{} + case "aws-native:dms:DataProvider": + r = &DataProvider{} case "aws-native:dms:Endpoint": r = &Endpoint{} case "aws-native:dms:EventSubscription": r = &EventSubscription{} + case "aws-native:dms:InstanceProfile": + r = &InstanceProfile{} + case "aws-native:dms:MigrationProject": + r = &MigrationProject{} case "aws-native:dms:ReplicationConfig": r = &ReplicationConfig{} case "aws-native:dms:ReplicationInstance": diff --git a/sdk/go/aws/dms/instanceProfile.go b/sdk/go/aws/dms/instanceProfile.go new file mode 100644 index 0000000000..4f2f181d9e --- /dev/null +++ b/sdk/go/aws/dms/instanceProfile.go @@ -0,0 +1,243 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::InstanceProfile. +type InstanceProfile struct { + pulumi.CustomResourceState + + // The property describes an availability zone of the instance profile. + AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"` + // The optional description of the instance profile. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The property describes an ARN of the instance profile. + InstanceProfileArn pulumi.StringOutput `pulumi:"instanceProfileArn"` + // The property describes a creating time of the instance profile. + InstanceProfileCreationTime pulumi.StringOutput `pulumi:"instanceProfileCreationTime"` + // The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + InstanceProfileIdentifier pulumi.StringPtrOutput `pulumi:"instanceProfileIdentifier"` + // The property describes a name for the instance profile. + InstanceProfileName pulumi.StringPtrOutput `pulumi:"instanceProfileName"` + // The property describes kms key arn for the instance profile. + KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"` + // The property describes a network type for the instance profile. + NetworkType InstanceProfileNetworkTypePtrOutput `pulumi:"networkType"` + // The property describes the publicly accessible of the instance profile + PubliclyAccessible pulumi.BoolPtrOutput `pulumi:"publiclyAccessible"` + // The property describes a subnet group identifier for the instance profile. + SubnetGroupIdentifier pulumi.StringPtrOutput `pulumi:"subnetGroupIdentifier"` + // An array of key-value pairs to apply to this resource. + Tags InstanceProfileTagArrayOutput `pulumi:"tags"` + // The property describes vps security groups for the instance profile. + VpcSecurityGroups pulumi.StringArrayOutput `pulumi:"vpcSecurityGroups"` +} + +// NewInstanceProfile registers a new resource with the given unique name, arguments, and options. +func NewInstanceProfile(ctx *pulumi.Context, + name string, args *InstanceProfileArgs, opts ...pulumi.ResourceOption) (*InstanceProfile, error) { + if args == nil { + args = &InstanceProfileArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource InstanceProfile + err := ctx.RegisterResource("aws-native:dms:InstanceProfile", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetInstanceProfile gets an existing InstanceProfile resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetInstanceProfile(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *InstanceProfileState, opts ...pulumi.ResourceOption) (*InstanceProfile, error) { + var resource InstanceProfile + err := ctx.ReadResource("aws-native:dms:InstanceProfile", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering InstanceProfile resources. +type instanceProfileState struct { +} + +type InstanceProfileState struct { +} + +func (InstanceProfileState) ElementType() reflect.Type { + return reflect.TypeOf((*instanceProfileState)(nil)).Elem() +} + +type instanceProfileArgs struct { + // The property describes an availability zone of the instance profile. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The optional description of the instance profile. + Description *string `pulumi:"description"` + // The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + InstanceProfileIdentifier *string `pulumi:"instanceProfileIdentifier"` + // The property describes a name for the instance profile. + InstanceProfileName *string `pulumi:"instanceProfileName"` + // The property describes kms key arn for the instance profile. + KmsKeyArn *string `pulumi:"kmsKeyArn"` + // The property describes a network type for the instance profile. + NetworkType *InstanceProfileNetworkType `pulumi:"networkType"` + // The property describes the publicly accessible of the instance profile + PubliclyAccessible *bool `pulumi:"publiclyAccessible"` + // The property describes a subnet group identifier for the instance profile. + SubnetGroupIdentifier *string `pulumi:"subnetGroupIdentifier"` + // An array of key-value pairs to apply to this resource. + Tags []InstanceProfileTag `pulumi:"tags"` + // The property describes vps security groups for the instance profile. + VpcSecurityGroups []string `pulumi:"vpcSecurityGroups"` +} + +// The set of arguments for constructing a InstanceProfile resource. +type InstanceProfileArgs struct { + // The property describes an availability zone of the instance profile. + AvailabilityZone pulumi.StringPtrInput + // The optional description of the instance profile. + Description pulumi.StringPtrInput + // The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + InstanceProfileIdentifier pulumi.StringPtrInput + // The property describes a name for the instance profile. + InstanceProfileName pulumi.StringPtrInput + // The property describes kms key arn for the instance profile. + KmsKeyArn pulumi.StringPtrInput + // The property describes a network type for the instance profile. + NetworkType InstanceProfileNetworkTypePtrInput + // The property describes the publicly accessible of the instance profile + PubliclyAccessible pulumi.BoolPtrInput + // The property describes a subnet group identifier for the instance profile. + SubnetGroupIdentifier pulumi.StringPtrInput + // An array of key-value pairs to apply to this resource. + Tags InstanceProfileTagArrayInput + // The property describes vps security groups for the instance profile. + VpcSecurityGroups pulumi.StringArrayInput +} + +func (InstanceProfileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*instanceProfileArgs)(nil)).Elem() +} + +type InstanceProfileInput interface { + pulumi.Input + + ToInstanceProfileOutput() InstanceProfileOutput + ToInstanceProfileOutputWithContext(ctx context.Context) InstanceProfileOutput +} + +func (*InstanceProfile) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceProfile)(nil)).Elem() +} + +func (i *InstanceProfile) ToInstanceProfileOutput() InstanceProfileOutput { + return i.ToInstanceProfileOutputWithContext(context.Background()) +} + +func (i *InstanceProfile) ToInstanceProfileOutputWithContext(ctx context.Context) InstanceProfileOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceProfileOutput) +} + +func (i *InstanceProfile) ToOutput(ctx context.Context) pulumix.Output[*InstanceProfile] { + return pulumix.Output[*InstanceProfile]{ + OutputState: i.ToInstanceProfileOutputWithContext(ctx).OutputState, + } +} + +type InstanceProfileOutput struct{ *pulumi.OutputState } + +func (InstanceProfileOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceProfile)(nil)).Elem() +} + +func (o InstanceProfileOutput) ToInstanceProfileOutput() InstanceProfileOutput { + return o +} + +func (o InstanceProfileOutput) ToInstanceProfileOutputWithContext(ctx context.Context) InstanceProfileOutput { + return o +} + +func (o InstanceProfileOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceProfile] { + return pulumix.Output[*InstanceProfile]{ + OutputState: o.OutputState, + } +} + +// The property describes an availability zone of the instance profile. +func (o InstanceProfileOutput) AvailabilityZone() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.AvailabilityZone }).(pulumi.StringPtrOutput) +} + +// The optional description of the instance profile. +func (o InstanceProfileOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes an ARN of the instance profile. +func (o InstanceProfileOutput) InstanceProfileArn() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringOutput { return v.InstanceProfileArn }).(pulumi.StringOutput) +} + +// The property describes a creating time of the instance profile. +func (o InstanceProfileOutput) InstanceProfileCreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringOutput { return v.InstanceProfileCreationTime }).(pulumi.StringOutput) +} + +// The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn +func (o InstanceProfileOutput) InstanceProfileIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.InstanceProfileIdentifier }).(pulumi.StringPtrOutput) +} + +// The property describes a name for the instance profile. +func (o InstanceProfileOutput) InstanceProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.InstanceProfileName }).(pulumi.StringPtrOutput) +} + +// The property describes kms key arn for the instance profile. +func (o InstanceProfileOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.KmsKeyArn }).(pulumi.StringPtrOutput) +} + +// The property describes a network type for the instance profile. +func (o InstanceProfileOutput) NetworkType() InstanceProfileNetworkTypePtrOutput { + return o.ApplyT(func(v *InstanceProfile) InstanceProfileNetworkTypePtrOutput { return v.NetworkType }).(InstanceProfileNetworkTypePtrOutput) +} + +// The property describes the publicly accessible of the instance profile +func (o InstanceProfileOutput) PubliclyAccessible() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.BoolPtrOutput { return v.PubliclyAccessible }).(pulumi.BoolPtrOutput) +} + +// The property describes a subnet group identifier for the instance profile. +func (o InstanceProfileOutput) SubnetGroupIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.SubnetGroupIdentifier }).(pulumi.StringPtrOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o InstanceProfileOutput) Tags() InstanceProfileTagArrayOutput { + return o.ApplyT(func(v *InstanceProfile) InstanceProfileTagArrayOutput { return v.Tags }).(InstanceProfileTagArrayOutput) +} + +// The property describes vps security groups for the instance profile. +func (o InstanceProfileOutput) VpcSecurityGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringArrayOutput { return v.VpcSecurityGroups }).(pulumi.StringArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*InstanceProfileInput)(nil)).Elem(), &InstanceProfile{}) + pulumi.RegisterOutputType(InstanceProfileOutput{}) +} diff --git a/sdk/go/aws/dms/migrationProject.go b/sdk/go/aws/dms/migrationProject.go new file mode 100644 index 0000000000..2c47e4a66b --- /dev/null +++ b/sdk/go/aws/dms/migrationProject.go @@ -0,0 +1,264 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package dms + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::DMS::MigrationProject +type MigrationProject struct { + pulumi.CustomResourceState + + // The optional description of the migration project. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The property describes an instance profile arn for the migration project. For read + InstanceProfileArn pulumi.StringPtrOutput `pulumi:"instanceProfileArn"` + // The property describes an instance profile identifier for the migration project. For create + InstanceProfileIdentifier pulumi.StringPtrOutput `pulumi:"instanceProfileIdentifier"` + // The property describes an instance profile name for the migration project. For read + InstanceProfileName pulumi.StringPtrOutput `pulumi:"instanceProfileName"` + // The property describes an ARN of the migration project. + MigrationProjectArn pulumi.StringOutput `pulumi:"migrationProjectArn"` + // The property describes a creating time of the migration project. + MigrationProjectCreationTime pulumi.StringPtrOutput `pulumi:"migrationProjectCreationTime"` + // The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + MigrationProjectIdentifier pulumi.StringPtrOutput `pulumi:"migrationProjectIdentifier"` + // The property describes a name to identify the migration project. + MigrationProjectName pulumi.StringPtrOutput `pulumi:"migrationProjectName"` + // The property describes schema conversion application attributes for the migration project. + SchemaConversionApplicationAttributes SchemaConversionApplicationAttributesPropertiesPtrOutput `pulumi:"schemaConversionApplicationAttributes"` + // The property describes source data provider descriptors for the migration project. + SourceDataProviderDescriptors MigrationProjectDataProviderDescriptorArrayOutput `pulumi:"sourceDataProviderDescriptors"` + // An array of key-value pairs to apply to this resource. + Tags MigrationProjectTagArrayOutput `pulumi:"tags"` + // The property describes target data provider descriptors for the migration project. + TargetDataProviderDescriptors MigrationProjectDataProviderDescriptorArrayOutput `pulumi:"targetDataProviderDescriptors"` + // The property describes transformation rules for the migration project. + TransformationRules pulumi.StringPtrOutput `pulumi:"transformationRules"` +} + +// NewMigrationProject registers a new resource with the given unique name, arguments, and options. +func NewMigrationProject(ctx *pulumi.Context, + name string, args *MigrationProjectArgs, opts ...pulumi.ResourceOption) (*MigrationProject, error) { + if args == nil { + args = &MigrationProjectArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource MigrationProject + err := ctx.RegisterResource("aws-native:dms:MigrationProject", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetMigrationProject gets an existing MigrationProject resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetMigrationProject(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *MigrationProjectState, opts ...pulumi.ResourceOption) (*MigrationProject, error) { + var resource MigrationProject + err := ctx.ReadResource("aws-native:dms:MigrationProject", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering MigrationProject resources. +type migrationProjectState struct { +} + +type MigrationProjectState struct { +} + +func (MigrationProjectState) ElementType() reflect.Type { + return reflect.TypeOf((*migrationProjectState)(nil)).Elem() +} + +type migrationProjectArgs struct { + // The optional description of the migration project. + Description *string `pulumi:"description"` + // The property describes an instance profile arn for the migration project. For read + InstanceProfileArn *string `pulumi:"instanceProfileArn"` + // The property describes an instance profile identifier for the migration project. For create + InstanceProfileIdentifier *string `pulumi:"instanceProfileIdentifier"` + // The property describes an instance profile name for the migration project. For read + InstanceProfileName *string `pulumi:"instanceProfileName"` + // The property describes a creating time of the migration project. + MigrationProjectCreationTime *string `pulumi:"migrationProjectCreationTime"` + // The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + MigrationProjectIdentifier *string `pulumi:"migrationProjectIdentifier"` + // The property describes a name to identify the migration project. + MigrationProjectName *string `pulumi:"migrationProjectName"` + // The property describes schema conversion application attributes for the migration project. + SchemaConversionApplicationAttributes *SchemaConversionApplicationAttributesProperties `pulumi:"schemaConversionApplicationAttributes"` + // The property describes source data provider descriptors for the migration project. + SourceDataProviderDescriptors []MigrationProjectDataProviderDescriptor `pulumi:"sourceDataProviderDescriptors"` + // An array of key-value pairs to apply to this resource. + Tags []MigrationProjectTag `pulumi:"tags"` + // The property describes target data provider descriptors for the migration project. + TargetDataProviderDescriptors []MigrationProjectDataProviderDescriptor `pulumi:"targetDataProviderDescriptors"` + // The property describes transformation rules for the migration project. + TransformationRules *string `pulumi:"transformationRules"` +} + +// The set of arguments for constructing a MigrationProject resource. +type MigrationProjectArgs struct { + // The optional description of the migration project. + Description pulumi.StringPtrInput + // The property describes an instance profile arn for the migration project. For read + InstanceProfileArn pulumi.StringPtrInput + // The property describes an instance profile identifier for the migration project. For create + InstanceProfileIdentifier pulumi.StringPtrInput + // The property describes an instance profile name for the migration project. For read + InstanceProfileName pulumi.StringPtrInput + // The property describes a creating time of the migration project. + MigrationProjectCreationTime pulumi.StringPtrInput + // The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + MigrationProjectIdentifier pulumi.StringPtrInput + // The property describes a name to identify the migration project. + MigrationProjectName pulumi.StringPtrInput + // The property describes schema conversion application attributes for the migration project. + SchemaConversionApplicationAttributes SchemaConversionApplicationAttributesPropertiesPtrInput + // The property describes source data provider descriptors for the migration project. + SourceDataProviderDescriptors MigrationProjectDataProviderDescriptorArrayInput + // An array of key-value pairs to apply to this resource. + Tags MigrationProjectTagArrayInput + // The property describes target data provider descriptors for the migration project. + TargetDataProviderDescriptors MigrationProjectDataProviderDescriptorArrayInput + // The property describes transformation rules for the migration project. + TransformationRules pulumi.StringPtrInput +} + +func (MigrationProjectArgs) ElementType() reflect.Type { + return reflect.TypeOf((*migrationProjectArgs)(nil)).Elem() +} + +type MigrationProjectInput interface { + pulumi.Input + + ToMigrationProjectOutput() MigrationProjectOutput + ToMigrationProjectOutputWithContext(ctx context.Context) MigrationProjectOutput +} + +func (*MigrationProject) ElementType() reflect.Type { + return reflect.TypeOf((**MigrationProject)(nil)).Elem() +} + +func (i *MigrationProject) ToMigrationProjectOutput() MigrationProjectOutput { + return i.ToMigrationProjectOutputWithContext(context.Background()) +} + +func (i *MigrationProject) ToMigrationProjectOutputWithContext(ctx context.Context) MigrationProjectOutput { + return pulumi.ToOutputWithContext(ctx, i).(MigrationProjectOutput) +} + +func (i *MigrationProject) ToOutput(ctx context.Context) pulumix.Output[*MigrationProject] { + return pulumix.Output[*MigrationProject]{ + OutputState: i.ToMigrationProjectOutputWithContext(ctx).OutputState, + } +} + +type MigrationProjectOutput struct{ *pulumi.OutputState } + +func (MigrationProjectOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MigrationProject)(nil)).Elem() +} + +func (o MigrationProjectOutput) ToMigrationProjectOutput() MigrationProjectOutput { + return o +} + +func (o MigrationProjectOutput) ToMigrationProjectOutputWithContext(ctx context.Context) MigrationProjectOutput { + return o +} + +func (o MigrationProjectOutput) ToOutput(ctx context.Context) pulumix.Output[*MigrationProject] { + return pulumix.Output[*MigrationProject]{ + OutputState: o.OutputState, + } +} + +// The optional description of the migration project. +func (o MigrationProjectOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The property describes an instance profile arn for the migration project. For read +func (o MigrationProjectOutput) InstanceProfileArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.InstanceProfileArn }).(pulumi.StringPtrOutput) +} + +// The property describes an instance profile identifier for the migration project. For create +func (o MigrationProjectOutput) InstanceProfileIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.InstanceProfileIdentifier }).(pulumi.StringPtrOutput) +} + +// The property describes an instance profile name for the migration project. For read +func (o MigrationProjectOutput) InstanceProfileName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.InstanceProfileName }).(pulumi.StringPtrOutput) +} + +// The property describes an ARN of the migration project. +func (o MigrationProjectOutput) MigrationProjectArn() pulumi.StringOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringOutput { return v.MigrationProjectArn }).(pulumi.StringOutput) +} + +// The property describes a creating time of the migration project. +func (o MigrationProjectOutput) MigrationProjectCreationTime() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.MigrationProjectCreationTime }).(pulumi.StringPtrOutput) +} + +// The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn +func (o MigrationProjectOutput) MigrationProjectIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.MigrationProjectIdentifier }).(pulumi.StringPtrOutput) +} + +// The property describes a name to identify the migration project. +func (o MigrationProjectOutput) MigrationProjectName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.MigrationProjectName }).(pulumi.StringPtrOutput) +} + +// The property describes schema conversion application attributes for the migration project. +func (o MigrationProjectOutput) SchemaConversionApplicationAttributes() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o.ApplyT(func(v *MigrationProject) SchemaConversionApplicationAttributesPropertiesPtrOutput { + return v.SchemaConversionApplicationAttributes + }).(SchemaConversionApplicationAttributesPropertiesPtrOutput) +} + +// The property describes source data provider descriptors for the migration project. +func (o MigrationProjectOutput) SourceDataProviderDescriptors() MigrationProjectDataProviderDescriptorArrayOutput { + return o.ApplyT(func(v *MigrationProject) MigrationProjectDataProviderDescriptorArrayOutput { + return v.SourceDataProviderDescriptors + }).(MigrationProjectDataProviderDescriptorArrayOutput) +} + +// An array of key-value pairs to apply to this resource. +func (o MigrationProjectOutput) Tags() MigrationProjectTagArrayOutput { + return o.ApplyT(func(v *MigrationProject) MigrationProjectTagArrayOutput { return v.Tags }).(MigrationProjectTagArrayOutput) +} + +// The property describes target data provider descriptors for the migration project. +func (o MigrationProjectOutput) TargetDataProviderDescriptors() MigrationProjectDataProviderDescriptorArrayOutput { + return o.ApplyT(func(v *MigrationProject) MigrationProjectDataProviderDescriptorArrayOutput { + return v.TargetDataProviderDescriptors + }).(MigrationProjectDataProviderDescriptorArrayOutput) +} + +// The property describes transformation rules for the migration project. +func (o MigrationProjectOutput) TransformationRules() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MigrationProject) pulumi.StringPtrOutput { return v.TransformationRules }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*MigrationProjectInput)(nil)).Elem(), &MigrationProject{}) + pulumi.RegisterOutputType(MigrationProjectOutput{}) +} diff --git a/sdk/go/aws/dms/pulumiEnums.go b/sdk/go/aws/dms/pulumiEnums.go index 7b8eaad65c..7e1a26c23d 100644 --- a/sdk/go/aws/dms/pulumiEnums.go +++ b/sdk/go/aws/dms/pulumiEnums.go @@ -11,6 +11,386 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) +type DataProviderDmsSslModeValue string + +const ( + DataProviderDmsSslModeValueNone = DataProviderDmsSslModeValue("none") + DataProviderDmsSslModeValueRequire = DataProviderDmsSslModeValue("require") + DataProviderDmsSslModeValueVerifyCa = DataProviderDmsSslModeValue("verify_ca") + DataProviderDmsSslModeValueVerifyFull = DataProviderDmsSslModeValue("verify_full") +) + +// The property describes a data engine for the data provider. +type DataProviderEngine string + +const ( + DataProviderEnginePostgresql = DataProviderEngine("postgresql") + DataProviderEngineMysql = DataProviderEngine("mysql") + DataProviderEngineOracle = DataProviderEngine("oracle") + DataProviderEngineSqlserver = DataProviderEngine("sqlserver") + DataProviderEngineAurora = DataProviderEngine("aurora") + DataProviderEngineAuroraPostgresql = DataProviderEngine("aurora_postgresql") +) + +func (DataProviderEngine) ElementType() reflect.Type { + return reflect.TypeOf((*DataProviderEngine)(nil)).Elem() +} + +func (e DataProviderEngine) ToDataProviderEngineOutput() DataProviderEngineOutput { + return pulumi.ToOutput(e).(DataProviderEngineOutput) +} + +func (e DataProviderEngine) ToDataProviderEngineOutputWithContext(ctx context.Context) DataProviderEngineOutput { + return pulumi.ToOutputWithContext(ctx, e).(DataProviderEngineOutput) +} + +func (e DataProviderEngine) ToDataProviderEnginePtrOutput() DataProviderEnginePtrOutput { + return e.ToDataProviderEnginePtrOutputWithContext(context.Background()) +} + +func (e DataProviderEngine) ToDataProviderEnginePtrOutputWithContext(ctx context.Context) DataProviderEnginePtrOutput { + return DataProviderEngine(e).ToDataProviderEngineOutputWithContext(ctx).ToDataProviderEnginePtrOutputWithContext(ctx) +} + +func (e DataProviderEngine) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataProviderEngine) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DataProviderEngine) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DataProviderEngine) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DataProviderEngineOutput struct{ *pulumi.OutputState } + +func (DataProviderEngineOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProviderEngine)(nil)).Elem() +} + +func (o DataProviderEngineOutput) ToDataProviderEngineOutput() DataProviderEngineOutput { + return o +} + +func (o DataProviderEngineOutput) ToDataProviderEngineOutputWithContext(ctx context.Context) DataProviderEngineOutput { + return o +} + +func (o DataProviderEngineOutput) ToDataProviderEnginePtrOutput() DataProviderEnginePtrOutput { + return o.ToDataProviderEnginePtrOutputWithContext(context.Background()) +} + +func (o DataProviderEngineOutput) ToDataProviderEnginePtrOutputWithContext(ctx context.Context) DataProviderEnginePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DataProviderEngine) *DataProviderEngine { + return &v + }).(DataProviderEnginePtrOutput) +} + +func (o DataProviderEngineOutput) ToOutput(ctx context.Context) pulumix.Output[DataProviderEngine] { + return pulumix.Output[DataProviderEngine]{ + OutputState: o.OutputState, + } +} + +func (o DataProviderEngineOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DataProviderEngineOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataProviderEngine) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DataProviderEngineOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataProviderEngineOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DataProviderEngine) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DataProviderEnginePtrOutput struct{ *pulumi.OutputState } + +func (DataProviderEnginePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProviderEngine)(nil)).Elem() +} + +func (o DataProviderEnginePtrOutput) ToDataProviderEnginePtrOutput() DataProviderEnginePtrOutput { + return o +} + +func (o DataProviderEnginePtrOutput) ToDataProviderEnginePtrOutputWithContext(ctx context.Context) DataProviderEnginePtrOutput { + return o +} + +func (o DataProviderEnginePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DataProviderEngine] { + return pulumix.Output[*DataProviderEngine]{ + OutputState: o.OutputState, + } +} + +func (o DataProviderEnginePtrOutput) Elem() DataProviderEngineOutput { + return o.ApplyT(func(v *DataProviderEngine) DataProviderEngine { + if v != nil { + return *v + } + var ret DataProviderEngine + return ret + }).(DataProviderEngineOutput) +} + +func (o DataProviderEnginePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DataProviderEnginePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DataProviderEngine) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DataProviderEngineInput is an input type that accepts DataProviderEngineArgs and DataProviderEngineOutput values. +// You can construct a concrete instance of `DataProviderEngineInput` via: +// +// DataProviderEngineArgs{...} +type DataProviderEngineInput interface { + pulumi.Input + + ToDataProviderEngineOutput() DataProviderEngineOutput + ToDataProviderEngineOutputWithContext(context.Context) DataProviderEngineOutput +} + +var dataProviderEnginePtrType = reflect.TypeOf((**DataProviderEngine)(nil)).Elem() + +type DataProviderEnginePtrInput interface { + pulumi.Input + + ToDataProviderEnginePtrOutput() DataProviderEnginePtrOutput + ToDataProviderEnginePtrOutputWithContext(context.Context) DataProviderEnginePtrOutput +} + +type dataProviderEnginePtr string + +func DataProviderEnginePtr(v string) DataProviderEnginePtrInput { + return (*dataProviderEnginePtr)(&v) +} + +func (*dataProviderEnginePtr) ElementType() reflect.Type { + return dataProviderEnginePtrType +} + +func (in *dataProviderEnginePtr) ToDataProviderEnginePtrOutput() DataProviderEnginePtrOutput { + return pulumi.ToOutput(in).(DataProviderEnginePtrOutput) +} + +func (in *dataProviderEnginePtr) ToDataProviderEnginePtrOutputWithContext(ctx context.Context) DataProviderEnginePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DataProviderEnginePtrOutput) +} + +func (in *dataProviderEnginePtr) ToOutput(ctx context.Context) pulumix.Output[*DataProviderEngine] { + return pulumix.Output[*DataProviderEngine]{ + OutputState: in.ToDataProviderEnginePtrOutputWithContext(ctx).OutputState, + } +} + +// The property describes a network type for the instance profile. +type InstanceProfileNetworkType string + +const ( + InstanceProfileNetworkTypeIpv4 = InstanceProfileNetworkType("IPV4") + InstanceProfileNetworkTypeIpv6 = InstanceProfileNetworkType("IPV6") + InstanceProfileNetworkTypeDual = InstanceProfileNetworkType("DUAL") +) + +func (InstanceProfileNetworkType) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceProfileNetworkType)(nil)).Elem() +} + +func (e InstanceProfileNetworkType) ToInstanceProfileNetworkTypeOutput() InstanceProfileNetworkTypeOutput { + return pulumi.ToOutput(e).(InstanceProfileNetworkTypeOutput) +} + +func (e InstanceProfileNetworkType) ToInstanceProfileNetworkTypeOutputWithContext(ctx context.Context) InstanceProfileNetworkTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(InstanceProfileNetworkTypeOutput) +} + +func (e InstanceProfileNetworkType) ToInstanceProfileNetworkTypePtrOutput() InstanceProfileNetworkTypePtrOutput { + return e.ToInstanceProfileNetworkTypePtrOutputWithContext(context.Background()) +} + +func (e InstanceProfileNetworkType) ToInstanceProfileNetworkTypePtrOutputWithContext(ctx context.Context) InstanceProfileNetworkTypePtrOutput { + return InstanceProfileNetworkType(e).ToInstanceProfileNetworkTypeOutputWithContext(ctx).ToInstanceProfileNetworkTypePtrOutputWithContext(ctx) +} + +func (e InstanceProfileNetworkType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstanceProfileNetworkType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstanceProfileNetworkType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e InstanceProfileNetworkType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type InstanceProfileNetworkTypeOutput struct{ *pulumi.OutputState } + +func (InstanceProfileNetworkTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceProfileNetworkType)(nil)).Elem() +} + +func (o InstanceProfileNetworkTypeOutput) ToInstanceProfileNetworkTypeOutput() InstanceProfileNetworkTypeOutput { + return o +} + +func (o InstanceProfileNetworkTypeOutput) ToInstanceProfileNetworkTypeOutputWithContext(ctx context.Context) InstanceProfileNetworkTypeOutput { + return o +} + +func (o InstanceProfileNetworkTypeOutput) ToInstanceProfileNetworkTypePtrOutput() InstanceProfileNetworkTypePtrOutput { + return o.ToInstanceProfileNetworkTypePtrOutputWithContext(context.Background()) +} + +func (o InstanceProfileNetworkTypeOutput) ToInstanceProfileNetworkTypePtrOutputWithContext(ctx context.Context) InstanceProfileNetworkTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceProfileNetworkType) *InstanceProfileNetworkType { + return &v + }).(InstanceProfileNetworkTypePtrOutput) +} + +func (o InstanceProfileNetworkTypeOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceProfileNetworkType] { + return pulumix.Output[InstanceProfileNetworkType]{ + OutputState: o.OutputState, + } +} + +func (o InstanceProfileNetworkTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o InstanceProfileNetworkTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstanceProfileNetworkType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o InstanceProfileNetworkTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstanceProfileNetworkTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstanceProfileNetworkType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type InstanceProfileNetworkTypePtrOutput struct{ *pulumi.OutputState } + +func (InstanceProfileNetworkTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceProfileNetworkType)(nil)).Elem() +} + +func (o InstanceProfileNetworkTypePtrOutput) ToInstanceProfileNetworkTypePtrOutput() InstanceProfileNetworkTypePtrOutput { + return o +} + +func (o InstanceProfileNetworkTypePtrOutput) ToInstanceProfileNetworkTypePtrOutputWithContext(ctx context.Context) InstanceProfileNetworkTypePtrOutput { + return o +} + +func (o InstanceProfileNetworkTypePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceProfileNetworkType] { + return pulumix.Output[*InstanceProfileNetworkType]{ + OutputState: o.OutputState, + } +} + +func (o InstanceProfileNetworkTypePtrOutput) Elem() InstanceProfileNetworkTypeOutput { + return o.ApplyT(func(v *InstanceProfileNetworkType) InstanceProfileNetworkType { + if v != nil { + return *v + } + var ret InstanceProfileNetworkType + return ret + }).(InstanceProfileNetworkTypeOutput) +} + +func (o InstanceProfileNetworkTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstanceProfileNetworkTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *InstanceProfileNetworkType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// InstanceProfileNetworkTypeInput is an input type that accepts InstanceProfileNetworkTypeArgs and InstanceProfileNetworkTypeOutput values. +// You can construct a concrete instance of `InstanceProfileNetworkTypeInput` via: +// +// InstanceProfileNetworkTypeArgs{...} +type InstanceProfileNetworkTypeInput interface { + pulumi.Input + + ToInstanceProfileNetworkTypeOutput() InstanceProfileNetworkTypeOutput + ToInstanceProfileNetworkTypeOutputWithContext(context.Context) InstanceProfileNetworkTypeOutput +} + +var instanceProfileNetworkTypePtrType = reflect.TypeOf((**InstanceProfileNetworkType)(nil)).Elem() + +type InstanceProfileNetworkTypePtrInput interface { + pulumi.Input + + ToInstanceProfileNetworkTypePtrOutput() InstanceProfileNetworkTypePtrOutput + ToInstanceProfileNetworkTypePtrOutputWithContext(context.Context) InstanceProfileNetworkTypePtrOutput +} + +type instanceProfileNetworkTypePtr string + +func InstanceProfileNetworkTypePtr(v string) InstanceProfileNetworkTypePtrInput { + return (*instanceProfileNetworkTypePtr)(&v) +} + +func (*instanceProfileNetworkTypePtr) ElementType() reflect.Type { + return instanceProfileNetworkTypePtrType +} + +func (in *instanceProfileNetworkTypePtr) ToInstanceProfileNetworkTypePtrOutput() InstanceProfileNetworkTypePtrOutput { + return pulumi.ToOutput(in).(InstanceProfileNetworkTypePtrOutput) +} + +func (in *instanceProfileNetworkTypePtr) ToInstanceProfileNetworkTypePtrOutputWithContext(ctx context.Context) InstanceProfileNetworkTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(InstanceProfileNetworkTypePtrOutput) +} + +func (in *instanceProfileNetworkTypePtr) ToOutput(ctx context.Context) pulumix.Output[*InstanceProfileNetworkType] { + return pulumix.Output[*InstanceProfileNetworkType]{ + OutputState: in.ToInstanceProfileNetworkTypePtrOutputWithContext(ctx).OutputState, + } +} + // The type of AWS DMS Serverless replication to provision using this replication configuration type ReplicationConfigReplicationType string @@ -196,8 +576,16 @@ func (in *replicationConfigReplicationTypePtr) ToOutput(ctx context.Context) pul } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProviderEngineInput)(nil)).Elem(), DataProviderEngine("postgresql")) + pulumi.RegisterInputType(reflect.TypeOf((*DataProviderEnginePtrInput)(nil)).Elem(), DataProviderEngine("postgresql")) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceProfileNetworkTypeInput)(nil)).Elem(), InstanceProfileNetworkType("IPV4")) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceProfileNetworkTypePtrInput)(nil)).Elem(), InstanceProfileNetworkType("IPV4")) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigReplicationTypeInput)(nil)).Elem(), ReplicationConfigReplicationType("full-load")) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigReplicationTypePtrInput)(nil)).Elem(), ReplicationConfigReplicationType("full-load")) + pulumi.RegisterOutputType(DataProviderEngineOutput{}) + pulumi.RegisterOutputType(DataProviderEnginePtrOutput{}) + pulumi.RegisterOutputType(InstanceProfileNetworkTypeOutput{}) + pulumi.RegisterOutputType(InstanceProfileNetworkTypePtrOutput{}) pulumi.RegisterOutputType(ReplicationConfigReplicationTypeOutput{}) pulumi.RegisterOutputType(ReplicationConfigReplicationTypePtrOutput{}) } diff --git a/sdk/go/aws/dms/pulumiTypes.go b/sdk/go/aws/dms/pulumiTypes.go index 39ba9b936b..d2960032af 100644 --- a/sdk/go/aws/dms/pulumiTypes.go +++ b/sdk/go/aws/dms/pulumiTypes.go @@ -14,6 +14,139 @@ import ( var _ = internal.GetEnvOrDefault +// A key-value pair to associate with a resource. +type DataProviderTag struct { + // 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 -. + Key string `pulumi:"key"` + // 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 -. + Value string `pulumi:"value"` +} + +// DataProviderTagInput is an input type that accepts DataProviderTagArgs and DataProviderTagOutput values. +// You can construct a concrete instance of `DataProviderTagInput` via: +// +// DataProviderTagArgs{...} +type DataProviderTagInput interface { + pulumi.Input + + ToDataProviderTagOutput() DataProviderTagOutput + ToDataProviderTagOutputWithContext(context.Context) DataProviderTagOutput +} + +// A key-value pair to associate with a resource. +type DataProviderTagArgs struct { + // 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 -. + Key pulumi.StringInput `pulumi:"key"` + // 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 -. + Value pulumi.StringInput `pulumi:"value"` +} + +func (DataProviderTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DataProviderTag)(nil)).Elem() +} + +func (i DataProviderTagArgs) ToDataProviderTagOutput() DataProviderTagOutput { + return i.ToDataProviderTagOutputWithContext(context.Background()) +} + +func (i DataProviderTagArgs) ToDataProviderTagOutputWithContext(ctx context.Context) DataProviderTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProviderTagOutput) +} + +func (i DataProviderTagArgs) ToOutput(ctx context.Context) pulumix.Output[DataProviderTag] { + return pulumix.Output[DataProviderTag]{ + OutputState: i.ToDataProviderTagOutputWithContext(ctx).OutputState, + } +} + +// DataProviderTagArrayInput is an input type that accepts DataProviderTagArray and DataProviderTagArrayOutput values. +// You can construct a concrete instance of `DataProviderTagArrayInput` via: +// +// DataProviderTagArray{ DataProviderTagArgs{...} } +type DataProviderTagArrayInput interface { + pulumi.Input + + ToDataProviderTagArrayOutput() DataProviderTagArrayOutput + ToDataProviderTagArrayOutputWithContext(context.Context) DataProviderTagArrayOutput +} + +type DataProviderTagArray []DataProviderTagInput + +func (DataProviderTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataProviderTag)(nil)).Elem() +} + +func (i DataProviderTagArray) ToDataProviderTagArrayOutput() DataProviderTagArrayOutput { + return i.ToDataProviderTagArrayOutputWithContext(context.Background()) +} + +func (i DataProviderTagArray) ToDataProviderTagArrayOutputWithContext(ctx context.Context) DataProviderTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProviderTagArrayOutput) +} + +func (i DataProviderTagArray) ToOutput(ctx context.Context) pulumix.Output[[]DataProviderTag] { + return pulumix.Output[[]DataProviderTag]{ + OutputState: i.ToDataProviderTagArrayOutputWithContext(ctx).OutputState, + } +} + +// A key-value pair to associate with a resource. +type DataProviderTagOutput struct{ *pulumi.OutputState } + +func (DataProviderTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DataProviderTag)(nil)).Elem() +} + +func (o DataProviderTagOutput) ToDataProviderTagOutput() DataProviderTagOutput { + return o +} + +func (o DataProviderTagOutput) ToDataProviderTagOutputWithContext(ctx context.Context) DataProviderTagOutput { + return o +} + +func (o DataProviderTagOutput) ToOutput(ctx context.Context) pulumix.Output[DataProviderTag] { + return pulumix.Output[DataProviderTag]{ + OutputState: o.OutputState, + } +} + +// 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 -. +func (o DataProviderTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v DataProviderTag) string { return v.Key }).(pulumi.StringOutput) +} + +// 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 -. +func (o DataProviderTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v DataProviderTag) string { return v.Value }).(pulumi.StringOutput) +} + +type DataProviderTagArrayOutput struct{ *pulumi.OutputState } + +func (DataProviderTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DataProviderTag)(nil)).Elem() +} + +func (o DataProviderTagArrayOutput) ToDataProviderTagArrayOutput() DataProviderTagArrayOutput { + return o +} + +func (o DataProviderTagArrayOutput) ToDataProviderTagArrayOutputWithContext(ctx context.Context) DataProviderTagArrayOutput { + return o +} + +func (o DataProviderTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]DataProviderTag] { + return pulumix.Output[[]DataProviderTag]{ + OutputState: o.OutputState, + } +} + +func (o DataProviderTagArrayOutput) Index(i pulumi.IntInput) DataProviderTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DataProviderTag { + return vs[0].([]DataProviderTag)[vs[1].(int)] + }).(DataProviderTagOutput) +} + type EndpointDocDbSettings struct { DocsToInvestigate *int `pulumi:"docsToInvestigate"` ExtractDocId *bool `pulumi:"extractDocId"` @@ -929,10 +1062,14 @@ func (o EndpointGcpMySqlSettingsPtrOutput) Username() pulumi.StringPtrOutput { type EndpointIbmDb2Settings struct { CurrentLsn *string `pulumi:"currentLsn"` + KeepCsvFiles *bool `pulumi:"keepCsvFiles"` + LoadTimeout *int `pulumi:"loadTimeout"` + MaxFileSize *int `pulumi:"maxFileSize"` MaxKBytesPerRead *int `pulumi:"maxKBytesPerRead"` SecretsManagerAccessRoleArn *string `pulumi:"secretsManagerAccessRoleArn"` SecretsManagerSecretId *string `pulumi:"secretsManagerSecretId"` SetDataCaptureChanges *bool `pulumi:"setDataCaptureChanges"` + WriteBufferSize *int `pulumi:"writeBufferSize"` } // EndpointIbmDb2SettingsInput is an input type that accepts EndpointIbmDb2SettingsArgs and EndpointIbmDb2SettingsOutput values. @@ -948,10 +1085,14 @@ type EndpointIbmDb2SettingsInput interface { type EndpointIbmDb2SettingsArgs struct { CurrentLsn pulumi.StringPtrInput `pulumi:"currentLsn"` + KeepCsvFiles pulumi.BoolPtrInput `pulumi:"keepCsvFiles"` + LoadTimeout pulumi.IntPtrInput `pulumi:"loadTimeout"` + MaxFileSize pulumi.IntPtrInput `pulumi:"maxFileSize"` MaxKBytesPerRead pulumi.IntPtrInput `pulumi:"maxKBytesPerRead"` SecretsManagerAccessRoleArn pulumi.StringPtrInput `pulumi:"secretsManagerAccessRoleArn"` SecretsManagerSecretId pulumi.StringPtrInput `pulumi:"secretsManagerSecretId"` SetDataCaptureChanges pulumi.BoolPtrInput `pulumi:"setDataCaptureChanges"` + WriteBufferSize pulumi.IntPtrInput `pulumi:"writeBufferSize"` } func (EndpointIbmDb2SettingsArgs) ElementType() reflect.Type { @@ -1053,6 +1194,18 @@ func (o EndpointIbmDb2SettingsOutput) CurrentLsn() pulumi.StringPtrOutput { return o.ApplyT(func(v EndpointIbmDb2Settings) *string { return v.CurrentLsn }).(pulumi.StringPtrOutput) } +func (o EndpointIbmDb2SettingsOutput) KeepCsvFiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EndpointIbmDb2Settings) *bool { return v.KeepCsvFiles }).(pulumi.BoolPtrOutput) +} + +func (o EndpointIbmDb2SettingsOutput) LoadTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointIbmDb2Settings) *int { return v.LoadTimeout }).(pulumi.IntPtrOutput) +} + +func (o EndpointIbmDb2SettingsOutput) MaxFileSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointIbmDb2Settings) *int { return v.MaxFileSize }).(pulumi.IntPtrOutput) +} + func (o EndpointIbmDb2SettingsOutput) MaxKBytesPerRead() pulumi.IntPtrOutput { return o.ApplyT(func(v EndpointIbmDb2Settings) *int { return v.MaxKBytesPerRead }).(pulumi.IntPtrOutput) } @@ -1069,6 +1222,10 @@ func (o EndpointIbmDb2SettingsOutput) SetDataCaptureChanges() pulumi.BoolPtrOutp return o.ApplyT(func(v EndpointIbmDb2Settings) *bool { return v.SetDataCaptureChanges }).(pulumi.BoolPtrOutput) } +func (o EndpointIbmDb2SettingsOutput) WriteBufferSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v EndpointIbmDb2Settings) *int { return v.WriteBufferSize }).(pulumi.IntPtrOutput) +} + type EndpointIbmDb2SettingsPtrOutput struct{ *pulumi.OutputState } func (EndpointIbmDb2SettingsPtrOutput) ElementType() reflect.Type { @@ -1108,6 +1265,33 @@ func (o EndpointIbmDb2SettingsPtrOutput) CurrentLsn() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o EndpointIbmDb2SettingsPtrOutput) KeepCsvFiles() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *EndpointIbmDb2Settings) *bool { + if v == nil { + return nil + } + return v.KeepCsvFiles + }).(pulumi.BoolPtrOutput) +} + +func (o EndpointIbmDb2SettingsPtrOutput) LoadTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointIbmDb2Settings) *int { + if v == nil { + return nil + } + return v.LoadTimeout + }).(pulumi.IntPtrOutput) +} + +func (o EndpointIbmDb2SettingsPtrOutput) MaxFileSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointIbmDb2Settings) *int { + if v == nil { + return nil + } + return v.MaxFileSize + }).(pulumi.IntPtrOutput) +} + func (o EndpointIbmDb2SettingsPtrOutput) MaxKBytesPerRead() pulumi.IntPtrOutput { return o.ApplyT(func(v *EndpointIbmDb2Settings) *int { if v == nil { @@ -1144,6 +1328,15 @@ func (o EndpointIbmDb2SettingsPtrOutput) SetDataCaptureChanges() pulumi.BoolPtrO }).(pulumi.BoolPtrOutput) } +func (o EndpointIbmDb2SettingsPtrOutput) WriteBufferSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EndpointIbmDb2Settings) *int { + if v == nil { + return nil + } + return v.WriteBufferSize + }).(pulumi.IntPtrOutput) +} + type EndpointKafkaSettings struct { Broker *string `pulumi:"broker"` IncludeControlDetails *bool `pulumi:"includeControlDetails"` @@ -6111,6 +6304,417 @@ func (o EventSubscriptionTagArrayOutput) Index(i pulumi.IntInput) EventSubscript }).(EventSubscriptionTagOutput) } +// A key-value pair to associate with a resource. +type InstanceProfileTag struct { + // 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 -. + Key string `pulumi:"key"` + // 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 -. + Value string `pulumi:"value"` +} + +// InstanceProfileTagInput is an input type that accepts InstanceProfileTagArgs and InstanceProfileTagOutput values. +// You can construct a concrete instance of `InstanceProfileTagInput` via: +// +// InstanceProfileTagArgs{...} +type InstanceProfileTagInput interface { + pulumi.Input + + ToInstanceProfileTagOutput() InstanceProfileTagOutput + ToInstanceProfileTagOutputWithContext(context.Context) InstanceProfileTagOutput +} + +// A key-value pair to associate with a resource. +type InstanceProfileTagArgs struct { + // 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 -. + Key pulumi.StringInput `pulumi:"key"` + // 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 -. + Value pulumi.StringInput `pulumi:"value"` +} + +func (InstanceProfileTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceProfileTag)(nil)).Elem() +} + +func (i InstanceProfileTagArgs) ToInstanceProfileTagOutput() InstanceProfileTagOutput { + return i.ToInstanceProfileTagOutputWithContext(context.Background()) +} + +func (i InstanceProfileTagArgs) ToInstanceProfileTagOutputWithContext(ctx context.Context) InstanceProfileTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceProfileTagOutput) +} + +func (i InstanceProfileTagArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceProfileTag] { + return pulumix.Output[InstanceProfileTag]{ + OutputState: i.ToInstanceProfileTagOutputWithContext(ctx).OutputState, + } +} + +// InstanceProfileTagArrayInput is an input type that accepts InstanceProfileTagArray and InstanceProfileTagArrayOutput values. +// You can construct a concrete instance of `InstanceProfileTagArrayInput` via: +// +// InstanceProfileTagArray{ InstanceProfileTagArgs{...} } +type InstanceProfileTagArrayInput interface { + pulumi.Input + + ToInstanceProfileTagArrayOutput() InstanceProfileTagArrayOutput + ToInstanceProfileTagArrayOutputWithContext(context.Context) InstanceProfileTagArrayOutput +} + +type InstanceProfileTagArray []InstanceProfileTagInput + +func (InstanceProfileTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceProfileTag)(nil)).Elem() +} + +func (i InstanceProfileTagArray) ToInstanceProfileTagArrayOutput() InstanceProfileTagArrayOutput { + return i.ToInstanceProfileTagArrayOutputWithContext(context.Background()) +} + +func (i InstanceProfileTagArray) ToInstanceProfileTagArrayOutputWithContext(ctx context.Context) InstanceProfileTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceProfileTagArrayOutput) +} + +func (i InstanceProfileTagArray) ToOutput(ctx context.Context) pulumix.Output[[]InstanceProfileTag] { + return pulumix.Output[[]InstanceProfileTag]{ + OutputState: i.ToInstanceProfileTagArrayOutputWithContext(ctx).OutputState, + } +} + +// A key-value pair to associate with a resource. +type InstanceProfileTagOutput struct{ *pulumi.OutputState } + +func (InstanceProfileTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceProfileTag)(nil)).Elem() +} + +func (o InstanceProfileTagOutput) ToInstanceProfileTagOutput() InstanceProfileTagOutput { + return o +} + +func (o InstanceProfileTagOutput) ToInstanceProfileTagOutputWithContext(ctx context.Context) InstanceProfileTagOutput { + return o +} + +func (o InstanceProfileTagOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceProfileTag] { + return pulumix.Output[InstanceProfileTag]{ + OutputState: o.OutputState, + } +} + +// 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 -. +func (o InstanceProfileTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v InstanceProfileTag) string { return v.Key }).(pulumi.StringOutput) +} + +// 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 -. +func (o InstanceProfileTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v InstanceProfileTag) string { return v.Value }).(pulumi.StringOutput) +} + +type InstanceProfileTagArrayOutput struct{ *pulumi.OutputState } + +func (InstanceProfileTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceProfileTag)(nil)).Elem() +} + +func (o InstanceProfileTagArrayOutput) ToInstanceProfileTagArrayOutput() InstanceProfileTagArrayOutput { + return o +} + +func (o InstanceProfileTagArrayOutput) ToInstanceProfileTagArrayOutputWithContext(ctx context.Context) InstanceProfileTagArrayOutput { + return o +} + +func (o InstanceProfileTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]InstanceProfileTag] { + return pulumix.Output[[]InstanceProfileTag]{ + OutputState: o.OutputState, + } +} + +func (o InstanceProfileTagArrayOutput) Index(i pulumi.IntInput) InstanceProfileTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceProfileTag { + return vs[0].([]InstanceProfileTag)[vs[1].(int)] + }).(InstanceProfileTagOutput) +} + +// It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject +type MigrationProjectDataProviderDescriptor struct { + DataProviderArn *string `pulumi:"dataProviderArn"` + DataProviderIdentifier *string `pulumi:"dataProviderIdentifier"` + DataProviderName *string `pulumi:"dataProviderName"` + SecretsManagerAccessRoleArn *string `pulumi:"secretsManagerAccessRoleArn"` + SecretsManagerSecretId *string `pulumi:"secretsManagerSecretId"` +} + +// MigrationProjectDataProviderDescriptorInput is an input type that accepts MigrationProjectDataProviderDescriptorArgs and MigrationProjectDataProviderDescriptorOutput values. +// You can construct a concrete instance of `MigrationProjectDataProviderDescriptorInput` via: +// +// MigrationProjectDataProviderDescriptorArgs{...} +type MigrationProjectDataProviderDescriptorInput interface { + pulumi.Input + + ToMigrationProjectDataProviderDescriptorOutput() MigrationProjectDataProviderDescriptorOutput + ToMigrationProjectDataProviderDescriptorOutputWithContext(context.Context) MigrationProjectDataProviderDescriptorOutput +} + +// It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject +type MigrationProjectDataProviderDescriptorArgs struct { + DataProviderArn pulumi.StringPtrInput `pulumi:"dataProviderArn"` + DataProviderIdentifier pulumi.StringPtrInput `pulumi:"dataProviderIdentifier"` + DataProviderName pulumi.StringPtrInput `pulumi:"dataProviderName"` + SecretsManagerAccessRoleArn pulumi.StringPtrInput `pulumi:"secretsManagerAccessRoleArn"` + SecretsManagerSecretId pulumi.StringPtrInput `pulumi:"secretsManagerSecretId"` +} + +func (MigrationProjectDataProviderDescriptorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MigrationProjectDataProviderDescriptor)(nil)).Elem() +} + +func (i MigrationProjectDataProviderDescriptorArgs) ToMigrationProjectDataProviderDescriptorOutput() MigrationProjectDataProviderDescriptorOutput { + return i.ToMigrationProjectDataProviderDescriptorOutputWithContext(context.Background()) +} + +func (i MigrationProjectDataProviderDescriptorArgs) ToMigrationProjectDataProviderDescriptorOutputWithContext(ctx context.Context) MigrationProjectDataProviderDescriptorOutput { + return pulumi.ToOutputWithContext(ctx, i).(MigrationProjectDataProviderDescriptorOutput) +} + +func (i MigrationProjectDataProviderDescriptorArgs) ToOutput(ctx context.Context) pulumix.Output[MigrationProjectDataProviderDescriptor] { + return pulumix.Output[MigrationProjectDataProviderDescriptor]{ + OutputState: i.ToMigrationProjectDataProviderDescriptorOutputWithContext(ctx).OutputState, + } +} + +// MigrationProjectDataProviderDescriptorArrayInput is an input type that accepts MigrationProjectDataProviderDescriptorArray and MigrationProjectDataProviderDescriptorArrayOutput values. +// You can construct a concrete instance of `MigrationProjectDataProviderDescriptorArrayInput` via: +// +// MigrationProjectDataProviderDescriptorArray{ MigrationProjectDataProviderDescriptorArgs{...} } +type MigrationProjectDataProviderDescriptorArrayInput interface { + pulumi.Input + + ToMigrationProjectDataProviderDescriptorArrayOutput() MigrationProjectDataProviderDescriptorArrayOutput + ToMigrationProjectDataProviderDescriptorArrayOutputWithContext(context.Context) MigrationProjectDataProviderDescriptorArrayOutput +} + +type MigrationProjectDataProviderDescriptorArray []MigrationProjectDataProviderDescriptorInput + +func (MigrationProjectDataProviderDescriptorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MigrationProjectDataProviderDescriptor)(nil)).Elem() +} + +func (i MigrationProjectDataProviderDescriptorArray) ToMigrationProjectDataProviderDescriptorArrayOutput() MigrationProjectDataProviderDescriptorArrayOutput { + return i.ToMigrationProjectDataProviderDescriptorArrayOutputWithContext(context.Background()) +} + +func (i MigrationProjectDataProviderDescriptorArray) ToMigrationProjectDataProviderDescriptorArrayOutputWithContext(ctx context.Context) MigrationProjectDataProviderDescriptorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MigrationProjectDataProviderDescriptorArrayOutput) +} + +func (i MigrationProjectDataProviderDescriptorArray) ToOutput(ctx context.Context) pulumix.Output[[]MigrationProjectDataProviderDescriptor] { + return pulumix.Output[[]MigrationProjectDataProviderDescriptor]{ + OutputState: i.ToMigrationProjectDataProviderDescriptorArrayOutputWithContext(ctx).OutputState, + } +} + +// It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject +type MigrationProjectDataProviderDescriptorOutput struct{ *pulumi.OutputState } + +func (MigrationProjectDataProviderDescriptorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MigrationProjectDataProviderDescriptor)(nil)).Elem() +} + +func (o MigrationProjectDataProviderDescriptorOutput) ToMigrationProjectDataProviderDescriptorOutput() MigrationProjectDataProviderDescriptorOutput { + return o +} + +func (o MigrationProjectDataProviderDescriptorOutput) ToMigrationProjectDataProviderDescriptorOutputWithContext(ctx context.Context) MigrationProjectDataProviderDescriptorOutput { + return o +} + +func (o MigrationProjectDataProviderDescriptorOutput) ToOutput(ctx context.Context) pulumix.Output[MigrationProjectDataProviderDescriptor] { + return pulumix.Output[MigrationProjectDataProviderDescriptor]{ + OutputState: o.OutputState, + } +} + +func (o MigrationProjectDataProviderDescriptorOutput) DataProviderArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v MigrationProjectDataProviderDescriptor) *string { return v.DataProviderArn }).(pulumi.StringPtrOutput) +} + +func (o MigrationProjectDataProviderDescriptorOutput) DataProviderIdentifier() pulumi.StringPtrOutput { + return o.ApplyT(func(v MigrationProjectDataProviderDescriptor) *string { return v.DataProviderIdentifier }).(pulumi.StringPtrOutput) +} + +func (o MigrationProjectDataProviderDescriptorOutput) DataProviderName() pulumi.StringPtrOutput { + return o.ApplyT(func(v MigrationProjectDataProviderDescriptor) *string { return v.DataProviderName }).(pulumi.StringPtrOutput) +} + +func (o MigrationProjectDataProviderDescriptorOutput) SecretsManagerAccessRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v MigrationProjectDataProviderDescriptor) *string { return v.SecretsManagerAccessRoleArn }).(pulumi.StringPtrOutput) +} + +func (o MigrationProjectDataProviderDescriptorOutput) SecretsManagerSecretId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MigrationProjectDataProviderDescriptor) *string { return v.SecretsManagerSecretId }).(pulumi.StringPtrOutput) +} + +type MigrationProjectDataProviderDescriptorArrayOutput struct{ *pulumi.OutputState } + +func (MigrationProjectDataProviderDescriptorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MigrationProjectDataProviderDescriptor)(nil)).Elem() +} + +func (o MigrationProjectDataProviderDescriptorArrayOutput) ToMigrationProjectDataProviderDescriptorArrayOutput() MigrationProjectDataProviderDescriptorArrayOutput { + return o +} + +func (o MigrationProjectDataProviderDescriptorArrayOutput) ToMigrationProjectDataProviderDescriptorArrayOutputWithContext(ctx context.Context) MigrationProjectDataProviderDescriptorArrayOutput { + return o +} + +func (o MigrationProjectDataProviderDescriptorArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]MigrationProjectDataProviderDescriptor] { + return pulumix.Output[[]MigrationProjectDataProviderDescriptor]{ + OutputState: o.OutputState, + } +} + +func (o MigrationProjectDataProviderDescriptorArrayOutput) Index(i pulumi.IntInput) MigrationProjectDataProviderDescriptorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MigrationProjectDataProviderDescriptor { + return vs[0].([]MigrationProjectDataProviderDescriptor)[vs[1].(int)] + }).(MigrationProjectDataProviderDescriptorOutput) +} + +// A key-value pair to associate with a resource. +type MigrationProjectTag struct { + // 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 -. + Key string `pulumi:"key"` + // 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 -. + Value string `pulumi:"value"` +} + +// MigrationProjectTagInput is an input type that accepts MigrationProjectTagArgs and MigrationProjectTagOutput values. +// You can construct a concrete instance of `MigrationProjectTagInput` via: +// +// MigrationProjectTagArgs{...} +type MigrationProjectTagInput interface { + pulumi.Input + + ToMigrationProjectTagOutput() MigrationProjectTagOutput + ToMigrationProjectTagOutputWithContext(context.Context) MigrationProjectTagOutput +} + +// A key-value pair to associate with a resource. +type MigrationProjectTagArgs struct { + // 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 -. + Key pulumi.StringInput `pulumi:"key"` + // 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 -. + Value pulumi.StringInput `pulumi:"value"` +} + +func (MigrationProjectTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MigrationProjectTag)(nil)).Elem() +} + +func (i MigrationProjectTagArgs) ToMigrationProjectTagOutput() MigrationProjectTagOutput { + return i.ToMigrationProjectTagOutputWithContext(context.Background()) +} + +func (i MigrationProjectTagArgs) ToMigrationProjectTagOutputWithContext(ctx context.Context) MigrationProjectTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(MigrationProjectTagOutput) +} + +func (i MigrationProjectTagArgs) ToOutput(ctx context.Context) pulumix.Output[MigrationProjectTag] { + return pulumix.Output[MigrationProjectTag]{ + OutputState: i.ToMigrationProjectTagOutputWithContext(ctx).OutputState, + } +} + +// MigrationProjectTagArrayInput is an input type that accepts MigrationProjectTagArray and MigrationProjectTagArrayOutput values. +// You can construct a concrete instance of `MigrationProjectTagArrayInput` via: +// +// MigrationProjectTagArray{ MigrationProjectTagArgs{...} } +type MigrationProjectTagArrayInput interface { + pulumi.Input + + ToMigrationProjectTagArrayOutput() MigrationProjectTagArrayOutput + ToMigrationProjectTagArrayOutputWithContext(context.Context) MigrationProjectTagArrayOutput +} + +type MigrationProjectTagArray []MigrationProjectTagInput + +func (MigrationProjectTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]MigrationProjectTag)(nil)).Elem() +} + +func (i MigrationProjectTagArray) ToMigrationProjectTagArrayOutput() MigrationProjectTagArrayOutput { + return i.ToMigrationProjectTagArrayOutputWithContext(context.Background()) +} + +func (i MigrationProjectTagArray) ToMigrationProjectTagArrayOutputWithContext(ctx context.Context) MigrationProjectTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(MigrationProjectTagArrayOutput) +} + +func (i MigrationProjectTagArray) ToOutput(ctx context.Context) pulumix.Output[[]MigrationProjectTag] { + return pulumix.Output[[]MigrationProjectTag]{ + OutputState: i.ToMigrationProjectTagArrayOutputWithContext(ctx).OutputState, + } +} + +// A key-value pair to associate with a resource. +type MigrationProjectTagOutput struct{ *pulumi.OutputState } + +func (MigrationProjectTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MigrationProjectTag)(nil)).Elem() +} + +func (o MigrationProjectTagOutput) ToMigrationProjectTagOutput() MigrationProjectTagOutput { + return o +} + +func (o MigrationProjectTagOutput) ToMigrationProjectTagOutputWithContext(ctx context.Context) MigrationProjectTagOutput { + return o +} + +func (o MigrationProjectTagOutput) ToOutput(ctx context.Context) pulumix.Output[MigrationProjectTag] { + return pulumix.Output[MigrationProjectTag]{ + OutputState: o.OutputState, + } +} + +// 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 -. +func (o MigrationProjectTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v MigrationProjectTag) string { return v.Key }).(pulumi.StringOutput) +} + +// 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 -. +func (o MigrationProjectTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v MigrationProjectTag) string { return v.Value }).(pulumi.StringOutput) +} + +type MigrationProjectTagArrayOutput struct{ *pulumi.OutputState } + +func (MigrationProjectTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]MigrationProjectTag)(nil)).Elem() +} + +func (o MigrationProjectTagArrayOutput) ToMigrationProjectTagArrayOutput() MigrationProjectTagArrayOutput { + return o +} + +func (o MigrationProjectTagArrayOutput) ToMigrationProjectTagArrayOutputWithContext(ctx context.Context) MigrationProjectTagArrayOutput { + return o +} + +func (o MigrationProjectTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]MigrationProjectTag] { + return pulumix.Output[[]MigrationProjectTag]{ + OutputState: o.OutputState, + } +} + +func (o MigrationProjectTagArrayOutput) Index(i pulumi.IntInput) MigrationProjectTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) MigrationProjectTag { + return vs[0].([]MigrationProjectTag)[vs[1].(int)] + }).(MigrationProjectTagOutput) +} + // Configuration parameters for provisioning a AWS DMS Serverless replication type ReplicationConfigComputeConfig struct { AvailabilityZone *string `pulumi:"availabilityZone"` @@ -6902,7 +7506,240 @@ func (o ReplicationTaskTagArrayOutput) Index(i pulumi.IntInput) ReplicationTaskT }).(ReplicationTaskTagOutput) } +// The property describes schema conversion application attributes for the migration project. +type SchemaConversionApplicationAttributesProperties struct { + S3BucketPath *string `pulumi:"s3BucketPath"` + S3BucketRoleArn *string `pulumi:"s3BucketRoleArn"` +} + +// SchemaConversionApplicationAttributesPropertiesInput is an input type that accepts SchemaConversionApplicationAttributesPropertiesArgs and SchemaConversionApplicationAttributesPropertiesOutput values. +// You can construct a concrete instance of `SchemaConversionApplicationAttributesPropertiesInput` via: +// +// SchemaConversionApplicationAttributesPropertiesArgs{...} +type SchemaConversionApplicationAttributesPropertiesInput interface { + pulumi.Input + + ToSchemaConversionApplicationAttributesPropertiesOutput() SchemaConversionApplicationAttributesPropertiesOutput + ToSchemaConversionApplicationAttributesPropertiesOutputWithContext(context.Context) SchemaConversionApplicationAttributesPropertiesOutput +} + +// The property describes schema conversion application attributes for the migration project. +type SchemaConversionApplicationAttributesPropertiesArgs struct { + S3BucketPath pulumi.StringPtrInput `pulumi:"s3BucketPath"` + S3BucketRoleArn pulumi.StringPtrInput `pulumi:"s3BucketRoleArn"` +} + +func (SchemaConversionApplicationAttributesPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaConversionApplicationAttributesProperties)(nil)).Elem() +} + +func (i SchemaConversionApplicationAttributesPropertiesArgs) ToSchemaConversionApplicationAttributesPropertiesOutput() SchemaConversionApplicationAttributesPropertiesOutput { + return i.ToSchemaConversionApplicationAttributesPropertiesOutputWithContext(context.Background()) +} + +func (i SchemaConversionApplicationAttributesPropertiesArgs) ToSchemaConversionApplicationAttributesPropertiesOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaConversionApplicationAttributesPropertiesOutput) +} + +func (i SchemaConversionApplicationAttributesPropertiesArgs) ToOutput(ctx context.Context) pulumix.Output[SchemaConversionApplicationAttributesProperties] { + return pulumix.Output[SchemaConversionApplicationAttributesProperties]{ + OutputState: i.ToSchemaConversionApplicationAttributesPropertiesOutputWithContext(ctx).OutputState, + } +} + +func (i SchemaConversionApplicationAttributesPropertiesArgs) ToSchemaConversionApplicationAttributesPropertiesPtrOutput() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return i.ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(context.Background()) +} + +func (i SchemaConversionApplicationAttributesPropertiesArgs) ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaConversionApplicationAttributesPropertiesOutput).ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx) +} + +// SchemaConversionApplicationAttributesPropertiesPtrInput is an input type that accepts SchemaConversionApplicationAttributesPropertiesArgs, SchemaConversionApplicationAttributesPropertiesPtr and SchemaConversionApplicationAttributesPropertiesPtrOutput values. +// You can construct a concrete instance of `SchemaConversionApplicationAttributesPropertiesPtrInput` via: +// +// SchemaConversionApplicationAttributesPropertiesArgs{...} +// +// or: +// +// nil +type SchemaConversionApplicationAttributesPropertiesPtrInput interface { + pulumi.Input + + ToSchemaConversionApplicationAttributesPropertiesPtrOutput() SchemaConversionApplicationAttributesPropertiesPtrOutput + ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(context.Context) SchemaConversionApplicationAttributesPropertiesPtrOutput +} + +type schemaConversionApplicationAttributesPropertiesPtrType SchemaConversionApplicationAttributesPropertiesArgs + +func SchemaConversionApplicationAttributesPropertiesPtr(v *SchemaConversionApplicationAttributesPropertiesArgs) SchemaConversionApplicationAttributesPropertiesPtrInput { + return (*schemaConversionApplicationAttributesPropertiesPtrType)(v) +} + +func (*schemaConversionApplicationAttributesPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaConversionApplicationAttributesProperties)(nil)).Elem() +} + +func (i *schemaConversionApplicationAttributesPropertiesPtrType) ToSchemaConversionApplicationAttributesPropertiesPtrOutput() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return i.ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *schemaConversionApplicationAttributesPropertiesPtrType) ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchemaConversionApplicationAttributesPropertiesPtrOutput) +} + +func (i *schemaConversionApplicationAttributesPropertiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*SchemaConversionApplicationAttributesProperties] { + return pulumix.Output[*SchemaConversionApplicationAttributesProperties]{ + OutputState: i.ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx).OutputState, + } +} + +// The property describes schema conversion application attributes for the migration project. +type SchemaConversionApplicationAttributesPropertiesOutput struct{ *pulumi.OutputState } + +func (SchemaConversionApplicationAttributesPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchemaConversionApplicationAttributesProperties)(nil)).Elem() +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) ToSchemaConversionApplicationAttributesPropertiesOutput() SchemaConversionApplicationAttributesPropertiesOutput { + return o +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) ToSchemaConversionApplicationAttributesPropertiesOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesOutput { + return o +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) ToSchemaConversionApplicationAttributesPropertiesPtrOutput() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o.ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(context.Background()) +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SchemaConversionApplicationAttributesProperties) *SchemaConversionApplicationAttributesProperties { + return &v + }).(SchemaConversionApplicationAttributesPropertiesPtrOutput) +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) ToOutput(ctx context.Context) pulumix.Output[SchemaConversionApplicationAttributesProperties] { + return pulumix.Output[SchemaConversionApplicationAttributesProperties]{ + OutputState: o.OutputState, + } +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) S3BucketPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaConversionApplicationAttributesProperties) *string { return v.S3BucketPath }).(pulumi.StringPtrOutput) +} + +func (o SchemaConversionApplicationAttributesPropertiesOutput) S3BucketRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SchemaConversionApplicationAttributesProperties) *string { return v.S3BucketRoleArn }).(pulumi.StringPtrOutput) +} + +type SchemaConversionApplicationAttributesPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (SchemaConversionApplicationAttributesPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SchemaConversionApplicationAttributesProperties)(nil)).Elem() +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) ToSchemaConversionApplicationAttributesPropertiesPtrOutput() SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) ToSchemaConversionApplicationAttributesPropertiesPtrOutputWithContext(ctx context.Context) SchemaConversionApplicationAttributesPropertiesPtrOutput { + return o +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SchemaConversionApplicationAttributesProperties] { + return pulumix.Output[*SchemaConversionApplicationAttributesProperties]{ + OutputState: o.OutputState, + } +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) Elem() SchemaConversionApplicationAttributesPropertiesOutput { + return o.ApplyT(func(v *SchemaConversionApplicationAttributesProperties) SchemaConversionApplicationAttributesProperties { + if v != nil { + return *v + } + var ret SchemaConversionApplicationAttributesProperties + return ret + }).(SchemaConversionApplicationAttributesPropertiesOutput) +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) S3BucketPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaConversionApplicationAttributesProperties) *string { + if v == nil { + return nil + } + return v.S3BucketPath + }).(pulumi.StringPtrOutput) +} + +func (o SchemaConversionApplicationAttributesPropertiesPtrOutput) S3BucketRoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SchemaConversionApplicationAttributesProperties) *string { + if v == nil { + return nil + } + return v.S3BucketRoleArn + }).(pulumi.StringPtrOutput) +} + +// PostgreSqlSettings property identifier. +type Settings0Properties struct { + PostgreSqlSettings *Settings0PropertiesPostgreSqlSettingsProperties `pulumi:"postgreSqlSettings"` +} + +type Settings0PropertiesPostgreSqlSettingsProperties struct { + CertificateArn *string `pulumi:"certificateArn"` + DatabaseName *string `pulumi:"databaseName"` + Port *int `pulumi:"port"` + ServerName *string `pulumi:"serverName"` + SslMode *DataProviderDmsSslModeValue `pulumi:"sslMode"` +} + +// MySqlSettings property identifier. +type Settings1Properties struct { + MySqlSettings *Settings1PropertiesMySqlSettingsProperties `pulumi:"mySqlSettings"` +} + +type Settings1PropertiesMySqlSettingsProperties struct { + CertificateArn *string `pulumi:"certificateArn"` + Port *int `pulumi:"port"` + ServerName *string `pulumi:"serverName"` + SslMode *DataProviderDmsSslModeValue `pulumi:"sslMode"` +} + +// OracleSettings property identifier. +type Settings2Properties struct { + OracleSettings *Settings2PropertiesOracleSettingsProperties `pulumi:"oracleSettings"` +} + +type Settings2PropertiesOracleSettingsProperties struct { + AsmServer *string `pulumi:"asmServer"` + CertificateArn *string `pulumi:"certificateArn"` + DatabaseName *string `pulumi:"databaseName"` + Port *int `pulumi:"port"` + SecretsManagerOracleAsmAccessRoleArn *string `pulumi:"secretsManagerOracleAsmAccessRoleArn"` + SecretsManagerOracleAsmSecretId *string `pulumi:"secretsManagerOracleAsmSecretId"` + SecretsManagerSecurityDbEncryptionAccessRoleArn *string `pulumi:"secretsManagerSecurityDbEncryptionAccessRoleArn"` + SecretsManagerSecurityDbEncryptionSecretId *string `pulumi:"secretsManagerSecurityDbEncryptionSecretId"` + ServerName *string `pulumi:"serverName"` + SslMode *DataProviderDmsSslModeValue `pulumi:"sslMode"` +} + +// MicrosoftSqlServerSettings property identifier. +type Settings3Properties struct { + MicrosoftSqlServerSettings *Settings3PropertiesMicrosoftSqlServerSettingsProperties `pulumi:"microsoftSqlServerSettings"` +} + +type Settings3PropertiesMicrosoftSqlServerSettingsProperties struct { + CertificateArn *string `pulumi:"certificateArn"` + DatabaseName *string `pulumi:"databaseName"` + Port *int `pulumi:"port"` + ServerName *string `pulumi:"serverName"` + SslMode *DataProviderDmsSslModeValue `pulumi:"sslMode"` +} + func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProviderTagInput)(nil)).Elem(), DataProviderTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProviderTagArrayInput)(nil)).Elem(), DataProviderTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EndpointDocDbSettingsInput)(nil)).Elem(), EndpointDocDbSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EndpointDocDbSettingsPtrInput)(nil)).Elem(), EndpointDocDbSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EndpointDynamoDbSettingsInput)(nil)).Elem(), EndpointDynamoDbSettingsArgs{}) @@ -6941,6 +7778,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*EndpointTagArrayInput)(nil)).Elem(), EndpointTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSubscriptionTagInput)(nil)).Elem(), EventSubscriptionTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EventSubscriptionTagArrayInput)(nil)).Elem(), EventSubscriptionTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceProfileTagInput)(nil)).Elem(), InstanceProfileTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceProfileTagArrayInput)(nil)).Elem(), InstanceProfileTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MigrationProjectDataProviderDescriptorInput)(nil)).Elem(), MigrationProjectDataProviderDescriptorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MigrationProjectDataProviderDescriptorArrayInput)(nil)).Elem(), MigrationProjectDataProviderDescriptorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*MigrationProjectTagInput)(nil)).Elem(), MigrationProjectTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MigrationProjectTagArrayInput)(nil)).Elem(), MigrationProjectTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigComputeConfigInput)(nil)).Elem(), ReplicationConfigComputeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigComputeConfigPtrInput)(nil)).Elem(), ReplicationConfigComputeConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationConfigTagInput)(nil)).Elem(), ReplicationConfigTagArgs{}) @@ -6951,6 +7794,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSubnetGroupTagArrayInput)(nil)).Elem(), ReplicationSubnetGroupTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationTaskTagInput)(nil)).Elem(), ReplicationTaskTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ReplicationTaskTagArrayInput)(nil)).Elem(), ReplicationTaskTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaConversionApplicationAttributesPropertiesInput)(nil)).Elem(), SchemaConversionApplicationAttributesPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchemaConversionApplicationAttributesPropertiesPtrInput)(nil)).Elem(), SchemaConversionApplicationAttributesPropertiesArgs{}) + pulumi.RegisterOutputType(DataProviderTagOutput{}) + pulumi.RegisterOutputType(DataProviderTagArrayOutput{}) pulumi.RegisterOutputType(EndpointDocDbSettingsOutput{}) pulumi.RegisterOutputType(EndpointDocDbSettingsPtrOutput{}) pulumi.RegisterOutputType(EndpointDynamoDbSettingsOutput{}) @@ -6989,6 +7836,12 @@ func init() { pulumi.RegisterOutputType(EndpointTagArrayOutput{}) pulumi.RegisterOutputType(EventSubscriptionTagOutput{}) pulumi.RegisterOutputType(EventSubscriptionTagArrayOutput{}) + pulumi.RegisterOutputType(InstanceProfileTagOutput{}) + pulumi.RegisterOutputType(InstanceProfileTagArrayOutput{}) + pulumi.RegisterOutputType(MigrationProjectDataProviderDescriptorOutput{}) + pulumi.RegisterOutputType(MigrationProjectDataProviderDescriptorArrayOutput{}) + pulumi.RegisterOutputType(MigrationProjectTagOutput{}) + pulumi.RegisterOutputType(MigrationProjectTagArrayOutput{}) pulumi.RegisterOutputType(ReplicationConfigComputeConfigOutput{}) pulumi.RegisterOutputType(ReplicationConfigComputeConfigPtrOutput{}) pulumi.RegisterOutputType(ReplicationConfigTagOutput{}) @@ -6999,4 +7852,6 @@ func init() { pulumi.RegisterOutputType(ReplicationSubnetGroupTagArrayOutput{}) pulumi.RegisterOutputType(ReplicationTaskTagOutput{}) pulumi.RegisterOutputType(ReplicationTaskTagArrayOutput{}) + pulumi.RegisterOutputType(SchemaConversionApplicationAttributesPropertiesOutput{}) + pulumi.RegisterOutputType(SchemaConversionApplicationAttributesPropertiesPtrOutput{}) } diff --git a/sdk/go/aws/dms/replicationConfig.go b/sdk/go/aws/dms/replicationConfig.go index b922004769..eeae2975e3 100644 --- a/sdk/go/aws/dms/replicationConfig.go +++ b/sdk/go/aws/dms/replicationConfig.go @@ -46,6 +46,10 @@ func NewReplicationConfig(ctx *pulumi.Context, args = &ReplicationConfigArgs{} } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "resourceIdentifier", + }) + opts = append(opts, replaceOnChanges) opts = internal.PkgResourceDefaultOpts(opts) var resource ReplicationConfig err := ctx.RegisterResource("aws-native:dms:ReplicationConfig", name, args, &resource, opts...) diff --git a/sdk/go/aws/ec2/getInstance.go b/sdk/go/aws/ec2/getInstance.go index 3f6b6f0b7d..5a803b3b9a 100644 --- a/sdk/go/aws/ec2/getInstance.go +++ b/sdk/go/aws/ec2/getInstance.go @@ -24,37 +24,59 @@ func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulum } type LookupInstanceArgs struct { - Id string `pulumi:"id"` + // The EC2 Instance ID. + InstanceId string `pulumi:"instanceId"` } type LookupInstanceResult struct { - AdditionalInfo *string `pulumi:"additionalInfo"` - Affinity *string `pulumi:"affinity"` - BlockDeviceMappings []InstanceBlockDeviceMapping `pulumi:"blockDeviceMappings"` - CreditSpecification *InstanceCreditSpecification `pulumi:"creditSpecification"` - DisableApiTermination *bool `pulumi:"disableApiTermination"` - EbsOptimized *bool `pulumi:"ebsOptimized"` - HostId *string `pulumi:"hostId"` - IamInstanceProfile *string `pulumi:"iamInstanceProfile"` - Id *string `pulumi:"id"` - InstanceInitiatedShutdownBehavior *string `pulumi:"instanceInitiatedShutdownBehavior"` - InstanceType *string `pulumi:"instanceType"` - KernelId *string `pulumi:"kernelId"` - Monitoring *bool `pulumi:"monitoring"` - PrivateDnsName *string `pulumi:"privateDnsName"` - PrivateDnsNameOptions *InstancePrivateDnsNameOptions `pulumi:"privateDnsNameOptions"` - PrivateIp *string `pulumi:"privateIp"` - PropagateTagsToVolumeOnCreation *bool `pulumi:"propagateTagsToVolumeOnCreation"` - PublicDnsName *string `pulumi:"publicDnsName"` - PublicIp *string `pulumi:"publicIp"` - RamdiskId *string `pulumi:"ramdiskId"` - SecurityGroupIds []string `pulumi:"securityGroupIds"` - SourceDestCheck *bool `pulumi:"sourceDestCheck"` - SsmAssociations []InstanceSsmAssociation `pulumi:"ssmAssociations"` - Tags []InstanceTag `pulumi:"tags"` - Tenancy *string `pulumi:"tenancy"` - UserData *string `pulumi:"userData"` - Volumes []InstanceVolume `pulumi:"volumes"` + // Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + Affinity *InstanceAffinity `pulumi:"affinity"` + // The block device mapping entries that defines the block devices to attach to the instance at launch. + BlockDeviceMappings []InstanceBlockDeviceMapping `pulumi:"blockDeviceMappings"` + // The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + CreditSpecification *CreditSpecificationProperties `pulumi:"creditSpecification"` + // If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + DisableApiTermination *bool `pulumi:"disableApiTermination"` + // Indicates whether the instance is optimized for Amazon EBS I/O. + EbsOptimized *bool `pulumi:"ebsOptimized"` + // If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + HostId *string `pulumi:"hostId"` + // The IAM instance profile. + IamInstanceProfile *string `pulumi:"iamInstanceProfile"` + // The EC2 Instance ID. + InstanceId *string `pulumi:"instanceId"` + // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + InstanceInitiatedShutdownBehavior *string `pulumi:"instanceInitiatedShutdownBehavior"` + // The instance type. + InstanceType *string `pulumi:"instanceType"` + // The ID of the kernel. + KernelId *string `pulumi:"kernelId"` + // Specifies whether detailed monitoring is enabled for the instance. + Monitoring *bool `pulumi:"monitoring"` + // The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + PrivateDnsName *string `pulumi:"privateDnsName"` + // The options for the instance hostname. + PrivateDnsNameOptions *InstancePrivateDnsNameOptions `pulumi:"privateDnsNameOptions"` + // The private IP address of the specified instance. For example: 10.24.34.0. + PrivateIp *string `pulumi:"privateIp"` + // The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + PublicDnsName *string `pulumi:"publicDnsName"` + // The public IP address of the specified instance. For example: 192.0.2.0. + PublicIp *string `pulumi:"publicIp"` + // The ID of the RAM disk to select. + RamdiskId *string `pulumi:"ramdiskId"` + // The IDs of the security groups. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // Specifies whether to enable an instance launched in a VPC to perform NAT. + SourceDestCheck *bool `pulumi:"sourceDestCheck"` + // The SSM document and parameter values in AWS Systems Manager to associate with this instance. + SsmAssociations []InstanceSsmAssociation `pulumi:"ssmAssociations"` + // The tags to add to the instance. + Tags []InstanceTag `pulumi:"tags"` + // The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + Tenancy *string `pulumi:"tenancy"` + // The user data to make available to the instance. + UserData *string `pulumi:"userData"` } func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput { @@ -71,7 +93,8 @@ func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, op } type LookupInstanceOutputArgs struct { - Id pulumi.StringInput `pulumi:"id"` + // The EC2 Instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` } func (LookupInstanceOutputArgs) ElementType() reflect.Type { @@ -98,114 +121,126 @@ func (o LookupInstanceResultOutput) ToOutput(ctx context.Context) pulumix.Output } } -func (o LookupInstanceResultOutput) AdditionalInfo() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupInstanceResult) *string { return v.AdditionalInfo }).(pulumi.StringPtrOutput) -} - -func (o LookupInstanceResultOutput) Affinity() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupInstanceResult) *string { return v.Affinity }).(pulumi.StringPtrOutput) +// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. +func (o LookupInstanceResultOutput) Affinity() InstanceAffinityPtrOutput { + return o.ApplyT(func(v LookupInstanceResult) *InstanceAffinity { return v.Affinity }).(InstanceAffinityPtrOutput) } +// The block device mapping entries that defines the block devices to attach to the instance at launch. func (o LookupInstanceResultOutput) BlockDeviceMappings() InstanceBlockDeviceMappingArrayOutput { return o.ApplyT(func(v LookupInstanceResult) []InstanceBlockDeviceMapping { return v.BlockDeviceMappings }).(InstanceBlockDeviceMappingArrayOutput) } -func (o LookupInstanceResultOutput) CreditSpecification() InstanceCreditSpecificationPtrOutput { - return o.ApplyT(func(v LookupInstanceResult) *InstanceCreditSpecification { return v.CreditSpecification }).(InstanceCreditSpecificationPtrOutput) +// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. +func (o LookupInstanceResultOutput) CreditSpecification() CreditSpecificationPropertiesPtrOutput { + return o.ApplyT(func(v LookupInstanceResult) *CreditSpecificationProperties { return v.CreditSpecification }).(CreditSpecificationPropertiesPtrOutput) } +// If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. func (o LookupInstanceResultOutput) DisableApiTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *bool { return v.DisableApiTermination }).(pulumi.BoolPtrOutput) } +// Indicates whether the instance is optimized for Amazon EBS I/O. func (o LookupInstanceResultOutput) EbsOptimized() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *bool { return v.EbsOptimized }).(pulumi.BoolPtrOutput) } +// If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. func (o LookupInstanceResultOutput) HostId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.HostId }).(pulumi.StringPtrOutput) } +// The IAM instance profile. func (o LookupInstanceResultOutput) IamInstanceProfile() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.IamInstanceProfile }).(pulumi.StringPtrOutput) } -func (o LookupInstanceResultOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupInstanceResult) *string { return v.Id }).(pulumi.StringPtrOutput) +// The EC2 Instance ID. +func (o LookupInstanceResultOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupInstanceResult) *string { return v.InstanceId }).(pulumi.StringPtrOutput) } +// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). func (o LookupInstanceResultOutput) InstanceInitiatedShutdownBehavior() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.InstanceInitiatedShutdownBehavior }).(pulumi.StringPtrOutput) } +// The instance type. func (o LookupInstanceResultOutput) InstanceType() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.InstanceType }).(pulumi.StringPtrOutput) } +// The ID of the kernel. func (o LookupInstanceResultOutput) KernelId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.KernelId }).(pulumi.StringPtrOutput) } +// Specifies whether detailed monitoring is enabled for the instance. func (o LookupInstanceResultOutput) Monitoring() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *bool { return v.Monitoring }).(pulumi.BoolPtrOutput) } +// The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. func (o LookupInstanceResultOutput) PrivateDnsName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.PrivateDnsName }).(pulumi.StringPtrOutput) } +// The options for the instance hostname. func (o LookupInstanceResultOutput) PrivateDnsNameOptions() InstancePrivateDnsNameOptionsPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *InstancePrivateDnsNameOptions { return v.PrivateDnsNameOptions }).(InstancePrivateDnsNameOptionsPtrOutput) } +// The private IP address of the specified instance. For example: 10.24.34.0. func (o LookupInstanceResultOutput) PrivateIp() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.PrivateIp }).(pulumi.StringPtrOutput) } -func (o LookupInstanceResultOutput) PropagateTagsToVolumeOnCreation() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LookupInstanceResult) *bool { return v.PropagateTagsToVolumeOnCreation }).(pulumi.BoolPtrOutput) -} - +// The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. func (o LookupInstanceResultOutput) PublicDnsName() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.PublicDnsName }).(pulumi.StringPtrOutput) } +// The public IP address of the specified instance. For example: 192.0.2.0. func (o LookupInstanceResultOutput) PublicIp() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.PublicIp }).(pulumi.StringPtrOutput) } +// The ID of the RAM disk to select. func (o LookupInstanceResultOutput) RamdiskId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.RamdiskId }).(pulumi.StringPtrOutput) } +// The IDs of the security groups. func (o LookupInstanceResultOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupInstanceResult) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } +// Specifies whether to enable an instance launched in a VPC to perform NAT. func (o LookupInstanceResultOutput) SourceDestCheck() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *bool { return v.SourceDestCheck }).(pulumi.BoolPtrOutput) } +// The SSM document and parameter values in AWS Systems Manager to associate with this instance. func (o LookupInstanceResultOutput) SsmAssociations() InstanceSsmAssociationArrayOutput { return o.ApplyT(func(v LookupInstanceResult) []InstanceSsmAssociation { return v.SsmAssociations }).(InstanceSsmAssociationArrayOutput) } +// The tags to add to the instance. func (o LookupInstanceResultOutput) Tags() InstanceTagArrayOutput { return o.ApplyT(func(v LookupInstanceResult) []InstanceTag { return v.Tags }).(InstanceTagArrayOutput) } +// The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. func (o LookupInstanceResultOutput) Tenancy() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.Tenancy }).(pulumi.StringPtrOutput) } +// The user data to make available to the instance. func (o LookupInstanceResultOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupInstanceResult) *string { return v.UserData }).(pulumi.StringPtrOutput) } -func (o LookupInstanceResultOutput) Volumes() InstanceVolumeArrayOutput { - return o.ApplyT(func(v LookupInstanceResult) []InstanceVolume { return v.Volumes }).(InstanceVolumeArrayOutput) -} - func init() { pulumi.RegisterOutputType(LookupInstanceResultOutput{}) } diff --git a/sdk/go/aws/ec2/getSecurityGroupEgress.go b/sdk/go/aws/ec2/getSecurityGroupEgress.go index 218c578569..13321ae7f8 100644 --- a/sdk/go/aws/ec2/getSecurityGroupEgress.go +++ b/sdk/go/aws/ec2/getSecurityGroupEgress.go @@ -24,12 +24,15 @@ func LookupSecurityGroupEgress(ctx *pulumi.Context, args *LookupSecurityGroupEgr } type LookupSecurityGroupEgressArgs struct { + // The Security Group Rule Id Id string `pulumi:"id"` } type LookupSecurityGroupEgressResult struct { + // Resource Type definition for an egress (outbound) security group rule. Description *string `pulumi:"description"` - Id *string `pulumi:"id"` + // The Security Group Rule Id + Id *string `pulumi:"id"` } func LookupSecurityGroupEgressOutput(ctx *pulumi.Context, args LookupSecurityGroupEgressOutputArgs, opts ...pulumi.InvokeOption) LookupSecurityGroupEgressResultOutput { @@ -46,6 +49,7 @@ func LookupSecurityGroupEgressOutput(ctx *pulumi.Context, args LookupSecurityGro } type LookupSecurityGroupEgressOutputArgs struct { + // The Security Group Rule Id Id pulumi.StringInput `pulumi:"id"` } @@ -73,10 +77,12 @@ func (o LookupSecurityGroupEgressResultOutput) ToOutput(ctx context.Context) pul } } +// Resource Type definition for an egress (outbound) security group rule. func (o LookupSecurityGroupEgressResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecurityGroupEgressResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +// The Security Group Rule Id func (o LookupSecurityGroupEgressResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSecurityGroupEgressResult) *string { return v.Id }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/ec2/instance.go b/sdk/go/aws/ec2/instance.go index 6fd1edb46c..9525a1d041 100644 --- a/sdk/go/aws/ec2/instance.go +++ b/sdk/go/aws/ec2/instance.go @@ -13,55 +13,99 @@ import ( ) // Resource Type definition for AWS::EC2::Instance -// -// Deprecated: Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type Instance struct { pulumi.CustomResourceState - AdditionalInfo pulumi.StringPtrOutput `pulumi:"additionalInfo"` - Affinity pulumi.StringPtrOutput `pulumi:"affinity"` - AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"` - BlockDeviceMappings InstanceBlockDeviceMappingArrayOutput `pulumi:"blockDeviceMappings"` - CpuOptions InstanceCpuOptionsPtrOutput `pulumi:"cpuOptions"` - CreditSpecification InstanceCreditSpecificationPtrOutput `pulumi:"creditSpecification"` - DisableApiTermination pulumi.BoolPtrOutput `pulumi:"disableApiTermination"` - EbsOptimized pulumi.BoolPtrOutput `pulumi:"ebsOptimized"` - ElasticGpuSpecifications InstanceElasticGpuSpecificationArrayOutput `pulumi:"elasticGpuSpecifications"` - ElasticInferenceAccelerators InstanceElasticInferenceAcceleratorArrayOutput `pulumi:"elasticInferenceAccelerators"` - EnclaveOptions InstanceEnclaveOptionsPtrOutput `pulumi:"enclaveOptions"` - HibernationOptions InstanceHibernationOptionsPtrOutput `pulumi:"hibernationOptions"` - HostId pulumi.StringPtrOutput `pulumi:"hostId"` - HostResourceGroupArn pulumi.StringPtrOutput `pulumi:"hostResourceGroupArn"` - IamInstanceProfile pulumi.StringPtrOutput `pulumi:"iamInstanceProfile"` - ImageId pulumi.StringPtrOutput `pulumi:"imageId"` - InstanceInitiatedShutdownBehavior pulumi.StringPtrOutput `pulumi:"instanceInitiatedShutdownBehavior"` - InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"` - Ipv6AddressCount pulumi.IntPtrOutput `pulumi:"ipv6AddressCount"` - Ipv6Addresses InstanceIpv6AddressArrayOutput `pulumi:"ipv6Addresses"` - KernelId pulumi.StringPtrOutput `pulumi:"kernelId"` - KeyName pulumi.StringPtrOutput `pulumi:"keyName"` - LaunchTemplate InstanceLaunchTemplateSpecificationPtrOutput `pulumi:"launchTemplate"` - LicenseSpecifications InstanceLicenseSpecificationArrayOutput `pulumi:"licenseSpecifications"` - Monitoring pulumi.BoolPtrOutput `pulumi:"monitoring"` - NetworkInterfaces InstanceNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"` - PlacementGroupName pulumi.StringPtrOutput `pulumi:"placementGroupName"` - PrivateDnsName pulumi.StringOutput `pulumi:"privateDnsName"` - PrivateDnsNameOptions InstancePrivateDnsNameOptionsPtrOutput `pulumi:"privateDnsNameOptions"` - PrivateIp pulumi.StringOutput `pulumi:"privateIp"` - PrivateIpAddress pulumi.StringPtrOutput `pulumi:"privateIpAddress"` - PropagateTagsToVolumeOnCreation pulumi.BoolPtrOutput `pulumi:"propagateTagsToVolumeOnCreation"` - PublicDnsName pulumi.StringOutput `pulumi:"publicDnsName"` - PublicIp pulumi.StringOutput `pulumi:"publicIp"` - RamdiskId pulumi.StringPtrOutput `pulumi:"ramdiskId"` - SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` - SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` - SourceDestCheck pulumi.BoolPtrOutput `pulumi:"sourceDestCheck"` - SsmAssociations InstanceSsmAssociationArrayOutput `pulumi:"ssmAssociations"` - SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` - Tags InstanceTagArrayOutput `pulumi:"tags"` - Tenancy pulumi.StringPtrOutput `pulumi:"tenancy"` - UserData pulumi.StringPtrOutput `pulumi:"userData"` - Volumes InstanceVolumeArrayOutput `pulumi:"volumes"` + // This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + AdditionalInfo pulumi.StringPtrOutput `pulumi:"additionalInfo"` + // Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + Affinity InstanceAffinityPtrOutput `pulumi:"affinity"` + // The Availability Zone of the instance. + AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"` + // The block device mapping entries that defines the block devices to attach to the instance at launch. + BlockDeviceMappings InstanceBlockDeviceMappingArrayOutput `pulumi:"blockDeviceMappings"` + // The CPU options for the instance. + CpuOptions CpuOptionsPropertiesPtrOutput `pulumi:"cpuOptions"` + // The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + CreditSpecification CreditSpecificationPropertiesPtrOutput `pulumi:"creditSpecification"` + // If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + DisableApiTermination pulumi.BoolPtrOutput `pulumi:"disableApiTermination"` + // Indicates whether the instance is optimized for Amazon EBS I/O. + EbsOptimized pulumi.BoolPtrOutput `pulumi:"ebsOptimized"` + // An elastic GPU to associate with the instance. + ElasticGpuSpecifications InstanceElasticGpuSpecificationArrayOutput `pulumi:"elasticGpuSpecifications"` + // An elastic inference accelerator to associate with the instance. + ElasticInferenceAccelerators InstanceElasticInferenceAcceleratorArrayOutput `pulumi:"elasticInferenceAccelerators"` + // Indicates whether the instance is enabled for AWS Nitro Enclaves. + EnclaveOptions EnclaveOptionsPropertiesPtrOutput `pulumi:"enclaveOptions"` + // Indicates whether an instance is enabled for hibernation. + HibernationOptions HibernationOptionsPropertiesPtrOutput `pulumi:"hibernationOptions"` + // If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + HostId pulumi.StringPtrOutput `pulumi:"hostId"` + // The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + HostResourceGroupArn pulumi.StringPtrOutput `pulumi:"hostResourceGroupArn"` + // The IAM instance profile. + IamInstanceProfile pulumi.StringPtrOutput `pulumi:"iamInstanceProfile"` + // The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + ImageId pulumi.StringPtrOutput `pulumi:"imageId"` + // The EC2 Instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + InstanceInitiatedShutdownBehavior pulumi.StringPtrOutput `pulumi:"instanceInitiatedShutdownBehavior"` + // The instance type. + InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"` + // [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + Ipv6AddressCount pulumi.IntPtrOutput `pulumi:"ipv6AddressCount"` + // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + Ipv6Addresses InstanceIpv6AddressArrayOutput `pulumi:"ipv6Addresses"` + // The ID of the kernel. + KernelId pulumi.StringPtrOutput `pulumi:"kernelId"` + // The name of the key pair. + KeyName pulumi.StringPtrOutput `pulumi:"keyName"` + // The launch template to use to launch the instances. + LaunchTemplate InstanceLaunchTemplateSpecificationPtrOutput `pulumi:"launchTemplate"` + // The license configurations. + LicenseSpecifications InstanceLicenseSpecificationArrayOutput `pulumi:"licenseSpecifications"` + // Specifies whether detailed monitoring is enabled for the instance. + Monitoring pulumi.BoolPtrOutput `pulumi:"monitoring"` + // The network interfaces to associate with the instance. + NetworkInterfaces InstanceNetworkInterfaceArrayOutput `pulumi:"networkInterfaces"` + // The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + PlacementGroupName pulumi.StringPtrOutput `pulumi:"placementGroupName"` + // The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + PrivateDnsName pulumi.StringOutput `pulumi:"privateDnsName"` + // The options for the instance hostname. + PrivateDnsNameOptions InstancePrivateDnsNameOptionsPtrOutput `pulumi:"privateDnsNameOptions"` + // The private IP address of the specified instance. For example: 10.24.34.0. + PrivateIp pulumi.StringOutput `pulumi:"privateIp"` + // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + PrivateIpAddress pulumi.StringPtrOutput `pulumi:"privateIpAddress"` + // Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + PropagateTagsToVolumeOnCreation pulumi.BoolPtrOutput `pulumi:"propagateTagsToVolumeOnCreation"` + // The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + PublicDnsName pulumi.StringOutput `pulumi:"publicDnsName"` + // The public IP address of the specified instance. For example: 192.0.2.0. + PublicIp pulumi.StringOutput `pulumi:"publicIp"` + // The ID of the RAM disk to select. + RamdiskId pulumi.StringPtrOutput `pulumi:"ramdiskId"` + // The IDs of the security groups. + SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` + // the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"` + // Specifies whether to enable an instance launched in a VPC to perform NAT. + SourceDestCheck pulumi.BoolPtrOutput `pulumi:"sourceDestCheck"` + // The SSM document and parameter values in AWS Systems Manager to associate with this instance. + SsmAssociations InstanceSsmAssociationArrayOutput `pulumi:"ssmAssociations"` + // [EC2-VPC] The ID of the subnet to launch the instance into. + SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"` + // The tags to add to the instance. + Tags InstanceTagArrayOutput `pulumi:"tags"` + // The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + Tenancy pulumi.StringPtrOutput `pulumi:"tenancy"` + // The user data to make available to the instance. + UserData pulumi.StringPtrOutput `pulumi:"userData"` + // The volumes to attach to the instance. + Volumes InstanceVolumeArrayOutput `pulumi:"volumes"` } // NewInstance registers a new resource with the given unique name, arguments, and options. @@ -125,90 +169,170 @@ func (InstanceState) ElementType() reflect.Type { } type instanceArgs struct { - AdditionalInfo *string `pulumi:"additionalInfo"` - Affinity *string `pulumi:"affinity"` - AvailabilityZone *string `pulumi:"availabilityZone"` - BlockDeviceMappings []InstanceBlockDeviceMapping `pulumi:"blockDeviceMappings"` - CpuOptions *InstanceCpuOptions `pulumi:"cpuOptions"` - CreditSpecification *InstanceCreditSpecification `pulumi:"creditSpecification"` - DisableApiTermination *bool `pulumi:"disableApiTermination"` - EbsOptimized *bool `pulumi:"ebsOptimized"` - ElasticGpuSpecifications []InstanceElasticGpuSpecification `pulumi:"elasticGpuSpecifications"` - ElasticInferenceAccelerators []InstanceElasticInferenceAccelerator `pulumi:"elasticInferenceAccelerators"` - EnclaveOptions *InstanceEnclaveOptions `pulumi:"enclaveOptions"` - HibernationOptions *InstanceHibernationOptions `pulumi:"hibernationOptions"` - HostId *string `pulumi:"hostId"` - HostResourceGroupArn *string `pulumi:"hostResourceGroupArn"` - IamInstanceProfile *string `pulumi:"iamInstanceProfile"` - ImageId *string `pulumi:"imageId"` - InstanceInitiatedShutdownBehavior *string `pulumi:"instanceInitiatedShutdownBehavior"` - InstanceType *string `pulumi:"instanceType"` - Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` - Ipv6Addresses []InstanceIpv6Address `pulumi:"ipv6Addresses"` - KernelId *string `pulumi:"kernelId"` - KeyName *string `pulumi:"keyName"` - LaunchTemplate *InstanceLaunchTemplateSpecification `pulumi:"launchTemplate"` - LicenseSpecifications []InstanceLicenseSpecification `pulumi:"licenseSpecifications"` - Monitoring *bool `pulumi:"monitoring"` - NetworkInterfaces []InstanceNetworkInterface `pulumi:"networkInterfaces"` - PlacementGroupName *string `pulumi:"placementGroupName"` - PrivateDnsNameOptions *InstancePrivateDnsNameOptions `pulumi:"privateDnsNameOptions"` - PrivateIpAddress *string `pulumi:"privateIpAddress"` - PropagateTagsToVolumeOnCreation *bool `pulumi:"propagateTagsToVolumeOnCreation"` - RamdiskId *string `pulumi:"ramdiskId"` - SecurityGroupIds []string `pulumi:"securityGroupIds"` - SecurityGroups []string `pulumi:"securityGroups"` - SourceDestCheck *bool `pulumi:"sourceDestCheck"` - SsmAssociations []InstanceSsmAssociation `pulumi:"ssmAssociations"` - SubnetId *string `pulumi:"subnetId"` - Tags []InstanceTag `pulumi:"tags"` - Tenancy *string `pulumi:"tenancy"` - UserData *string `pulumi:"userData"` - Volumes []InstanceVolume `pulumi:"volumes"` + // This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + AdditionalInfo *string `pulumi:"additionalInfo"` + // Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + Affinity *InstanceAffinity `pulumi:"affinity"` + // The Availability Zone of the instance. + AvailabilityZone *string `pulumi:"availabilityZone"` + // The block device mapping entries that defines the block devices to attach to the instance at launch. + BlockDeviceMappings []InstanceBlockDeviceMapping `pulumi:"blockDeviceMappings"` + // The CPU options for the instance. + CpuOptions *CpuOptionsProperties `pulumi:"cpuOptions"` + // The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + CreditSpecification *CreditSpecificationProperties `pulumi:"creditSpecification"` + // If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + DisableApiTermination *bool `pulumi:"disableApiTermination"` + // Indicates whether the instance is optimized for Amazon EBS I/O. + EbsOptimized *bool `pulumi:"ebsOptimized"` + // An elastic GPU to associate with the instance. + ElasticGpuSpecifications []InstanceElasticGpuSpecification `pulumi:"elasticGpuSpecifications"` + // An elastic inference accelerator to associate with the instance. + ElasticInferenceAccelerators []InstanceElasticInferenceAccelerator `pulumi:"elasticInferenceAccelerators"` + // Indicates whether the instance is enabled for AWS Nitro Enclaves. + EnclaveOptions *EnclaveOptionsProperties `pulumi:"enclaveOptions"` + // Indicates whether an instance is enabled for hibernation. + HibernationOptions *HibernationOptionsProperties `pulumi:"hibernationOptions"` + // If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + HostId *string `pulumi:"hostId"` + // The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + HostResourceGroupArn *string `pulumi:"hostResourceGroupArn"` + // The IAM instance profile. + IamInstanceProfile *string `pulumi:"iamInstanceProfile"` + // The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + ImageId *string `pulumi:"imageId"` + // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + InstanceInitiatedShutdownBehavior *string `pulumi:"instanceInitiatedShutdownBehavior"` + // The instance type. + InstanceType *string `pulumi:"instanceType"` + // [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + Ipv6Addresses []InstanceIpv6Address `pulumi:"ipv6Addresses"` + // The ID of the kernel. + KernelId *string `pulumi:"kernelId"` + // The name of the key pair. + KeyName *string `pulumi:"keyName"` + // The launch template to use to launch the instances. + LaunchTemplate *InstanceLaunchTemplateSpecification `pulumi:"launchTemplate"` + // The license configurations. + LicenseSpecifications []InstanceLicenseSpecification `pulumi:"licenseSpecifications"` + // Specifies whether detailed monitoring is enabled for the instance. + Monitoring *bool `pulumi:"monitoring"` + // The network interfaces to associate with the instance. + NetworkInterfaces []InstanceNetworkInterface `pulumi:"networkInterfaces"` + // The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + PlacementGroupName *string `pulumi:"placementGroupName"` + // The options for the instance hostname. + PrivateDnsNameOptions *InstancePrivateDnsNameOptions `pulumi:"privateDnsNameOptions"` + // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + PrivateIpAddress *string `pulumi:"privateIpAddress"` + // Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + PropagateTagsToVolumeOnCreation *bool `pulumi:"propagateTagsToVolumeOnCreation"` + // The ID of the RAM disk to select. + RamdiskId *string `pulumi:"ramdiskId"` + // The IDs of the security groups. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + SecurityGroups []string `pulumi:"securityGroups"` + // Specifies whether to enable an instance launched in a VPC to perform NAT. + SourceDestCheck *bool `pulumi:"sourceDestCheck"` + // The SSM document and parameter values in AWS Systems Manager to associate with this instance. + SsmAssociations []InstanceSsmAssociation `pulumi:"ssmAssociations"` + // [EC2-VPC] The ID of the subnet to launch the instance into. + SubnetId *string `pulumi:"subnetId"` + // The tags to add to the instance. + Tags []InstanceTag `pulumi:"tags"` + // The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + Tenancy *string `pulumi:"tenancy"` + // The user data to make available to the instance. + UserData *string `pulumi:"userData"` + // The volumes to attach to the instance. + Volumes []InstanceVolume `pulumi:"volumes"` } // The set of arguments for constructing a Instance resource. type InstanceArgs struct { - AdditionalInfo pulumi.StringPtrInput - Affinity pulumi.StringPtrInput - AvailabilityZone pulumi.StringPtrInput - BlockDeviceMappings InstanceBlockDeviceMappingArrayInput - CpuOptions InstanceCpuOptionsPtrInput - CreditSpecification InstanceCreditSpecificationPtrInput - DisableApiTermination pulumi.BoolPtrInput - EbsOptimized pulumi.BoolPtrInput - ElasticGpuSpecifications InstanceElasticGpuSpecificationArrayInput - ElasticInferenceAccelerators InstanceElasticInferenceAcceleratorArrayInput - EnclaveOptions InstanceEnclaveOptionsPtrInput - HibernationOptions InstanceHibernationOptionsPtrInput - HostId pulumi.StringPtrInput - HostResourceGroupArn pulumi.StringPtrInput - IamInstanceProfile pulumi.StringPtrInput - ImageId pulumi.StringPtrInput + // This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + AdditionalInfo pulumi.StringPtrInput + // Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + Affinity InstanceAffinityPtrInput + // The Availability Zone of the instance. + AvailabilityZone pulumi.StringPtrInput + // The block device mapping entries that defines the block devices to attach to the instance at launch. + BlockDeviceMappings InstanceBlockDeviceMappingArrayInput + // The CPU options for the instance. + CpuOptions CpuOptionsPropertiesPtrInput + // The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + CreditSpecification CreditSpecificationPropertiesPtrInput + // If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + DisableApiTermination pulumi.BoolPtrInput + // Indicates whether the instance is optimized for Amazon EBS I/O. + EbsOptimized pulumi.BoolPtrInput + // An elastic GPU to associate with the instance. + ElasticGpuSpecifications InstanceElasticGpuSpecificationArrayInput + // An elastic inference accelerator to associate with the instance. + ElasticInferenceAccelerators InstanceElasticInferenceAcceleratorArrayInput + // Indicates whether the instance is enabled for AWS Nitro Enclaves. + EnclaveOptions EnclaveOptionsPropertiesPtrInput + // Indicates whether an instance is enabled for hibernation. + HibernationOptions HibernationOptionsPropertiesPtrInput + // If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + HostId pulumi.StringPtrInput + // The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + HostResourceGroupArn pulumi.StringPtrInput + // The IAM instance profile. + IamInstanceProfile pulumi.StringPtrInput + // The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + ImageId pulumi.StringPtrInput + // Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). InstanceInitiatedShutdownBehavior pulumi.StringPtrInput - InstanceType pulumi.StringPtrInput - Ipv6AddressCount pulumi.IntPtrInput - Ipv6Addresses InstanceIpv6AddressArrayInput - KernelId pulumi.StringPtrInput - KeyName pulumi.StringPtrInput - LaunchTemplate InstanceLaunchTemplateSpecificationPtrInput - LicenseSpecifications InstanceLicenseSpecificationArrayInput - Monitoring pulumi.BoolPtrInput - NetworkInterfaces InstanceNetworkInterfaceArrayInput - PlacementGroupName pulumi.StringPtrInput - PrivateDnsNameOptions InstancePrivateDnsNameOptionsPtrInput - PrivateIpAddress pulumi.StringPtrInput - PropagateTagsToVolumeOnCreation pulumi.BoolPtrInput - RamdiskId pulumi.StringPtrInput - SecurityGroupIds pulumi.StringArrayInput - SecurityGroups pulumi.StringArrayInput - SourceDestCheck pulumi.BoolPtrInput - SsmAssociations InstanceSsmAssociationArrayInput - SubnetId pulumi.StringPtrInput - Tags InstanceTagArrayInput - Tenancy pulumi.StringPtrInput - UserData pulumi.StringPtrInput - Volumes InstanceVolumeArrayInput + // The instance type. + InstanceType pulumi.StringPtrInput + // [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + Ipv6AddressCount pulumi.IntPtrInput + // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + Ipv6Addresses InstanceIpv6AddressArrayInput + // The ID of the kernel. + KernelId pulumi.StringPtrInput + // The name of the key pair. + KeyName pulumi.StringPtrInput + // The launch template to use to launch the instances. + LaunchTemplate InstanceLaunchTemplateSpecificationPtrInput + // The license configurations. + LicenseSpecifications InstanceLicenseSpecificationArrayInput + // Specifies whether detailed monitoring is enabled for the instance. + Monitoring pulumi.BoolPtrInput + // The network interfaces to associate with the instance. + NetworkInterfaces InstanceNetworkInterfaceArrayInput + // The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + PlacementGroupName pulumi.StringPtrInput + // The options for the instance hostname. + PrivateDnsNameOptions InstancePrivateDnsNameOptionsPtrInput + // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + PrivateIpAddress pulumi.StringPtrInput + // Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + PropagateTagsToVolumeOnCreation pulumi.BoolPtrInput + // The ID of the RAM disk to select. + RamdiskId pulumi.StringPtrInput + // The IDs of the security groups. + SecurityGroupIds pulumi.StringArrayInput + // the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + SecurityGroups pulumi.StringArrayInput + // Specifies whether to enable an instance launched in a VPC to perform NAT. + SourceDestCheck pulumi.BoolPtrInput + // The SSM document and parameter values in AWS Systems Manager to associate with this instance. + SsmAssociations InstanceSsmAssociationArrayInput + // [EC2-VPC] The ID of the subnet to launch the instance into. + SubnetId pulumi.StringPtrInput + // The tags to add to the instance. + Tags InstanceTagArrayInput + // The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + Tenancy pulumi.StringPtrInput + // The user data to make available to the instance. + UserData pulumi.StringPtrInput + // The volumes to attach to the instance. + Volumes InstanceVolumeArrayInput } func (InstanceArgs) ElementType() reflect.Type { @@ -260,180 +384,229 @@ func (o InstanceOutput) ToOutput(ctx context.Context) pulumix.Output[*Instance] } } +// This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). func (o InstanceOutput) AdditionalInfo() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.AdditionalInfo }).(pulumi.StringPtrOutput) } -func (o InstanceOutput) Affinity() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Affinity }).(pulumi.StringPtrOutput) +// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. +func (o InstanceOutput) Affinity() InstanceAffinityPtrOutput { + return o.ApplyT(func(v *Instance) InstanceAffinityPtrOutput { return v.Affinity }).(InstanceAffinityPtrOutput) } +// The Availability Zone of the instance. func (o InstanceOutput) AvailabilityZone() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.AvailabilityZone }).(pulumi.StringPtrOutput) } +// The block device mapping entries that defines the block devices to attach to the instance at launch. func (o InstanceOutput) BlockDeviceMappings() InstanceBlockDeviceMappingArrayOutput { return o.ApplyT(func(v *Instance) InstanceBlockDeviceMappingArrayOutput { return v.BlockDeviceMappings }).(InstanceBlockDeviceMappingArrayOutput) } -func (o InstanceOutput) CpuOptions() InstanceCpuOptionsPtrOutput { - return o.ApplyT(func(v *Instance) InstanceCpuOptionsPtrOutput { return v.CpuOptions }).(InstanceCpuOptionsPtrOutput) +// The CPU options for the instance. +func (o InstanceOutput) CpuOptions() CpuOptionsPropertiesPtrOutput { + return o.ApplyT(func(v *Instance) CpuOptionsPropertiesPtrOutput { return v.CpuOptions }).(CpuOptionsPropertiesPtrOutput) } -func (o InstanceOutput) CreditSpecification() InstanceCreditSpecificationPtrOutput { - return o.ApplyT(func(v *Instance) InstanceCreditSpecificationPtrOutput { return v.CreditSpecification }).(InstanceCreditSpecificationPtrOutput) +// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. +func (o InstanceOutput) CreditSpecification() CreditSpecificationPropertiesPtrOutput { + return o.ApplyT(func(v *Instance) CreditSpecificationPropertiesPtrOutput { return v.CreditSpecification }).(CreditSpecificationPropertiesPtrOutput) } +// If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. func (o InstanceOutput) DisableApiTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DisableApiTermination }).(pulumi.BoolPtrOutput) } +// Indicates whether the instance is optimized for Amazon EBS I/O. func (o InstanceOutput) EbsOptimized() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.EbsOptimized }).(pulumi.BoolPtrOutput) } +// An elastic GPU to associate with the instance. func (o InstanceOutput) ElasticGpuSpecifications() InstanceElasticGpuSpecificationArrayOutput { return o.ApplyT(func(v *Instance) InstanceElasticGpuSpecificationArrayOutput { return v.ElasticGpuSpecifications }).(InstanceElasticGpuSpecificationArrayOutput) } +// An elastic inference accelerator to associate with the instance. func (o InstanceOutput) ElasticInferenceAccelerators() InstanceElasticInferenceAcceleratorArrayOutput { return o.ApplyT(func(v *Instance) InstanceElasticInferenceAcceleratorArrayOutput { return v.ElasticInferenceAccelerators }).(InstanceElasticInferenceAcceleratorArrayOutput) } -func (o InstanceOutput) EnclaveOptions() InstanceEnclaveOptionsPtrOutput { - return o.ApplyT(func(v *Instance) InstanceEnclaveOptionsPtrOutput { return v.EnclaveOptions }).(InstanceEnclaveOptionsPtrOutput) +// Indicates whether the instance is enabled for AWS Nitro Enclaves. +func (o InstanceOutput) EnclaveOptions() EnclaveOptionsPropertiesPtrOutput { + return o.ApplyT(func(v *Instance) EnclaveOptionsPropertiesPtrOutput { return v.EnclaveOptions }).(EnclaveOptionsPropertiesPtrOutput) } -func (o InstanceOutput) HibernationOptions() InstanceHibernationOptionsPtrOutput { - return o.ApplyT(func(v *Instance) InstanceHibernationOptionsPtrOutput { return v.HibernationOptions }).(InstanceHibernationOptionsPtrOutput) +// Indicates whether an instance is enabled for hibernation. +func (o InstanceOutput) HibernationOptions() HibernationOptionsPropertiesPtrOutput { + return o.ApplyT(func(v *Instance) HibernationOptionsPropertiesPtrOutput { return v.HibernationOptions }).(HibernationOptionsPropertiesPtrOutput) } +// If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. func (o InstanceOutput) HostId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.HostId }).(pulumi.StringPtrOutput) } +// The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. func (o InstanceOutput) HostResourceGroupArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.HostResourceGroupArn }).(pulumi.StringPtrOutput) } +// The IAM instance profile. func (o InstanceOutput) IamInstanceProfile() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.IamInstanceProfile }).(pulumi.StringPtrOutput) } +// The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. func (o InstanceOutput) ImageId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.ImageId }).(pulumi.StringPtrOutput) } +// The EC2 Instance ID. +func (o InstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). func (o InstanceOutput) InstanceInitiatedShutdownBehavior() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.InstanceInitiatedShutdownBehavior }).(pulumi.StringPtrOutput) } +// The instance type. func (o InstanceOutput) InstanceType() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.InstanceType }).(pulumi.StringPtrOutput) } +// [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. func (o InstanceOutput) Ipv6AddressCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.Ipv6AddressCount }).(pulumi.IntPtrOutput) } +// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. func (o InstanceOutput) Ipv6Addresses() InstanceIpv6AddressArrayOutput { return o.ApplyT(func(v *Instance) InstanceIpv6AddressArrayOutput { return v.Ipv6Addresses }).(InstanceIpv6AddressArrayOutput) } +// The ID of the kernel. func (o InstanceOutput) KernelId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.KernelId }).(pulumi.StringPtrOutput) } +// The name of the key pair. func (o InstanceOutput) KeyName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.KeyName }).(pulumi.StringPtrOutput) } +// The launch template to use to launch the instances. func (o InstanceOutput) LaunchTemplate() InstanceLaunchTemplateSpecificationPtrOutput { return o.ApplyT(func(v *Instance) InstanceLaunchTemplateSpecificationPtrOutput { return v.LaunchTemplate }).(InstanceLaunchTemplateSpecificationPtrOutput) } +// The license configurations. func (o InstanceOutput) LicenseSpecifications() InstanceLicenseSpecificationArrayOutput { return o.ApplyT(func(v *Instance) InstanceLicenseSpecificationArrayOutput { return v.LicenseSpecifications }).(InstanceLicenseSpecificationArrayOutput) } +// Specifies whether detailed monitoring is enabled for the instance. func (o InstanceOutput) Monitoring() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.Monitoring }).(pulumi.BoolPtrOutput) } +// The network interfaces to associate with the instance. func (o InstanceOutput) NetworkInterfaces() InstanceNetworkInterfaceArrayOutput { return o.ApplyT(func(v *Instance) InstanceNetworkInterfaceArrayOutput { return v.NetworkInterfaces }).(InstanceNetworkInterfaceArrayOutput) } +// The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). func (o InstanceOutput) PlacementGroupName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.PlacementGroupName }).(pulumi.StringPtrOutput) } +// The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. func (o InstanceOutput) PrivateDnsName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PrivateDnsName }).(pulumi.StringOutput) } +// The options for the instance hostname. func (o InstanceOutput) PrivateDnsNameOptions() InstancePrivateDnsNameOptionsPtrOutput { return o.ApplyT(func(v *Instance) InstancePrivateDnsNameOptionsPtrOutput { return v.PrivateDnsNameOptions }).(InstancePrivateDnsNameOptionsPtrOutput) } +// The private IP address of the specified instance. For example: 10.24.34.0. func (o InstanceOutput) PrivateIp() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PrivateIp }).(pulumi.StringOutput) } +// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. func (o InstanceOutput) PrivateIpAddress() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.PrivateIpAddress }).(pulumi.StringPtrOutput) } +// Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. func (o InstanceOutput) PropagateTagsToVolumeOnCreation() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.PropagateTagsToVolumeOnCreation }).(pulumi.BoolPtrOutput) } +// The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. func (o InstanceOutput) PublicDnsName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PublicDnsName }).(pulumi.StringOutput) } +// The public IP address of the specified instance. For example: 192.0.2.0. func (o InstanceOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput) } +// The ID of the RAM disk to select. func (o InstanceOutput) RamdiskId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.RamdiskId }).(pulumi.StringPtrOutput) } +// The IDs of the security groups. func (o InstanceOutput) SecurityGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) } +// the names of the security groups. For a nondefault VPC, you must use security group IDs instead. func (o InstanceOutput) SecurityGroups() pulumi.StringArrayOutput { return o.ApplyT(func(v *Instance) pulumi.StringArrayOutput { return v.SecurityGroups }).(pulumi.StringArrayOutput) } +// Specifies whether to enable an instance launched in a VPC to perform NAT. func (o InstanceOutput) SourceDestCheck() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.SourceDestCheck }).(pulumi.BoolPtrOutput) } +// The SSM document and parameter values in AWS Systems Manager to associate with this instance. func (o InstanceOutput) SsmAssociations() InstanceSsmAssociationArrayOutput { return o.ApplyT(func(v *Instance) InstanceSsmAssociationArrayOutput { return v.SsmAssociations }).(InstanceSsmAssociationArrayOutput) } +// [EC2-VPC] The ID of the subnet to launch the instance into. func (o InstanceOutput) SubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.SubnetId }).(pulumi.StringPtrOutput) } +// The tags to add to the instance. func (o InstanceOutput) Tags() InstanceTagArrayOutput { return o.ApplyT(func(v *Instance) InstanceTagArrayOutput { return v.Tags }).(InstanceTagArrayOutput) } +// The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. func (o InstanceOutput) Tenancy() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Tenancy }).(pulumi.StringPtrOutput) } +// The user data to make available to the instance. func (o InstanceOutput) UserData() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.UserData }).(pulumi.StringPtrOutput) } +// The volumes to attach to the instance. func (o InstanceOutput) Volumes() InstanceVolumeArrayOutput { return o.ApplyT(func(v *Instance) InstanceVolumeArrayOutput { return v.Volumes }).(InstanceVolumeArrayOutput) } diff --git a/sdk/go/aws/ec2/pulumiEnums.go b/sdk/go/aws/ec2/pulumiEnums.go index 2aa8aafa06..c06ecd93b9 100644 --- a/sdk/go/aws/ec2/pulumiEnums.go +++ b/sdk/go/aws/ec2/pulumiEnums.go @@ -4795,6 +4795,372 @@ func (in *flowLogTrafficTypePtr) ToOutput(ctx context.Context) pulumix.Output[*F } } +// Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. +type InstanceAffinity string + +const ( + InstanceAffinityDefault = InstanceAffinity("default") + InstanceAffinityHost = InstanceAffinity("host") +) + +func (InstanceAffinity) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceAffinity)(nil)).Elem() +} + +func (e InstanceAffinity) ToInstanceAffinityOutput() InstanceAffinityOutput { + return pulumi.ToOutput(e).(InstanceAffinityOutput) +} + +func (e InstanceAffinity) ToInstanceAffinityOutputWithContext(ctx context.Context) InstanceAffinityOutput { + return pulumi.ToOutputWithContext(ctx, e).(InstanceAffinityOutput) +} + +func (e InstanceAffinity) ToInstanceAffinityPtrOutput() InstanceAffinityPtrOutput { + return e.ToInstanceAffinityPtrOutputWithContext(context.Background()) +} + +func (e InstanceAffinity) ToInstanceAffinityPtrOutputWithContext(ctx context.Context) InstanceAffinityPtrOutput { + return InstanceAffinity(e).ToInstanceAffinityOutputWithContext(ctx).ToInstanceAffinityPtrOutputWithContext(ctx) +} + +func (e InstanceAffinity) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstanceAffinity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstanceAffinity) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e InstanceAffinity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type InstanceAffinityOutput struct{ *pulumi.OutputState } + +func (InstanceAffinityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceAffinity)(nil)).Elem() +} + +func (o InstanceAffinityOutput) ToInstanceAffinityOutput() InstanceAffinityOutput { + return o +} + +func (o InstanceAffinityOutput) ToInstanceAffinityOutputWithContext(ctx context.Context) InstanceAffinityOutput { + return o +} + +func (o InstanceAffinityOutput) ToInstanceAffinityPtrOutput() InstanceAffinityPtrOutput { + return o.ToInstanceAffinityPtrOutputWithContext(context.Background()) +} + +func (o InstanceAffinityOutput) ToInstanceAffinityPtrOutputWithContext(ctx context.Context) InstanceAffinityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceAffinity) *InstanceAffinity { + return &v + }).(InstanceAffinityPtrOutput) +} + +func (o InstanceAffinityOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceAffinity] { + return pulumix.Output[InstanceAffinity]{ + OutputState: o.OutputState, + } +} + +func (o InstanceAffinityOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o InstanceAffinityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstanceAffinity) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o InstanceAffinityOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstanceAffinityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstanceAffinity) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type InstanceAffinityPtrOutput struct{ *pulumi.OutputState } + +func (InstanceAffinityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstanceAffinity)(nil)).Elem() +} + +func (o InstanceAffinityPtrOutput) ToInstanceAffinityPtrOutput() InstanceAffinityPtrOutput { + return o +} + +func (o InstanceAffinityPtrOutput) ToInstanceAffinityPtrOutputWithContext(ctx context.Context) InstanceAffinityPtrOutput { + return o +} + +func (o InstanceAffinityPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceAffinity] { + return pulumix.Output[*InstanceAffinity]{ + OutputState: o.OutputState, + } +} + +func (o InstanceAffinityPtrOutput) Elem() InstanceAffinityOutput { + return o.ApplyT(func(v *InstanceAffinity) InstanceAffinity { + if v != nil { + return *v + } + var ret InstanceAffinity + return ret + }).(InstanceAffinityOutput) +} + +func (o InstanceAffinityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstanceAffinityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *InstanceAffinity) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// InstanceAffinityInput is an input type that accepts InstanceAffinityArgs and InstanceAffinityOutput values. +// You can construct a concrete instance of `InstanceAffinityInput` via: +// +// InstanceAffinityArgs{...} +type InstanceAffinityInput interface { + pulumi.Input + + ToInstanceAffinityOutput() InstanceAffinityOutput + ToInstanceAffinityOutputWithContext(context.Context) InstanceAffinityOutput +} + +var instanceAffinityPtrType = reflect.TypeOf((**InstanceAffinity)(nil)).Elem() + +type InstanceAffinityPtrInput interface { + pulumi.Input + + ToInstanceAffinityPtrOutput() InstanceAffinityPtrOutput + ToInstanceAffinityPtrOutputWithContext(context.Context) InstanceAffinityPtrOutput +} + +type instanceAffinityPtr string + +func InstanceAffinityPtr(v string) InstanceAffinityPtrInput { + return (*instanceAffinityPtr)(&v) +} + +func (*instanceAffinityPtr) ElementType() reflect.Type { + return instanceAffinityPtrType +} + +func (in *instanceAffinityPtr) ToInstanceAffinityPtrOutput() InstanceAffinityPtrOutput { + return pulumi.ToOutput(in).(InstanceAffinityPtrOutput) +} + +func (in *instanceAffinityPtr) ToInstanceAffinityPtrOutputWithContext(ctx context.Context) InstanceAffinityPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(InstanceAffinityPtrOutput) +} + +func (in *instanceAffinityPtr) ToOutput(ctx context.Context) pulumix.Output[*InstanceAffinity] { + return pulumix.Output[*InstanceAffinity]{ + OutputState: in.ToInstanceAffinityPtrOutputWithContext(ctx).OutputState, + } +} + +// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. +type InstancePrivateDnsNameOptionsHostnameType string + +const ( + InstancePrivateDnsNameOptionsHostnameTypeIpName = InstancePrivateDnsNameOptionsHostnameType("ip-name") + InstancePrivateDnsNameOptionsHostnameTypeResourceName = InstancePrivateDnsNameOptionsHostnameType("resource-name") +) + +func (InstancePrivateDnsNameOptionsHostnameType) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrivateDnsNameOptionsHostnameType)(nil)).Elem() +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToInstancePrivateDnsNameOptionsHostnameTypeOutput() InstancePrivateDnsNameOptionsHostnameTypeOutput { + return pulumi.ToOutput(e).(InstancePrivateDnsNameOptionsHostnameTypeOutput) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToInstancePrivateDnsNameOptionsHostnameTypeOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(InstancePrivateDnsNameOptionsHostnameTypeOutput) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutput() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return e.ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(context.Background()) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return InstancePrivateDnsNameOptionsHostnameType(e).ToInstancePrivateDnsNameOptionsHostnameTypeOutputWithContext(ctx).ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e InstancePrivateDnsNameOptionsHostnameType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type InstancePrivateDnsNameOptionsHostnameTypeOutput struct{ *pulumi.OutputState } + +func (InstancePrivateDnsNameOptionsHostnameTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstancePrivateDnsNameOptionsHostnameType)(nil)).Elem() +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToInstancePrivateDnsNameOptionsHostnameTypeOutput() InstancePrivateDnsNameOptionsHostnameTypeOutput { + return o +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToInstancePrivateDnsNameOptionsHostnameTypeOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypeOutput { + return o +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutput() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o.ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(context.Background()) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v InstancePrivateDnsNameOptionsHostnameType) *InstancePrivateDnsNameOptionsHostnameType { + return &v + }).(InstancePrivateDnsNameOptionsHostnameTypePtrOutput) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToOutput(ctx context.Context) pulumix.Output[InstancePrivateDnsNameOptionsHostnameType] { + return pulumix.Output[InstancePrivateDnsNameOptionsHostnameType]{ + OutputState: o.OutputState, + } +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstancePrivateDnsNameOptionsHostnameType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e InstancePrivateDnsNameOptionsHostnameType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type InstancePrivateDnsNameOptionsHostnameTypePtrOutput struct{ *pulumi.OutputState } + +func (InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**InstancePrivateDnsNameOptionsHostnameType)(nil)).Elem() +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutput() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstancePrivateDnsNameOptionsHostnameType] { + return pulumix.Output[*InstancePrivateDnsNameOptionsHostnameType]{ + OutputState: o.OutputState, + } +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) Elem() InstancePrivateDnsNameOptionsHostnameTypeOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptionsHostnameType) InstancePrivateDnsNameOptionsHostnameType { + if v != nil { + return *v + } + var ret InstancePrivateDnsNameOptionsHostnameType + return ret + }).(InstancePrivateDnsNameOptionsHostnameTypeOutput) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o InstancePrivateDnsNameOptionsHostnameTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *InstancePrivateDnsNameOptionsHostnameType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// InstancePrivateDnsNameOptionsHostnameTypeInput is an input type that accepts InstancePrivateDnsNameOptionsHostnameTypeArgs and InstancePrivateDnsNameOptionsHostnameTypeOutput values. +// You can construct a concrete instance of `InstancePrivateDnsNameOptionsHostnameTypeInput` via: +// +// InstancePrivateDnsNameOptionsHostnameTypeArgs{...} +type InstancePrivateDnsNameOptionsHostnameTypeInput interface { + pulumi.Input + + ToInstancePrivateDnsNameOptionsHostnameTypeOutput() InstancePrivateDnsNameOptionsHostnameTypeOutput + ToInstancePrivateDnsNameOptionsHostnameTypeOutputWithContext(context.Context) InstancePrivateDnsNameOptionsHostnameTypeOutput +} + +var instancePrivateDnsNameOptionsHostnameTypePtrType = reflect.TypeOf((**InstancePrivateDnsNameOptionsHostnameType)(nil)).Elem() + +type InstancePrivateDnsNameOptionsHostnameTypePtrInput interface { + pulumi.Input + + ToInstancePrivateDnsNameOptionsHostnameTypePtrOutput() InstancePrivateDnsNameOptionsHostnameTypePtrOutput + ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(context.Context) InstancePrivateDnsNameOptionsHostnameTypePtrOutput +} + +type instancePrivateDnsNameOptionsHostnameTypePtr string + +func InstancePrivateDnsNameOptionsHostnameTypePtr(v string) InstancePrivateDnsNameOptionsHostnameTypePtrInput { + return (*instancePrivateDnsNameOptionsHostnameTypePtr)(&v) +} + +func (*instancePrivateDnsNameOptionsHostnameTypePtr) ElementType() reflect.Type { + return instancePrivateDnsNameOptionsHostnameTypePtrType +} + +func (in *instancePrivateDnsNameOptionsHostnameTypePtr) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutput() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return pulumi.ToOutput(in).(InstancePrivateDnsNameOptionsHostnameTypePtrOutput) +} + +func (in *instancePrivateDnsNameOptionsHostnameTypePtr) ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx context.Context) InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(InstancePrivateDnsNameOptionsHostnameTypePtrOutput) +} + +func (in *instancePrivateDnsNameOptionsHostnameTypePtr) ToOutput(ctx context.Context) pulumix.Output[*InstancePrivateDnsNameOptionsHostnameType] { + return pulumix.Output[*InstancePrivateDnsNameOptionsHostnameType]{ + OutputState: in.ToInstancePrivateDnsNameOptionsHostnameTypePtrOutputWithContext(ctx).OutputState, + } +} + // Limits which service in Amazon Web Services that the pool can be used in. type IpamPoolAwsService string @@ -11048,6 +11414,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FlowLogResourceTypePtrInput)(nil)).Elem(), FlowLogResourceType("NetworkInterface")) pulumi.RegisterInputType(reflect.TypeOf((*FlowLogTrafficTypeInput)(nil)).Elem(), FlowLogTrafficType("ACCEPT")) pulumi.RegisterInputType(reflect.TypeOf((*FlowLogTrafficTypePtrInput)(nil)).Elem(), FlowLogTrafficType("ACCEPT")) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceAffinityInput)(nil)).Elem(), InstanceAffinity("default")) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceAffinityPtrInput)(nil)).Elem(), InstanceAffinity("default")) + pulumi.RegisterInputType(reflect.TypeOf((*InstancePrivateDnsNameOptionsHostnameTypeInput)(nil)).Elem(), InstancePrivateDnsNameOptionsHostnameType("ip-name")) + pulumi.RegisterInputType(reflect.TypeOf((*InstancePrivateDnsNameOptionsHostnameTypePtrInput)(nil)).Elem(), InstancePrivateDnsNameOptionsHostnameType("ip-name")) pulumi.RegisterInputType(reflect.TypeOf((*IpamPoolAwsServiceInput)(nil)).Elem(), IpamPoolAwsService("ec2")) pulumi.RegisterInputType(reflect.TypeOf((*IpamPoolAwsServicePtrInput)(nil)).Elem(), IpamPoolAwsService("ec2")) pulumi.RegisterInputType(reflect.TypeOf((*IpamPoolPublicIpSourceInput)(nil)).Elem(), IpamPoolPublicIpSource("byoip")) @@ -11165,6 +11535,10 @@ func init() { pulumi.RegisterOutputType(FlowLogResourceTypePtrOutput{}) pulumi.RegisterOutputType(FlowLogTrafficTypeOutput{}) pulumi.RegisterOutputType(FlowLogTrafficTypePtrOutput{}) + pulumi.RegisterOutputType(InstanceAffinityOutput{}) + pulumi.RegisterOutputType(InstanceAffinityPtrOutput{}) + pulumi.RegisterOutputType(InstancePrivateDnsNameOptionsHostnameTypeOutput{}) + pulumi.RegisterOutputType(InstancePrivateDnsNameOptionsHostnameTypePtrOutput{}) pulumi.RegisterOutputType(IpamPoolAwsServiceOutput{}) pulumi.RegisterOutputType(IpamPoolAwsServicePtrOutput{}) pulumi.RegisterOutputType(IpamPoolIpamScopeTypeOutput{}) diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index 7f87bf98bc..742dff176d 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -2140,6 +2140,341 @@ func (o ClientVpnEndpointTagSpecificationArrayOutput) Index(i pulumi.IntInput) C }).(ClientVpnEndpointTagSpecificationOutput) } +// The CPU options for the instance. +type CpuOptionsProperties struct { + CoreCount *int `pulumi:"coreCount"` + ThreadsPerCore *int `pulumi:"threadsPerCore"` +} + +// CpuOptionsPropertiesInput is an input type that accepts CpuOptionsPropertiesArgs and CpuOptionsPropertiesOutput values. +// You can construct a concrete instance of `CpuOptionsPropertiesInput` via: +// +// CpuOptionsPropertiesArgs{...} +type CpuOptionsPropertiesInput interface { + pulumi.Input + + ToCpuOptionsPropertiesOutput() CpuOptionsPropertiesOutput + ToCpuOptionsPropertiesOutputWithContext(context.Context) CpuOptionsPropertiesOutput +} + +// The CPU options for the instance. +type CpuOptionsPropertiesArgs struct { + CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` + ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` +} + +func (CpuOptionsPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CpuOptionsProperties)(nil)).Elem() +} + +func (i CpuOptionsPropertiesArgs) ToCpuOptionsPropertiesOutput() CpuOptionsPropertiesOutput { + return i.ToCpuOptionsPropertiesOutputWithContext(context.Background()) +} + +func (i CpuOptionsPropertiesArgs) ToCpuOptionsPropertiesOutputWithContext(ctx context.Context) CpuOptionsPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(CpuOptionsPropertiesOutput) +} + +func (i CpuOptionsPropertiesArgs) ToOutput(ctx context.Context) pulumix.Output[CpuOptionsProperties] { + return pulumix.Output[CpuOptionsProperties]{ + OutputState: i.ToCpuOptionsPropertiesOutputWithContext(ctx).OutputState, + } +} + +func (i CpuOptionsPropertiesArgs) ToCpuOptionsPropertiesPtrOutput() CpuOptionsPropertiesPtrOutput { + return i.ToCpuOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i CpuOptionsPropertiesArgs) ToCpuOptionsPropertiesPtrOutputWithContext(ctx context.Context) CpuOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CpuOptionsPropertiesOutput).ToCpuOptionsPropertiesPtrOutputWithContext(ctx) +} + +// CpuOptionsPropertiesPtrInput is an input type that accepts CpuOptionsPropertiesArgs, CpuOptionsPropertiesPtr and CpuOptionsPropertiesPtrOutput values. +// You can construct a concrete instance of `CpuOptionsPropertiesPtrInput` via: +// +// CpuOptionsPropertiesArgs{...} +// +// or: +// +// nil +type CpuOptionsPropertiesPtrInput interface { + pulumi.Input + + ToCpuOptionsPropertiesPtrOutput() CpuOptionsPropertiesPtrOutput + ToCpuOptionsPropertiesPtrOutputWithContext(context.Context) CpuOptionsPropertiesPtrOutput +} + +type cpuOptionsPropertiesPtrType CpuOptionsPropertiesArgs + +func CpuOptionsPropertiesPtr(v *CpuOptionsPropertiesArgs) CpuOptionsPropertiesPtrInput { + return (*cpuOptionsPropertiesPtrType)(v) +} + +func (*cpuOptionsPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CpuOptionsProperties)(nil)).Elem() +} + +func (i *cpuOptionsPropertiesPtrType) ToCpuOptionsPropertiesPtrOutput() CpuOptionsPropertiesPtrOutput { + return i.ToCpuOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *cpuOptionsPropertiesPtrType) ToCpuOptionsPropertiesPtrOutputWithContext(ctx context.Context) CpuOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CpuOptionsPropertiesPtrOutput) +} + +func (i *cpuOptionsPropertiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*CpuOptionsProperties] { + return pulumix.Output[*CpuOptionsProperties]{ + OutputState: i.ToCpuOptionsPropertiesPtrOutputWithContext(ctx).OutputState, + } +} + +// The CPU options for the instance. +type CpuOptionsPropertiesOutput struct{ *pulumi.OutputState } + +func (CpuOptionsPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CpuOptionsProperties)(nil)).Elem() +} + +func (o CpuOptionsPropertiesOutput) ToCpuOptionsPropertiesOutput() CpuOptionsPropertiesOutput { + return o +} + +func (o CpuOptionsPropertiesOutput) ToCpuOptionsPropertiesOutputWithContext(ctx context.Context) CpuOptionsPropertiesOutput { + return o +} + +func (o CpuOptionsPropertiesOutput) ToCpuOptionsPropertiesPtrOutput() CpuOptionsPropertiesPtrOutput { + return o.ToCpuOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (o CpuOptionsPropertiesOutput) ToCpuOptionsPropertiesPtrOutputWithContext(ctx context.Context) CpuOptionsPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CpuOptionsProperties) *CpuOptionsProperties { + return &v + }).(CpuOptionsPropertiesPtrOutput) +} + +func (o CpuOptionsPropertiesOutput) ToOutput(ctx context.Context) pulumix.Output[CpuOptionsProperties] { + return pulumix.Output[CpuOptionsProperties]{ + OutputState: o.OutputState, + } +} + +func (o CpuOptionsPropertiesOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v CpuOptionsProperties) *int { return v.CoreCount }).(pulumi.IntPtrOutput) +} + +func (o CpuOptionsPropertiesOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v CpuOptionsProperties) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) +} + +type CpuOptionsPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (CpuOptionsPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CpuOptionsProperties)(nil)).Elem() +} + +func (o CpuOptionsPropertiesPtrOutput) ToCpuOptionsPropertiesPtrOutput() CpuOptionsPropertiesPtrOutput { + return o +} + +func (o CpuOptionsPropertiesPtrOutput) ToCpuOptionsPropertiesPtrOutputWithContext(ctx context.Context) CpuOptionsPropertiesPtrOutput { + return o +} + +func (o CpuOptionsPropertiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CpuOptionsProperties] { + return pulumix.Output[*CpuOptionsProperties]{ + OutputState: o.OutputState, + } +} + +func (o CpuOptionsPropertiesPtrOutput) Elem() CpuOptionsPropertiesOutput { + return o.ApplyT(func(v *CpuOptionsProperties) CpuOptionsProperties { + if v != nil { + return *v + } + var ret CpuOptionsProperties + return ret + }).(CpuOptionsPropertiesOutput) +} + +func (o CpuOptionsPropertiesPtrOutput) CoreCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CpuOptionsProperties) *int { + if v == nil { + return nil + } + return v.CoreCount + }).(pulumi.IntPtrOutput) +} + +func (o CpuOptionsPropertiesPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *CpuOptionsProperties) *int { + if v == nil { + return nil + } + return v.ThreadsPerCore + }).(pulumi.IntPtrOutput) +} + +// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. +type CreditSpecificationProperties struct { + CpuCredits *string `pulumi:"cpuCredits"` +} + +// CreditSpecificationPropertiesInput is an input type that accepts CreditSpecificationPropertiesArgs and CreditSpecificationPropertiesOutput values. +// You can construct a concrete instance of `CreditSpecificationPropertiesInput` via: +// +// CreditSpecificationPropertiesArgs{...} +type CreditSpecificationPropertiesInput interface { + pulumi.Input + + ToCreditSpecificationPropertiesOutput() CreditSpecificationPropertiesOutput + ToCreditSpecificationPropertiesOutputWithContext(context.Context) CreditSpecificationPropertiesOutput +} + +// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. +type CreditSpecificationPropertiesArgs struct { + CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` +} + +func (CreditSpecificationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CreditSpecificationProperties)(nil)).Elem() +} + +func (i CreditSpecificationPropertiesArgs) ToCreditSpecificationPropertiesOutput() CreditSpecificationPropertiesOutput { + return i.ToCreditSpecificationPropertiesOutputWithContext(context.Background()) +} + +func (i CreditSpecificationPropertiesArgs) ToCreditSpecificationPropertiesOutputWithContext(ctx context.Context) CreditSpecificationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(CreditSpecificationPropertiesOutput) +} + +func (i CreditSpecificationPropertiesArgs) ToOutput(ctx context.Context) pulumix.Output[CreditSpecificationProperties] { + return pulumix.Output[CreditSpecificationProperties]{ + OutputState: i.ToCreditSpecificationPropertiesOutputWithContext(ctx).OutputState, + } +} + +func (i CreditSpecificationPropertiesArgs) ToCreditSpecificationPropertiesPtrOutput() CreditSpecificationPropertiesPtrOutput { + return i.ToCreditSpecificationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i CreditSpecificationPropertiesArgs) ToCreditSpecificationPropertiesPtrOutputWithContext(ctx context.Context) CreditSpecificationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CreditSpecificationPropertiesOutput).ToCreditSpecificationPropertiesPtrOutputWithContext(ctx) +} + +// CreditSpecificationPropertiesPtrInput is an input type that accepts CreditSpecificationPropertiesArgs, CreditSpecificationPropertiesPtr and CreditSpecificationPropertiesPtrOutput values. +// You can construct a concrete instance of `CreditSpecificationPropertiesPtrInput` via: +// +// CreditSpecificationPropertiesArgs{...} +// +// or: +// +// nil +type CreditSpecificationPropertiesPtrInput interface { + pulumi.Input + + ToCreditSpecificationPropertiesPtrOutput() CreditSpecificationPropertiesPtrOutput + ToCreditSpecificationPropertiesPtrOutputWithContext(context.Context) CreditSpecificationPropertiesPtrOutput +} + +type creditSpecificationPropertiesPtrType CreditSpecificationPropertiesArgs + +func CreditSpecificationPropertiesPtr(v *CreditSpecificationPropertiesArgs) CreditSpecificationPropertiesPtrInput { + return (*creditSpecificationPropertiesPtrType)(v) +} + +func (*creditSpecificationPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CreditSpecificationProperties)(nil)).Elem() +} + +func (i *creditSpecificationPropertiesPtrType) ToCreditSpecificationPropertiesPtrOutput() CreditSpecificationPropertiesPtrOutput { + return i.ToCreditSpecificationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *creditSpecificationPropertiesPtrType) ToCreditSpecificationPropertiesPtrOutputWithContext(ctx context.Context) CreditSpecificationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CreditSpecificationPropertiesPtrOutput) +} + +func (i *creditSpecificationPropertiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*CreditSpecificationProperties] { + return pulumix.Output[*CreditSpecificationProperties]{ + OutputState: i.ToCreditSpecificationPropertiesPtrOutputWithContext(ctx).OutputState, + } +} + +// The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. +type CreditSpecificationPropertiesOutput struct{ *pulumi.OutputState } + +func (CreditSpecificationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CreditSpecificationProperties)(nil)).Elem() +} + +func (o CreditSpecificationPropertiesOutput) ToCreditSpecificationPropertiesOutput() CreditSpecificationPropertiesOutput { + return o +} + +func (o CreditSpecificationPropertiesOutput) ToCreditSpecificationPropertiesOutputWithContext(ctx context.Context) CreditSpecificationPropertiesOutput { + return o +} + +func (o CreditSpecificationPropertiesOutput) ToCreditSpecificationPropertiesPtrOutput() CreditSpecificationPropertiesPtrOutput { + return o.ToCreditSpecificationPropertiesPtrOutputWithContext(context.Background()) +} + +func (o CreditSpecificationPropertiesOutput) ToCreditSpecificationPropertiesPtrOutputWithContext(ctx context.Context) CreditSpecificationPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CreditSpecificationProperties) *CreditSpecificationProperties { + return &v + }).(CreditSpecificationPropertiesPtrOutput) +} + +func (o CreditSpecificationPropertiesOutput) ToOutput(ctx context.Context) pulumix.Output[CreditSpecificationProperties] { + return pulumix.Output[CreditSpecificationProperties]{ + OutputState: o.OutputState, + } +} + +func (o CreditSpecificationPropertiesOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v CreditSpecificationProperties) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) +} + +type CreditSpecificationPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (CreditSpecificationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CreditSpecificationProperties)(nil)).Elem() +} + +func (o CreditSpecificationPropertiesPtrOutput) ToCreditSpecificationPropertiesPtrOutput() CreditSpecificationPropertiesPtrOutput { + return o +} + +func (o CreditSpecificationPropertiesPtrOutput) ToCreditSpecificationPropertiesPtrOutputWithContext(ctx context.Context) CreditSpecificationPropertiesPtrOutput { + return o +} + +func (o CreditSpecificationPropertiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CreditSpecificationProperties] { + return pulumix.Output[*CreditSpecificationProperties]{ + OutputState: o.OutputState, + } +} + +func (o CreditSpecificationPropertiesPtrOutput) Elem() CreditSpecificationPropertiesOutput { + return o.ApplyT(func(v *CreditSpecificationProperties) CreditSpecificationProperties { + if v != nil { + return *v + } + var ret CreditSpecificationProperties + return ret + }).(CreditSpecificationPropertiesOutput) +} + +func (o CreditSpecificationPropertiesPtrOutput) CpuCredits() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CreditSpecificationProperties) *string { + if v == nil { + return nil + } + return v.CpuCredits + }).(pulumi.StringPtrOutput) +} + type CustomerGatewayTag struct { Key string `pulumi:"key"` Value string `pulumi:"value"` @@ -6909,6 +7244,170 @@ func (o EipTagArrayOutput) Index(i pulumi.IntInput) EipTagOutput { }).(EipTagOutput) } +// Indicates whether the instance is enabled for AWS Nitro Enclaves. +type EnclaveOptionsProperties struct { + // If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + Enabled *bool `pulumi:"enabled"` +} + +// EnclaveOptionsPropertiesInput is an input type that accepts EnclaveOptionsPropertiesArgs and EnclaveOptionsPropertiesOutput values. +// You can construct a concrete instance of `EnclaveOptionsPropertiesInput` via: +// +// EnclaveOptionsPropertiesArgs{...} +type EnclaveOptionsPropertiesInput interface { + pulumi.Input + + ToEnclaveOptionsPropertiesOutput() EnclaveOptionsPropertiesOutput + ToEnclaveOptionsPropertiesOutputWithContext(context.Context) EnclaveOptionsPropertiesOutput +} + +// Indicates whether the instance is enabled for AWS Nitro Enclaves. +type EnclaveOptionsPropertiesArgs struct { + // If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` +} + +func (EnclaveOptionsPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*EnclaveOptionsProperties)(nil)).Elem() +} + +func (i EnclaveOptionsPropertiesArgs) ToEnclaveOptionsPropertiesOutput() EnclaveOptionsPropertiesOutput { + return i.ToEnclaveOptionsPropertiesOutputWithContext(context.Background()) +} + +func (i EnclaveOptionsPropertiesArgs) ToEnclaveOptionsPropertiesOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnclaveOptionsPropertiesOutput) +} + +func (i EnclaveOptionsPropertiesArgs) ToOutput(ctx context.Context) pulumix.Output[EnclaveOptionsProperties] { + return pulumix.Output[EnclaveOptionsProperties]{ + OutputState: i.ToEnclaveOptionsPropertiesOutputWithContext(ctx).OutputState, + } +} + +func (i EnclaveOptionsPropertiesArgs) ToEnclaveOptionsPropertiesPtrOutput() EnclaveOptionsPropertiesPtrOutput { + return i.ToEnclaveOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i EnclaveOptionsPropertiesArgs) ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnclaveOptionsPropertiesOutput).ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx) +} + +// EnclaveOptionsPropertiesPtrInput is an input type that accepts EnclaveOptionsPropertiesArgs, EnclaveOptionsPropertiesPtr and EnclaveOptionsPropertiesPtrOutput values. +// You can construct a concrete instance of `EnclaveOptionsPropertiesPtrInput` via: +// +// EnclaveOptionsPropertiesArgs{...} +// +// or: +// +// nil +type EnclaveOptionsPropertiesPtrInput interface { + pulumi.Input + + ToEnclaveOptionsPropertiesPtrOutput() EnclaveOptionsPropertiesPtrOutput + ToEnclaveOptionsPropertiesPtrOutputWithContext(context.Context) EnclaveOptionsPropertiesPtrOutput +} + +type enclaveOptionsPropertiesPtrType EnclaveOptionsPropertiesArgs + +func EnclaveOptionsPropertiesPtr(v *EnclaveOptionsPropertiesArgs) EnclaveOptionsPropertiesPtrInput { + return (*enclaveOptionsPropertiesPtrType)(v) +} + +func (*enclaveOptionsPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**EnclaveOptionsProperties)(nil)).Elem() +} + +func (i *enclaveOptionsPropertiesPtrType) ToEnclaveOptionsPropertiesPtrOutput() EnclaveOptionsPropertiesPtrOutput { + return i.ToEnclaveOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *enclaveOptionsPropertiesPtrType) ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(EnclaveOptionsPropertiesPtrOutput) +} + +func (i *enclaveOptionsPropertiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*EnclaveOptionsProperties] { + return pulumix.Output[*EnclaveOptionsProperties]{ + OutputState: i.ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx).OutputState, + } +} + +// Indicates whether the instance is enabled for AWS Nitro Enclaves. +type EnclaveOptionsPropertiesOutput struct{ *pulumi.OutputState } + +func (EnclaveOptionsPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*EnclaveOptionsProperties)(nil)).Elem() +} + +func (o EnclaveOptionsPropertiesOutput) ToEnclaveOptionsPropertiesOutput() EnclaveOptionsPropertiesOutput { + return o +} + +func (o EnclaveOptionsPropertiesOutput) ToEnclaveOptionsPropertiesOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesOutput { + return o +} + +func (o EnclaveOptionsPropertiesOutput) ToEnclaveOptionsPropertiesPtrOutput() EnclaveOptionsPropertiesPtrOutput { + return o.ToEnclaveOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (o EnclaveOptionsPropertiesOutput) ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v EnclaveOptionsProperties) *EnclaveOptionsProperties { + return &v + }).(EnclaveOptionsPropertiesPtrOutput) +} + +func (o EnclaveOptionsPropertiesOutput) ToOutput(ctx context.Context) pulumix.Output[EnclaveOptionsProperties] { + return pulumix.Output[EnclaveOptionsProperties]{ + OutputState: o.OutputState, + } +} + +// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. +func (o EnclaveOptionsPropertiesOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EnclaveOptionsProperties) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +type EnclaveOptionsPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (EnclaveOptionsPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EnclaveOptionsProperties)(nil)).Elem() +} + +func (o EnclaveOptionsPropertiesPtrOutput) ToEnclaveOptionsPropertiesPtrOutput() EnclaveOptionsPropertiesPtrOutput { + return o +} + +func (o EnclaveOptionsPropertiesPtrOutput) ToEnclaveOptionsPropertiesPtrOutputWithContext(ctx context.Context) EnclaveOptionsPropertiesPtrOutput { + return o +} + +func (o EnclaveOptionsPropertiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*EnclaveOptionsProperties] { + return pulumix.Output[*EnclaveOptionsProperties]{ + OutputState: o.OutputState, + } +} + +func (o EnclaveOptionsPropertiesPtrOutput) Elem() EnclaveOptionsPropertiesOutput { + return o.ApplyT(func(v *EnclaveOptionsProperties) EnclaveOptionsProperties { + if v != nil { + return *v + } + var ret EnclaveOptionsProperties + return ret + }).(EnclaveOptionsPropertiesOutput) +} + +// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. +func (o EnclaveOptionsPropertiesPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *EnclaveOptionsProperties) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + type FlowLogTag struct { Key string `pulumi:"key"` Value string `pulumi:"value"` @@ -7033,8 +7532,174 @@ func (o FlowLogTagArrayOutput) Index(i pulumi.IntInput) FlowLogTagOutput { }).(FlowLogTagOutput) } +// Indicates whether an instance is enabled for hibernation. +type HibernationOptionsProperties struct { + // If you set this parameter to true, your instance is enabled for hibernation. + Configured *bool `pulumi:"configured"` +} + +// HibernationOptionsPropertiesInput is an input type that accepts HibernationOptionsPropertiesArgs and HibernationOptionsPropertiesOutput values. +// You can construct a concrete instance of `HibernationOptionsPropertiesInput` via: +// +// HibernationOptionsPropertiesArgs{...} +type HibernationOptionsPropertiesInput interface { + pulumi.Input + + ToHibernationOptionsPropertiesOutput() HibernationOptionsPropertiesOutput + ToHibernationOptionsPropertiesOutputWithContext(context.Context) HibernationOptionsPropertiesOutput +} + +// Indicates whether an instance is enabled for hibernation. +type HibernationOptionsPropertiesArgs struct { + // If you set this parameter to true, your instance is enabled for hibernation. + Configured pulumi.BoolPtrInput `pulumi:"configured"` +} + +func (HibernationOptionsPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*HibernationOptionsProperties)(nil)).Elem() +} + +func (i HibernationOptionsPropertiesArgs) ToHibernationOptionsPropertiesOutput() HibernationOptionsPropertiesOutput { + return i.ToHibernationOptionsPropertiesOutputWithContext(context.Background()) +} + +func (i HibernationOptionsPropertiesArgs) ToHibernationOptionsPropertiesOutputWithContext(ctx context.Context) HibernationOptionsPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(HibernationOptionsPropertiesOutput) +} + +func (i HibernationOptionsPropertiesArgs) ToOutput(ctx context.Context) pulumix.Output[HibernationOptionsProperties] { + return pulumix.Output[HibernationOptionsProperties]{ + OutputState: i.ToHibernationOptionsPropertiesOutputWithContext(ctx).OutputState, + } +} + +func (i HibernationOptionsPropertiesArgs) ToHibernationOptionsPropertiesPtrOutput() HibernationOptionsPropertiesPtrOutput { + return i.ToHibernationOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i HibernationOptionsPropertiesArgs) ToHibernationOptionsPropertiesPtrOutputWithContext(ctx context.Context) HibernationOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HibernationOptionsPropertiesOutput).ToHibernationOptionsPropertiesPtrOutputWithContext(ctx) +} + +// HibernationOptionsPropertiesPtrInput is an input type that accepts HibernationOptionsPropertiesArgs, HibernationOptionsPropertiesPtr and HibernationOptionsPropertiesPtrOutput values. +// You can construct a concrete instance of `HibernationOptionsPropertiesPtrInput` via: +// +// HibernationOptionsPropertiesArgs{...} +// +// or: +// +// nil +type HibernationOptionsPropertiesPtrInput interface { + pulumi.Input + + ToHibernationOptionsPropertiesPtrOutput() HibernationOptionsPropertiesPtrOutput + ToHibernationOptionsPropertiesPtrOutputWithContext(context.Context) HibernationOptionsPropertiesPtrOutput +} + +type hibernationOptionsPropertiesPtrType HibernationOptionsPropertiesArgs + +func HibernationOptionsPropertiesPtr(v *HibernationOptionsPropertiesArgs) HibernationOptionsPropertiesPtrInput { + return (*hibernationOptionsPropertiesPtrType)(v) +} + +func (*hibernationOptionsPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**HibernationOptionsProperties)(nil)).Elem() +} + +func (i *hibernationOptionsPropertiesPtrType) ToHibernationOptionsPropertiesPtrOutput() HibernationOptionsPropertiesPtrOutput { + return i.ToHibernationOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *hibernationOptionsPropertiesPtrType) ToHibernationOptionsPropertiesPtrOutputWithContext(ctx context.Context) HibernationOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(HibernationOptionsPropertiesPtrOutput) +} + +func (i *hibernationOptionsPropertiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*HibernationOptionsProperties] { + return pulumix.Output[*HibernationOptionsProperties]{ + OutputState: i.ToHibernationOptionsPropertiesPtrOutputWithContext(ctx).OutputState, + } +} + +// Indicates whether an instance is enabled for hibernation. +type HibernationOptionsPropertiesOutput struct{ *pulumi.OutputState } + +func (HibernationOptionsPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*HibernationOptionsProperties)(nil)).Elem() +} + +func (o HibernationOptionsPropertiesOutput) ToHibernationOptionsPropertiesOutput() HibernationOptionsPropertiesOutput { + return o +} + +func (o HibernationOptionsPropertiesOutput) ToHibernationOptionsPropertiesOutputWithContext(ctx context.Context) HibernationOptionsPropertiesOutput { + return o +} + +func (o HibernationOptionsPropertiesOutput) ToHibernationOptionsPropertiesPtrOutput() HibernationOptionsPropertiesPtrOutput { + return o.ToHibernationOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (o HibernationOptionsPropertiesOutput) ToHibernationOptionsPropertiesPtrOutputWithContext(ctx context.Context) HibernationOptionsPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v HibernationOptionsProperties) *HibernationOptionsProperties { + return &v + }).(HibernationOptionsPropertiesPtrOutput) +} + +func (o HibernationOptionsPropertiesOutput) ToOutput(ctx context.Context) pulumix.Output[HibernationOptionsProperties] { + return pulumix.Output[HibernationOptionsProperties]{ + OutputState: o.OutputState, + } +} + +// If you set this parameter to true, your instance is enabled for hibernation. +func (o HibernationOptionsPropertiesOutput) Configured() pulumi.BoolPtrOutput { + return o.ApplyT(func(v HibernationOptionsProperties) *bool { return v.Configured }).(pulumi.BoolPtrOutput) +} + +type HibernationOptionsPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (HibernationOptionsPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**HibernationOptionsProperties)(nil)).Elem() +} + +func (o HibernationOptionsPropertiesPtrOutput) ToHibernationOptionsPropertiesPtrOutput() HibernationOptionsPropertiesPtrOutput { + return o +} + +func (o HibernationOptionsPropertiesPtrOutput) ToHibernationOptionsPropertiesPtrOutputWithContext(ctx context.Context) HibernationOptionsPropertiesPtrOutput { + return o +} + +func (o HibernationOptionsPropertiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*HibernationOptionsProperties] { + return pulumix.Output[*HibernationOptionsProperties]{ + OutputState: o.OutputState, + } +} + +func (o HibernationOptionsPropertiesPtrOutput) Elem() HibernationOptionsPropertiesOutput { + return o.ApplyT(func(v *HibernationOptionsProperties) HibernationOptionsProperties { + if v != nil { + return *v + } + var ret HibernationOptionsProperties + return ret + }).(HibernationOptionsPropertiesOutput) +} + +// If you set this parameter to true, your instance is enabled for hibernation. +func (o HibernationOptionsPropertiesPtrOutput) Configured() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *HibernationOptionsProperties) *bool { + if v == nil { + return nil + } + return v.Configured + }).(pulumi.BoolPtrOutput) +} + type InstanceAssociationParameter struct { - Key string `pulumi:"key"` + // The name of an input parameter that is in the associated SSM document. + Key string `pulumi:"key"` + // The value of an input parameter. Value []string `pulumi:"value"` } @@ -7050,7 +7715,9 @@ type InstanceAssociationParameterInput interface { } type InstanceAssociationParameterArgs struct { - Key pulumi.StringInput `pulumi:"key"` + // The name of an input parameter that is in the associated SSM document. + Key pulumi.StringInput `pulumi:"key"` + // The value of an input parameter. Value pulumi.StringArrayInput `pulumi:"value"` } @@ -7123,10 +7790,12 @@ func (o InstanceAssociationParameterOutput) ToOutput(ctx context.Context) pulumi } } +// The name of an input parameter that is in the associated SSM document. func (o InstanceAssociationParameterOutput) Key() pulumi.StringOutput { return o.ApplyT(func(v InstanceAssociationParameter) string { return v.Key }).(pulumi.StringOutput) } +// The value of an input parameter. func (o InstanceAssociationParameterOutput) Value() pulumi.StringArrayOutput { return o.ApplyT(func(v InstanceAssociationParameter) []string { return v.Value }).(pulumi.StringArrayOutput) } @@ -7158,10 +7827,12 @@ func (o InstanceAssociationParameterArrayOutput) Index(i pulumi.IntInput) Instan } type InstanceBlockDeviceMapping struct { - DeviceName string `pulumi:"deviceName"` - Ebs *InstanceEbs `pulumi:"ebs"` - NoDevice *InstanceNoDevice `pulumi:"noDevice"` - VirtualName *string `pulumi:"virtualName"` + // The device name (for example, /dev/sdh or xvdh). + DeviceName string `pulumi:"deviceName"` + // Parameters used to automatically set up EBS volumes when the instance is launched. + Ebs *InstanceEbs `pulumi:"ebs"` + NoDevice interface{} `pulumi:"noDevice"` + VirtualName *string `pulumi:"virtualName"` } // InstanceBlockDeviceMappingInput is an input type that accepts InstanceBlockDeviceMappingArgs and InstanceBlockDeviceMappingOutput values. @@ -7176,10 +7847,12 @@ type InstanceBlockDeviceMappingInput interface { } type InstanceBlockDeviceMappingArgs struct { - DeviceName pulumi.StringInput `pulumi:"deviceName"` - Ebs InstanceEbsPtrInput `pulumi:"ebs"` - NoDevice InstanceNoDevicePtrInput `pulumi:"noDevice"` - VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` + // The device name (for example, /dev/sdh or xvdh). + DeviceName pulumi.StringInput `pulumi:"deviceName"` + // Parameters used to automatically set up EBS volumes when the instance is launched. + Ebs InstanceEbsPtrInput `pulumi:"ebs"` + NoDevice pulumi.Input `pulumi:"noDevice"` + VirtualName pulumi.StringPtrInput `pulumi:"virtualName"` } func (InstanceBlockDeviceMappingArgs) ElementType() reflect.Type { @@ -7251,16 +7924,18 @@ func (o InstanceBlockDeviceMappingOutput) ToOutput(ctx context.Context) pulumix. } } +// The device name (for example, /dev/sdh or xvdh). func (o InstanceBlockDeviceMappingOutput) DeviceName() pulumi.StringOutput { return o.ApplyT(func(v InstanceBlockDeviceMapping) string { return v.DeviceName }).(pulumi.StringOutput) } +// Parameters used to automatically set up EBS volumes when the instance is launched. func (o InstanceBlockDeviceMappingOutput) Ebs() InstanceEbsPtrOutput { return o.ApplyT(func(v InstanceBlockDeviceMapping) *InstanceEbs { return v.Ebs }).(InstanceEbsPtrOutput) } -func (o InstanceBlockDeviceMappingOutput) NoDevice() InstanceNoDevicePtrOutput { - return o.ApplyT(func(v InstanceBlockDeviceMapping) *InstanceNoDevice { return v.NoDevice }).(InstanceNoDevicePtrOutput) +func (o InstanceBlockDeviceMappingOutput) NoDevice() pulumi.AnyOutput { + return o.ApplyT(func(v InstanceBlockDeviceMapping) interface{} { return v.NoDevice }).(pulumi.AnyOutput) } func (o InstanceBlockDeviceMappingOutput) VirtualName() pulumi.StringPtrOutput { @@ -7420,343 +8095,21 @@ func (o InstanceConnectEndpointTagArrayOutput) Index(i pulumi.IntInput) Instance }).(InstanceConnectEndpointTagOutput) } -type InstanceCpuOptions struct { - CoreCount *int `pulumi:"coreCount"` - ThreadsPerCore *int `pulumi:"threadsPerCore"` -} - -// InstanceCpuOptionsInput is an input type that accepts InstanceCpuOptionsArgs and InstanceCpuOptionsOutput values. -// You can construct a concrete instance of `InstanceCpuOptionsInput` via: -// -// InstanceCpuOptionsArgs{...} -type InstanceCpuOptionsInput interface { - pulumi.Input - - ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput - ToInstanceCpuOptionsOutputWithContext(context.Context) InstanceCpuOptionsOutput -} - -type InstanceCpuOptionsArgs struct { - CoreCount pulumi.IntPtrInput `pulumi:"coreCount"` - ThreadsPerCore pulumi.IntPtrInput `pulumi:"threadsPerCore"` -} - -func (InstanceCpuOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() -} - -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { - return i.ToInstanceCpuOptionsOutputWithContext(context.Background()) -} - -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput) -} - -func (i InstanceCpuOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceCpuOptions] { - return pulumix.Output[InstanceCpuOptions]{ - OutputState: i.ToInstanceCpuOptionsOutputWithContext(ctx).OutputState, - } -} - -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) -} - -func (i InstanceCpuOptionsArgs) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsOutput).ToInstanceCpuOptionsPtrOutputWithContext(ctx) -} - -// InstanceCpuOptionsPtrInput is an input type that accepts InstanceCpuOptionsArgs, InstanceCpuOptionsPtr and InstanceCpuOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceCpuOptionsPtrInput` via: -// -// InstanceCpuOptionsArgs{...} -// -// or: -// -// nil -type InstanceCpuOptionsPtrInput interface { - pulumi.Input - - ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput - ToInstanceCpuOptionsPtrOutputWithContext(context.Context) InstanceCpuOptionsPtrOutput -} - -type instanceCpuOptionsPtrType InstanceCpuOptionsArgs - -func InstanceCpuOptionsPtr(v *InstanceCpuOptionsArgs) InstanceCpuOptionsPtrInput { - return (*instanceCpuOptionsPtrType)(v) -} - -func (*instanceCpuOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() -} - -func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return i.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) -} - -func (i *instanceCpuOptionsPtrType) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCpuOptionsPtrOutput) -} - -func (i *instanceCpuOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*InstanceCpuOptions] { - return pulumix.Output[*InstanceCpuOptions]{ - OutputState: i.ToInstanceCpuOptionsPtrOutputWithContext(ctx).OutputState, - } -} - -type InstanceCpuOptionsOutput struct{ *pulumi.OutputState } - -func (InstanceCpuOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCpuOptions)(nil)).Elem() -} - -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutput() InstanceCpuOptionsOutput { - return o -} - -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsOutputWithContext(ctx context.Context) InstanceCpuOptionsOutput { - return o -} - -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return o.ToInstanceCpuOptionsPtrOutputWithContext(context.Background()) -} - -func (o InstanceCpuOptionsOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCpuOptions) *InstanceCpuOptions { - return &v - }).(InstanceCpuOptionsPtrOutput) -} - -func (o InstanceCpuOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceCpuOptions] { - return pulumix.Output[InstanceCpuOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceCpuOptionsOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceCpuOptions) *int { return v.CoreCount }).(pulumi.IntPtrOutput) -} - -func (o InstanceCpuOptionsOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v InstanceCpuOptions) *int { return v.ThreadsPerCore }).(pulumi.IntPtrOutput) -} - -type InstanceCpuOptionsPtrOutput struct{ *pulumi.OutputState } - -func (InstanceCpuOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCpuOptions)(nil)).Elem() -} - -func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutput() InstanceCpuOptionsPtrOutput { - return o -} - -func (o InstanceCpuOptionsPtrOutput) ToInstanceCpuOptionsPtrOutputWithContext(ctx context.Context) InstanceCpuOptionsPtrOutput { - return o -} - -func (o InstanceCpuOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceCpuOptions] { - return pulumix.Output[*InstanceCpuOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceCpuOptionsPtrOutput) Elem() InstanceCpuOptionsOutput { - return o.ApplyT(func(v *InstanceCpuOptions) InstanceCpuOptions { - if v != nil { - return *v - } - var ret InstanceCpuOptions - return ret - }).(InstanceCpuOptionsOutput) -} - -func (o InstanceCpuOptionsPtrOutput) CoreCount() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceCpuOptions) *int { - if v == nil { - return nil - } - return v.CoreCount - }).(pulumi.IntPtrOutput) -} - -func (o InstanceCpuOptionsPtrOutput) ThreadsPerCore() pulumi.IntPtrOutput { - return o.ApplyT(func(v *InstanceCpuOptions) *int { - if v == nil { - return nil - } - return v.ThreadsPerCore - }).(pulumi.IntPtrOutput) -} - -type InstanceCreditSpecification struct { - CpuCredits *string `pulumi:"cpuCredits"` -} - -// InstanceCreditSpecificationInput is an input type that accepts InstanceCreditSpecificationArgs and InstanceCreditSpecificationOutput values. -// You can construct a concrete instance of `InstanceCreditSpecificationInput` via: -// -// InstanceCreditSpecificationArgs{...} -type InstanceCreditSpecificationInput interface { - pulumi.Input - - ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput - ToInstanceCreditSpecificationOutputWithContext(context.Context) InstanceCreditSpecificationOutput -} - -type InstanceCreditSpecificationArgs struct { - CpuCredits pulumi.StringPtrInput `pulumi:"cpuCredits"` -} - -func (InstanceCreditSpecificationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() -} - -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { - return i.ToInstanceCreditSpecificationOutputWithContext(context.Background()) -} - -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput) -} - -func (i InstanceCreditSpecificationArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceCreditSpecification] { - return pulumix.Output[InstanceCreditSpecification]{ - OutputState: i.ToInstanceCreditSpecificationOutputWithContext(ctx).OutputState, - } -} - -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) -} - -func (i InstanceCreditSpecificationArgs) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationOutput).ToInstanceCreditSpecificationPtrOutputWithContext(ctx) -} - -// InstanceCreditSpecificationPtrInput is an input type that accepts InstanceCreditSpecificationArgs, InstanceCreditSpecificationPtr and InstanceCreditSpecificationPtrOutput values. -// You can construct a concrete instance of `InstanceCreditSpecificationPtrInput` via: -// -// InstanceCreditSpecificationArgs{...} -// -// or: -// -// nil -type InstanceCreditSpecificationPtrInput interface { - pulumi.Input - - ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput - ToInstanceCreditSpecificationPtrOutputWithContext(context.Context) InstanceCreditSpecificationPtrOutput -} - -type instanceCreditSpecificationPtrType InstanceCreditSpecificationArgs - -func InstanceCreditSpecificationPtr(v *InstanceCreditSpecificationArgs) InstanceCreditSpecificationPtrInput { - return (*instanceCreditSpecificationPtrType)(v) -} - -func (*instanceCreditSpecificationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() -} - -func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return i.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) -} - -func (i *instanceCreditSpecificationPtrType) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceCreditSpecificationPtrOutput) -} - -func (i *instanceCreditSpecificationPtrType) ToOutput(ctx context.Context) pulumix.Output[*InstanceCreditSpecification] { - return pulumix.Output[*InstanceCreditSpecification]{ - OutputState: i.ToInstanceCreditSpecificationPtrOutputWithContext(ctx).OutputState, - } -} - -type InstanceCreditSpecificationOutput struct{ *pulumi.OutputState } - -func (InstanceCreditSpecificationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceCreditSpecification)(nil)).Elem() -} - -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutput() InstanceCreditSpecificationOutput { - return o -} - -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationOutputWithContext(ctx context.Context) InstanceCreditSpecificationOutput { - return o -} - -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return o.ToInstanceCreditSpecificationPtrOutputWithContext(context.Background()) -} - -func (o InstanceCreditSpecificationOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceCreditSpecification) *InstanceCreditSpecification { - return &v - }).(InstanceCreditSpecificationPtrOutput) -} - -func (o InstanceCreditSpecificationOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceCreditSpecification] { - return pulumix.Output[InstanceCreditSpecification]{ - OutputState: o.OutputState, - } -} - -func (o InstanceCreditSpecificationOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstanceCreditSpecification) *string { return v.CpuCredits }).(pulumi.StringPtrOutput) -} - -type InstanceCreditSpecificationPtrOutput struct{ *pulumi.OutputState } - -func (InstanceCreditSpecificationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceCreditSpecification)(nil)).Elem() -} - -func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutput() InstanceCreditSpecificationPtrOutput { - return o -} - -func (o InstanceCreditSpecificationPtrOutput) ToInstanceCreditSpecificationPtrOutputWithContext(ctx context.Context) InstanceCreditSpecificationPtrOutput { - return o -} - -func (o InstanceCreditSpecificationPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceCreditSpecification] { - return pulumix.Output[*InstanceCreditSpecification]{ - OutputState: o.OutputState, - } -} - -func (o InstanceCreditSpecificationPtrOutput) Elem() InstanceCreditSpecificationOutput { - return o.ApplyT(func(v *InstanceCreditSpecification) InstanceCreditSpecification { - if v != nil { - return *v - } - var ret InstanceCreditSpecification - return ret - }).(InstanceCreditSpecificationOutput) -} - -func (o InstanceCreditSpecificationPtrOutput) CpuCredits() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceCreditSpecification) *string { - if v == nil { - return nil - } - return v.CpuCredits - }).(pulumi.StringPtrOutput) -} - type InstanceEbs struct { - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - Encrypted *bool `pulumi:"encrypted"` - Iops *int `pulumi:"iops"` - KmsKeyId *string `pulumi:"kmsKeyId"` - SnapshotId *string `pulumi:"snapshotId"` - VolumeSize *int `pulumi:"volumeSize"` - VolumeType *string `pulumi:"volumeType"` + // Indicates whether the EBS volume is deleted on instance termination. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // Indicates whether the volume should be encrypted. + Encrypted *bool `pulumi:"encrypted"` + // The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + Iops *int `pulumi:"iops"` + // The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + KmsKeyId *string `pulumi:"kmsKeyId"` + // The ID of the snapshot. + SnapshotId *string `pulumi:"snapshotId"` + // The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + VolumeSize *int `pulumi:"volumeSize"` + // The volume type. + VolumeType *string `pulumi:"volumeType"` } // InstanceEbsInput is an input type that accepts InstanceEbsArgs and InstanceEbsOutput values. @@ -7771,13 +8124,20 @@ type InstanceEbsInput interface { } type InstanceEbsArgs struct { - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` - Iops pulumi.IntPtrInput `pulumi:"iops"` - KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` - SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` + // Indicates whether the EBS volume is deleted on instance termination. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // Indicates whether the volume should be encrypted. + Encrypted pulumi.BoolPtrInput `pulumi:"encrypted"` + // The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + Iops pulumi.IntPtrInput `pulumi:"iops"` + // The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // The ID of the snapshot. + SnapshotId pulumi.StringPtrInput `pulumi:"snapshotId"` + // The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + // The volume type. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` } func (InstanceEbsArgs) ElementType() reflect.Type { @@ -7875,30 +8235,37 @@ func (o InstanceEbsOutput) ToOutput(ctx context.Context) pulumix.Output[Instance } } +// Indicates whether the EBS volume is deleted on instance termination. func (o InstanceEbsOutput) DeleteOnTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceEbs) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } +// Indicates whether the volume should be encrypted. func (o InstanceEbsOutput) Encrypted() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceEbs) *bool { return v.Encrypted }).(pulumi.BoolPtrOutput) } +// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. func (o InstanceEbsOutput) Iops() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceEbs) *int { return v.Iops }).(pulumi.IntPtrOutput) } +// The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. func (o InstanceEbsOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceEbs) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) } +// The ID of the snapshot. func (o InstanceEbsOutput) SnapshotId() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceEbs) *string { return v.SnapshotId }).(pulumi.StringPtrOutput) } +// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. func (o InstanceEbsOutput) VolumeSize() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceEbs) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } +// The volume type. func (o InstanceEbsOutput) VolumeType() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceEbs) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } @@ -7933,6 +8300,7 @@ func (o InstanceEbsPtrOutput) Elem() InstanceEbsOutput { }).(InstanceEbsOutput) } +// Indicates whether the EBS volume is deleted on instance termination. func (o InstanceEbsPtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstanceEbs) *bool { if v == nil { @@ -7942,6 +8310,7 @@ func (o InstanceEbsPtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// Indicates whether the volume should be encrypted. func (o InstanceEbsPtrOutput) Encrypted() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstanceEbs) *bool { if v == nil { @@ -7951,6 +8320,7 @@ func (o InstanceEbsPtrOutput) Encrypted() pulumi.BoolPtrOutput { }).(pulumi.BoolPtrOutput) } +// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. func (o InstanceEbsPtrOutput) Iops() pulumi.IntPtrOutput { return o.ApplyT(func(v *InstanceEbs) *int { if v == nil { @@ -7960,6 +8330,7 @@ func (o InstanceEbsPtrOutput) Iops() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. func (o InstanceEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceEbs) *string { if v == nil { @@ -7969,6 +8340,7 @@ func (o InstanceEbsPtrOutput) KmsKeyId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The ID of the snapshot. func (o InstanceEbsPtrOutput) SnapshotId() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceEbs) *string { if v == nil { @@ -7978,6 +8350,7 @@ func (o InstanceEbsPtrOutput) SnapshotId() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. func (o InstanceEbsPtrOutput) VolumeSize() pulumi.IntPtrOutput { return o.ApplyT(func(v *InstanceEbs) *int { if v == nil { @@ -7987,6 +8360,7 @@ func (o InstanceEbsPtrOutput) VolumeSize() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +// The volume type. func (o InstanceEbsPtrOutput) VolumeType() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceEbs) *string { if v == nil { @@ -7997,6 +8371,7 @@ func (o InstanceEbsPtrOutput) VolumeType() pulumi.StringPtrOutput { } type InstanceElasticGpuSpecification struct { + // The type of Elastic Graphics accelerator. Type string `pulumi:"type"` } @@ -8012,6 +8387,7 @@ type InstanceElasticGpuSpecificationInput interface { } type InstanceElasticGpuSpecificationArgs struct { + // The type of Elastic Graphics accelerator. Type pulumi.StringInput `pulumi:"type"` } @@ -8084,6 +8460,7 @@ func (o InstanceElasticGpuSpecificationOutput) ToOutput(ctx context.Context) pul } } +// The type of Elastic Graphics accelerator. func (o InstanceElasticGpuSpecificationOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v InstanceElasticGpuSpecification) string { return v.Type }).(pulumi.StringOutput) } @@ -8115,8 +8492,10 @@ func (o InstanceElasticGpuSpecificationArrayOutput) Index(i pulumi.IntInput) Ins } type InstanceElasticInferenceAccelerator struct { - Count *int `pulumi:"count"` - Type string `pulumi:"type"` + // The number of elastic inference accelerators to attach to the instance. + Count *int `pulumi:"count"` + // The type of elastic inference accelerator. + Type string `pulumi:"type"` } // InstanceElasticInferenceAcceleratorInput is an input type that accepts InstanceElasticInferenceAcceleratorArgs and InstanceElasticInferenceAcceleratorOutput values. @@ -8131,8 +8510,10 @@ type InstanceElasticInferenceAcceleratorInput interface { } type InstanceElasticInferenceAcceleratorArgs struct { + // The number of elastic inference accelerators to attach to the instance. Count pulumi.IntPtrInput `pulumi:"count"` - Type pulumi.StringInput `pulumi:"type"` + // The type of elastic inference accelerator. + Type pulumi.StringInput `pulumi:"type"` } func (InstanceElasticInferenceAcceleratorArgs) ElementType() reflect.Type { @@ -8204,10 +8585,12 @@ func (o InstanceElasticInferenceAcceleratorOutput) ToOutput(ctx context.Context) } } +// The number of elastic inference accelerators to attach to the instance. func (o InstanceElasticInferenceAcceleratorOutput) Count() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceElasticInferenceAccelerator) *int { return v.Count }).(pulumi.IntPtrOutput) } +// The type of elastic inference accelerator. func (o InstanceElasticInferenceAcceleratorOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v InstanceElasticInferenceAccelerator) string { return v.Type }).(pulumi.StringOutput) } @@ -8238,321 +8621,8 @@ func (o InstanceElasticInferenceAcceleratorArrayOutput) Index(i pulumi.IntInput) }).(InstanceElasticInferenceAcceleratorOutput) } -type InstanceEnclaveOptions struct { - Enabled *bool `pulumi:"enabled"` -} - -// InstanceEnclaveOptionsInput is an input type that accepts InstanceEnclaveOptionsArgs and InstanceEnclaveOptionsOutput values. -// You can construct a concrete instance of `InstanceEnclaveOptionsInput` via: -// -// InstanceEnclaveOptionsArgs{...} -type InstanceEnclaveOptionsInput interface { - pulumi.Input - - ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput - ToInstanceEnclaveOptionsOutputWithContext(context.Context) InstanceEnclaveOptionsOutput -} - -type InstanceEnclaveOptionsArgs struct { - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` -} - -func (InstanceEnclaveOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() -} - -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { - return i.ToInstanceEnclaveOptionsOutputWithContext(context.Background()) -} - -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput) -} - -func (i InstanceEnclaveOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceEnclaveOptions] { - return pulumix.Output[InstanceEnclaveOptions]{ - OutputState: i.ToInstanceEnclaveOptionsOutputWithContext(ctx).OutputState, - } -} - -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) -} - -func (i InstanceEnclaveOptionsArgs) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsOutput).ToInstanceEnclaveOptionsPtrOutputWithContext(ctx) -} - -// InstanceEnclaveOptionsPtrInput is an input type that accepts InstanceEnclaveOptionsArgs, InstanceEnclaveOptionsPtr and InstanceEnclaveOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceEnclaveOptionsPtrInput` via: -// -// InstanceEnclaveOptionsArgs{...} -// -// or: -// -// nil -type InstanceEnclaveOptionsPtrInput interface { - pulumi.Input - - ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput - ToInstanceEnclaveOptionsPtrOutputWithContext(context.Context) InstanceEnclaveOptionsPtrOutput -} - -type instanceEnclaveOptionsPtrType InstanceEnclaveOptionsArgs - -func InstanceEnclaveOptionsPtr(v *InstanceEnclaveOptionsArgs) InstanceEnclaveOptionsPtrInput { - return (*instanceEnclaveOptionsPtrType)(v) -} - -func (*instanceEnclaveOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() -} - -func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return i.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) -} - -func (i *instanceEnclaveOptionsPtrType) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceEnclaveOptionsPtrOutput) -} - -func (i *instanceEnclaveOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*InstanceEnclaveOptions] { - return pulumix.Output[*InstanceEnclaveOptions]{ - OutputState: i.ToInstanceEnclaveOptionsPtrOutputWithContext(ctx).OutputState, - } -} - -type InstanceEnclaveOptionsOutput struct{ *pulumi.OutputState } - -func (InstanceEnclaveOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceEnclaveOptions)(nil)).Elem() -} - -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutput() InstanceEnclaveOptionsOutput { - return o -} - -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsOutputWithContext(ctx context.Context) InstanceEnclaveOptionsOutput { - return o -} - -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return o.ToInstanceEnclaveOptionsPtrOutputWithContext(context.Background()) -} - -func (o InstanceEnclaveOptionsOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceEnclaveOptions) *InstanceEnclaveOptions { - return &v - }).(InstanceEnclaveOptionsPtrOutput) -} - -func (o InstanceEnclaveOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceEnclaveOptions] { - return pulumix.Output[InstanceEnclaveOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceEnclaveOptionsOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceEnclaveOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) -} - -type InstanceEnclaveOptionsPtrOutput struct{ *pulumi.OutputState } - -func (InstanceEnclaveOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceEnclaveOptions)(nil)).Elem() -} - -func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutput() InstanceEnclaveOptionsPtrOutput { - return o -} - -func (o InstanceEnclaveOptionsPtrOutput) ToInstanceEnclaveOptionsPtrOutputWithContext(ctx context.Context) InstanceEnclaveOptionsPtrOutput { - return o -} - -func (o InstanceEnclaveOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceEnclaveOptions] { - return pulumix.Output[*InstanceEnclaveOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceEnclaveOptionsPtrOutput) Elem() InstanceEnclaveOptionsOutput { - return o.ApplyT(func(v *InstanceEnclaveOptions) InstanceEnclaveOptions { - if v != nil { - return *v - } - var ret InstanceEnclaveOptions - return ret - }).(InstanceEnclaveOptionsOutput) -} - -func (o InstanceEnclaveOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceEnclaveOptions) *bool { - if v == nil { - return nil - } - return v.Enabled - }).(pulumi.BoolPtrOutput) -} - -type InstanceHibernationOptions struct { - Configured *bool `pulumi:"configured"` -} - -// InstanceHibernationOptionsInput is an input type that accepts InstanceHibernationOptionsArgs and InstanceHibernationOptionsOutput values. -// You can construct a concrete instance of `InstanceHibernationOptionsInput` via: -// -// InstanceHibernationOptionsArgs{...} -type InstanceHibernationOptionsInput interface { - pulumi.Input - - ToInstanceHibernationOptionsOutput() InstanceHibernationOptionsOutput - ToInstanceHibernationOptionsOutputWithContext(context.Context) InstanceHibernationOptionsOutput -} - -type InstanceHibernationOptionsArgs struct { - Configured pulumi.BoolPtrInput `pulumi:"configured"` -} - -func (InstanceHibernationOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceHibernationOptions)(nil)).Elem() -} - -func (i InstanceHibernationOptionsArgs) ToInstanceHibernationOptionsOutput() InstanceHibernationOptionsOutput { - return i.ToInstanceHibernationOptionsOutputWithContext(context.Background()) -} - -func (i InstanceHibernationOptionsArgs) ToInstanceHibernationOptionsOutputWithContext(ctx context.Context) InstanceHibernationOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceHibernationOptionsOutput) -} - -func (i InstanceHibernationOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceHibernationOptions] { - return pulumix.Output[InstanceHibernationOptions]{ - OutputState: i.ToInstanceHibernationOptionsOutputWithContext(ctx).OutputState, - } -} - -func (i InstanceHibernationOptionsArgs) ToInstanceHibernationOptionsPtrOutput() InstanceHibernationOptionsPtrOutput { - return i.ToInstanceHibernationOptionsPtrOutputWithContext(context.Background()) -} - -func (i InstanceHibernationOptionsArgs) ToInstanceHibernationOptionsPtrOutputWithContext(ctx context.Context) InstanceHibernationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceHibernationOptionsOutput).ToInstanceHibernationOptionsPtrOutputWithContext(ctx) -} - -// InstanceHibernationOptionsPtrInput is an input type that accepts InstanceHibernationOptionsArgs, InstanceHibernationOptionsPtr and InstanceHibernationOptionsPtrOutput values. -// You can construct a concrete instance of `InstanceHibernationOptionsPtrInput` via: -// -// InstanceHibernationOptionsArgs{...} -// -// or: -// -// nil -type InstanceHibernationOptionsPtrInput interface { - pulumi.Input - - ToInstanceHibernationOptionsPtrOutput() InstanceHibernationOptionsPtrOutput - ToInstanceHibernationOptionsPtrOutputWithContext(context.Context) InstanceHibernationOptionsPtrOutput -} - -type instanceHibernationOptionsPtrType InstanceHibernationOptionsArgs - -func InstanceHibernationOptionsPtr(v *InstanceHibernationOptionsArgs) InstanceHibernationOptionsPtrInput { - return (*instanceHibernationOptionsPtrType)(v) -} - -func (*instanceHibernationOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceHibernationOptions)(nil)).Elem() -} - -func (i *instanceHibernationOptionsPtrType) ToInstanceHibernationOptionsPtrOutput() InstanceHibernationOptionsPtrOutput { - return i.ToInstanceHibernationOptionsPtrOutputWithContext(context.Background()) -} - -func (i *instanceHibernationOptionsPtrType) ToInstanceHibernationOptionsPtrOutputWithContext(ctx context.Context) InstanceHibernationOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceHibernationOptionsPtrOutput) -} - -func (i *instanceHibernationOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*InstanceHibernationOptions] { - return pulumix.Output[*InstanceHibernationOptions]{ - OutputState: i.ToInstanceHibernationOptionsPtrOutputWithContext(ctx).OutputState, - } -} - -type InstanceHibernationOptionsOutput struct{ *pulumi.OutputState } - -func (InstanceHibernationOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceHibernationOptions)(nil)).Elem() -} - -func (o InstanceHibernationOptionsOutput) ToInstanceHibernationOptionsOutput() InstanceHibernationOptionsOutput { - return o -} - -func (o InstanceHibernationOptionsOutput) ToInstanceHibernationOptionsOutputWithContext(ctx context.Context) InstanceHibernationOptionsOutput { - return o -} - -func (o InstanceHibernationOptionsOutput) ToInstanceHibernationOptionsPtrOutput() InstanceHibernationOptionsPtrOutput { - return o.ToInstanceHibernationOptionsPtrOutputWithContext(context.Background()) -} - -func (o InstanceHibernationOptionsOutput) ToInstanceHibernationOptionsPtrOutputWithContext(ctx context.Context) InstanceHibernationOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceHibernationOptions) *InstanceHibernationOptions { - return &v - }).(InstanceHibernationOptionsPtrOutput) -} - -func (o InstanceHibernationOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceHibernationOptions] { - return pulumix.Output[InstanceHibernationOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceHibernationOptionsOutput) Configured() pulumi.BoolPtrOutput { - return o.ApplyT(func(v InstanceHibernationOptions) *bool { return v.Configured }).(pulumi.BoolPtrOutput) -} - -type InstanceHibernationOptionsPtrOutput struct{ *pulumi.OutputState } - -func (InstanceHibernationOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceHibernationOptions)(nil)).Elem() -} - -func (o InstanceHibernationOptionsPtrOutput) ToInstanceHibernationOptionsPtrOutput() InstanceHibernationOptionsPtrOutput { - return o -} - -func (o InstanceHibernationOptionsPtrOutput) ToInstanceHibernationOptionsPtrOutputWithContext(ctx context.Context) InstanceHibernationOptionsPtrOutput { - return o -} - -func (o InstanceHibernationOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceHibernationOptions] { - return pulumix.Output[*InstanceHibernationOptions]{ - OutputState: o.OutputState, - } -} - -func (o InstanceHibernationOptionsPtrOutput) Elem() InstanceHibernationOptionsOutput { - return o.ApplyT(func(v *InstanceHibernationOptions) InstanceHibernationOptions { - if v != nil { - return *v - } - var ret InstanceHibernationOptions - return ret - }).(InstanceHibernationOptionsOutput) -} - -func (o InstanceHibernationOptionsPtrOutput) Configured() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *InstanceHibernationOptions) *bool { - if v == nil { - return nil - } - return v.Configured - }).(pulumi.BoolPtrOutput) -} - type InstanceIpv6Address struct { + // The IPv6 address. Ipv6Address string `pulumi:"ipv6Address"` } @@ -8568,6 +8638,7 @@ type InstanceIpv6AddressInput interface { } type InstanceIpv6AddressArgs struct { + // The IPv6 address. Ipv6Address pulumi.StringInput `pulumi:"ipv6Address"` } @@ -8640,6 +8711,7 @@ func (o InstanceIpv6AddressOutput) ToOutput(ctx context.Context) pulumix.Output[ } } +// The IPv6 address. func (o InstanceIpv6AddressOutput) Ipv6Address() pulumi.StringOutput { return o.ApplyT(func(v InstanceIpv6Address) string { return v.Ipv6Address }).(pulumi.StringOutput) } @@ -8671,9 +8743,12 @@ func (o InstanceIpv6AddressArrayOutput) Index(i pulumi.IntInput) InstanceIpv6Add } type InstanceLaunchTemplateSpecification struct { - LaunchTemplateId *string `pulumi:"launchTemplateId"` + // The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + LaunchTemplateId *string `pulumi:"launchTemplateId"` + // The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. LaunchTemplateName *string `pulumi:"launchTemplateName"` - Version string `pulumi:"version"` + // The version number of the launch template. + Version *string `pulumi:"version"` } // InstanceLaunchTemplateSpecificationInput is an input type that accepts InstanceLaunchTemplateSpecificationArgs and InstanceLaunchTemplateSpecificationOutput values. @@ -8688,9 +8763,12 @@ type InstanceLaunchTemplateSpecificationInput interface { } type InstanceLaunchTemplateSpecificationArgs struct { - LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"` + // The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"` + // The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. LaunchTemplateName pulumi.StringPtrInput `pulumi:"launchTemplateName"` - Version pulumi.StringInput `pulumi:"version"` + // The version number of the launch template. + Version pulumi.StringPtrInput `pulumi:"version"` } func (InstanceLaunchTemplateSpecificationArgs) ElementType() reflect.Type { @@ -8788,16 +8866,19 @@ func (o InstanceLaunchTemplateSpecificationOutput) ToOutput(ctx context.Context) } } +// The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. func (o InstanceLaunchTemplateSpecificationOutput) LaunchTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceLaunchTemplateSpecification) *string { return v.LaunchTemplateId }).(pulumi.StringPtrOutput) } +// The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. func (o InstanceLaunchTemplateSpecificationOutput) LaunchTemplateName() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceLaunchTemplateSpecification) *string { return v.LaunchTemplateName }).(pulumi.StringPtrOutput) } -func (o InstanceLaunchTemplateSpecificationOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v InstanceLaunchTemplateSpecification) string { return v.Version }).(pulumi.StringOutput) +// The version number of the launch template. +func (o InstanceLaunchTemplateSpecificationOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceLaunchTemplateSpecification) *string { return v.Version }).(pulumi.StringPtrOutput) } type InstanceLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState } @@ -8830,6 +8911,7 @@ func (o InstanceLaunchTemplateSpecificationPtrOutput) Elem() InstanceLaunchTempl }).(InstanceLaunchTemplateSpecificationOutput) } +// The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. func (o InstanceLaunchTemplateSpecificationPtrOutput) LaunchTemplateId() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceLaunchTemplateSpecification) *string { if v == nil { @@ -8839,6 +8921,7 @@ func (o InstanceLaunchTemplateSpecificationPtrOutput) LaunchTemplateId() pulumi. }).(pulumi.StringPtrOutput) } +// The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. func (o InstanceLaunchTemplateSpecificationPtrOutput) LaunchTemplateName() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceLaunchTemplateSpecification) *string { if v == nil { @@ -8848,16 +8931,18 @@ func (o InstanceLaunchTemplateSpecificationPtrOutput) LaunchTemplateName() pulum }).(pulumi.StringPtrOutput) } +// The version number of the launch template. func (o InstanceLaunchTemplateSpecificationPtrOutput) Version() pulumi.StringPtrOutput { return o.ApplyT(func(v *InstanceLaunchTemplateSpecification) *string { if v == nil { return nil } - return &v.Version + return v.Version }).(pulumi.StringPtrOutput) } type InstanceLicenseSpecification struct { + // The Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn string `pulumi:"licenseConfigurationArn"` } @@ -8873,6 +8958,7 @@ type InstanceLicenseSpecificationInput interface { } type InstanceLicenseSpecificationArgs struct { + // The Amazon Resource Name (ARN) of the license configuration. LicenseConfigurationArn pulumi.StringInput `pulumi:"licenseConfigurationArn"` } @@ -8945,6 +9031,7 @@ func (o InstanceLicenseSpecificationOutput) ToOutput(ctx context.Context) pulumi } } +// The Amazon Resource Name (ARN) of the license configuration. func (o InstanceLicenseSpecificationOutput) LicenseConfigurationArn() pulumi.StringOutput { return o.ApplyT(func(v InstanceLicenseSpecification) string { return v.LicenseConfigurationArn }).(pulumi.StringOutput) } @@ -8976,19 +9063,32 @@ func (o InstanceLicenseSpecificationArrayOutput) Index(i pulumi.IntInput) Instan } type InstanceNetworkInterface struct { - AssociateCarrierIpAddress *bool `pulumi:"associateCarrierIpAddress"` - AssociatePublicIpAddress *bool `pulumi:"associatePublicIpAddress"` - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - Description *string `pulumi:"description"` - DeviceIndex string `pulumi:"deviceIndex"` - GroupSet []string `pulumi:"groupSet"` - Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` - Ipv6Addresses []InstanceIpv6Address `pulumi:"ipv6Addresses"` - NetworkInterfaceId *string `pulumi:"networkInterfaceId"` - PrivateIpAddress *string `pulumi:"privateIpAddress"` - PrivateIpAddresses []InstancePrivateIpAddressSpecification `pulumi:"privateIpAddresses"` - SecondaryPrivateIpAddressCount *int `pulumi:"secondaryPrivateIpAddressCount"` - SubnetId *string `pulumi:"subnetId"` + // Not currently supported by AWS CloudFormation. + AssociateCarrierIpAddress *bool `pulumi:"associateCarrierIpAddress"` + // Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + AssociatePublicIpAddress *bool `pulumi:"associatePublicIpAddress"` + // If set to true, the interface is deleted when the instance is terminated. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // The description of the network interface. + Description *string `pulumi:"description"` + // The position of the network interface in the attachment order. A primary network interface has a device index of 0. + DeviceIndex string `pulumi:"deviceIndex"` + // The IDs of the security groups for the network interface. + GroupSet []string `pulumi:"groupSet"` + // A number of IPv6 addresses to assign to the network interface. + Ipv6AddressCount *int `pulumi:"ipv6AddressCount"` + // The IPv6 addresses associated with the network interface. + Ipv6Addresses []InstanceIpv6Address `pulumi:"ipv6Addresses"` + // The ID of the network interface. + NetworkInterfaceId *string `pulumi:"networkInterfaceId"` + // The private IPv4 address of the network interface. + PrivateIpAddress *string `pulumi:"privateIpAddress"` + // One or more private IPv4 addresses to assign to the network interface. + PrivateIpAddresses []InstancePrivateIpAddressSpecification `pulumi:"privateIpAddresses"` + // The number of secondary private IPv4 addresses. + SecondaryPrivateIpAddressCount *int `pulumi:"secondaryPrivateIpAddressCount"` + // The ID of the subnet. + SubnetId *string `pulumi:"subnetId"` } // InstanceNetworkInterfaceInput is an input type that accepts InstanceNetworkInterfaceArgs and InstanceNetworkInterfaceOutput values. @@ -9003,19 +9103,32 @@ type InstanceNetworkInterfaceInput interface { } type InstanceNetworkInterfaceArgs struct { - AssociateCarrierIpAddress pulumi.BoolPtrInput `pulumi:"associateCarrierIpAddress"` - AssociatePublicIpAddress pulumi.BoolPtrInput `pulumi:"associatePublicIpAddress"` - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - Description pulumi.StringPtrInput `pulumi:"description"` - DeviceIndex pulumi.StringInput `pulumi:"deviceIndex"` - GroupSet pulumi.StringArrayInput `pulumi:"groupSet"` - Ipv6AddressCount pulumi.IntPtrInput `pulumi:"ipv6AddressCount"` - Ipv6Addresses InstanceIpv6AddressArrayInput `pulumi:"ipv6Addresses"` - NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` - PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"` - PrivateIpAddresses InstancePrivateIpAddressSpecificationArrayInput `pulumi:"privateIpAddresses"` - SecondaryPrivateIpAddressCount pulumi.IntPtrInput `pulumi:"secondaryPrivateIpAddressCount"` - SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` + // Not currently supported by AWS CloudFormation. + AssociateCarrierIpAddress pulumi.BoolPtrInput `pulumi:"associateCarrierIpAddress"` + // Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + AssociatePublicIpAddress pulumi.BoolPtrInput `pulumi:"associatePublicIpAddress"` + // If set to true, the interface is deleted when the instance is terminated. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // The description of the network interface. + Description pulumi.StringPtrInput `pulumi:"description"` + // The position of the network interface in the attachment order. A primary network interface has a device index of 0. + DeviceIndex pulumi.StringInput `pulumi:"deviceIndex"` + // The IDs of the security groups for the network interface. + GroupSet pulumi.StringArrayInput `pulumi:"groupSet"` + // A number of IPv6 addresses to assign to the network interface. + Ipv6AddressCount pulumi.IntPtrInput `pulumi:"ipv6AddressCount"` + // The IPv6 addresses associated with the network interface. + Ipv6Addresses InstanceIpv6AddressArrayInput `pulumi:"ipv6Addresses"` + // The ID of the network interface. + NetworkInterfaceId pulumi.StringPtrInput `pulumi:"networkInterfaceId"` + // The private IPv4 address of the network interface. + PrivateIpAddress pulumi.StringPtrInput `pulumi:"privateIpAddress"` + // One or more private IPv4 addresses to assign to the network interface. + PrivateIpAddresses InstancePrivateIpAddressSpecificationArrayInput `pulumi:"privateIpAddresses"` + // The number of secondary private IPv4 addresses. + SecondaryPrivateIpAddressCount pulumi.IntPtrInput `pulumi:"secondaryPrivateIpAddressCount"` + // The ID of the subnet. + SubnetId pulumi.StringPtrInput `pulumi:"subnetId"` } func (InstanceNetworkInterfaceArgs) ElementType() reflect.Type { @@ -9087,54 +9200,67 @@ func (o InstanceNetworkInterfaceOutput) ToOutput(ctx context.Context) pulumix.Ou } } +// Not currently supported by AWS CloudFormation. func (o InstanceNetworkInterfaceOutput) AssociateCarrierIpAddress() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *bool { return v.AssociateCarrierIpAddress }).(pulumi.BoolPtrOutput) } +// Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. func (o InstanceNetworkInterfaceOutput) AssociatePublicIpAddress() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *bool { return v.AssociatePublicIpAddress }).(pulumi.BoolPtrOutput) } +// If set to true, the interface is deleted when the instance is terminated. func (o InstanceNetworkInterfaceOutput) DeleteOnTermination() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } +// The description of the network interface. func (o InstanceNetworkInterfaceOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *string { return v.Description }).(pulumi.StringPtrOutput) } +// The position of the network interface in the attachment order. A primary network interface has a device index of 0. func (o InstanceNetworkInterfaceOutput) DeviceIndex() pulumi.StringOutput { return o.ApplyT(func(v InstanceNetworkInterface) string { return v.DeviceIndex }).(pulumi.StringOutput) } +// The IDs of the security groups for the network interface. func (o InstanceNetworkInterfaceOutput) GroupSet() pulumi.StringArrayOutput { return o.ApplyT(func(v InstanceNetworkInterface) []string { return v.GroupSet }).(pulumi.StringArrayOutput) } +// A number of IPv6 addresses to assign to the network interface. func (o InstanceNetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *int { return v.Ipv6AddressCount }).(pulumi.IntPtrOutput) } +// The IPv6 addresses associated with the network interface. func (o InstanceNetworkInterfaceOutput) Ipv6Addresses() InstanceIpv6AddressArrayOutput { return o.ApplyT(func(v InstanceNetworkInterface) []InstanceIpv6Address { return v.Ipv6Addresses }).(InstanceIpv6AddressArrayOutput) } +// The ID of the network interface. func (o InstanceNetworkInterfaceOutput) NetworkInterfaceId() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *string { return v.NetworkInterfaceId }).(pulumi.StringPtrOutput) } +// The private IPv4 address of the network interface. func (o InstanceNetworkInterfaceOutput) PrivateIpAddress() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *string { return v.PrivateIpAddress }).(pulumi.StringPtrOutput) } +// One or more private IPv4 addresses to assign to the network interface. func (o InstanceNetworkInterfaceOutput) PrivateIpAddresses() InstancePrivateIpAddressSpecificationArrayOutput { return o.ApplyT(func(v InstanceNetworkInterface) []InstancePrivateIpAddressSpecification { return v.PrivateIpAddresses }).(InstancePrivateIpAddressSpecificationArrayOutput) } +// The number of secondary private IPv4 addresses. func (o InstanceNetworkInterfaceOutput) SecondaryPrivateIpAddressCount() pulumi.IntPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *int { return v.SecondaryPrivateIpAddressCount }).(pulumi.IntPtrOutput) } +// The ID of the subnet. func (o InstanceNetworkInterfaceOutput) SubnetId() pulumi.StringPtrOutput { return o.ApplyT(func(v InstanceNetworkInterface) *string { return v.SubnetId }).(pulumi.StringPtrOutput) } @@ -9165,152 +9291,13 @@ func (o InstanceNetworkInterfaceArrayOutput) Index(i pulumi.IntInput) InstanceNe }).(InstanceNetworkInterfaceOutput) } -type InstanceNoDevice struct { -} - -// InstanceNoDeviceInput is an input type that accepts InstanceNoDeviceArgs and InstanceNoDeviceOutput values. -// You can construct a concrete instance of `InstanceNoDeviceInput` via: -// -// InstanceNoDeviceArgs{...} -type InstanceNoDeviceInput interface { - pulumi.Input - - ToInstanceNoDeviceOutput() InstanceNoDeviceOutput - ToInstanceNoDeviceOutputWithContext(context.Context) InstanceNoDeviceOutput -} - -type InstanceNoDeviceArgs struct { -} - -func (InstanceNoDeviceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceNoDevice)(nil)).Elem() -} - -func (i InstanceNoDeviceArgs) ToInstanceNoDeviceOutput() InstanceNoDeviceOutput { - return i.ToInstanceNoDeviceOutputWithContext(context.Background()) -} - -func (i InstanceNoDeviceArgs) ToInstanceNoDeviceOutputWithContext(ctx context.Context) InstanceNoDeviceOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceNoDeviceOutput) -} - -func (i InstanceNoDeviceArgs) ToOutput(ctx context.Context) pulumix.Output[InstanceNoDevice] { - return pulumix.Output[InstanceNoDevice]{ - OutputState: i.ToInstanceNoDeviceOutputWithContext(ctx).OutputState, - } -} - -func (i InstanceNoDeviceArgs) ToInstanceNoDevicePtrOutput() InstanceNoDevicePtrOutput { - return i.ToInstanceNoDevicePtrOutputWithContext(context.Background()) -} - -func (i InstanceNoDeviceArgs) ToInstanceNoDevicePtrOutputWithContext(ctx context.Context) InstanceNoDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceNoDeviceOutput).ToInstanceNoDevicePtrOutputWithContext(ctx) -} - -// InstanceNoDevicePtrInput is an input type that accepts InstanceNoDeviceArgs, InstanceNoDevicePtr and InstanceNoDevicePtrOutput values. -// You can construct a concrete instance of `InstanceNoDevicePtrInput` via: -// -// InstanceNoDeviceArgs{...} -// -// or: -// -// nil -type InstanceNoDevicePtrInput interface { - pulumi.Input - - ToInstanceNoDevicePtrOutput() InstanceNoDevicePtrOutput - ToInstanceNoDevicePtrOutputWithContext(context.Context) InstanceNoDevicePtrOutput -} - -type instanceNoDevicePtrType InstanceNoDeviceArgs - -func InstanceNoDevicePtr(v *InstanceNoDeviceArgs) InstanceNoDevicePtrInput { - return (*instanceNoDevicePtrType)(v) -} - -func (*instanceNoDevicePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceNoDevice)(nil)).Elem() -} - -func (i *instanceNoDevicePtrType) ToInstanceNoDevicePtrOutput() InstanceNoDevicePtrOutput { - return i.ToInstanceNoDevicePtrOutputWithContext(context.Background()) -} - -func (i *instanceNoDevicePtrType) ToInstanceNoDevicePtrOutputWithContext(ctx context.Context) InstanceNoDevicePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(InstanceNoDevicePtrOutput) -} - -func (i *instanceNoDevicePtrType) ToOutput(ctx context.Context) pulumix.Output[*InstanceNoDevice] { - return pulumix.Output[*InstanceNoDevice]{ - OutputState: i.ToInstanceNoDevicePtrOutputWithContext(ctx).OutputState, - } -} - -type InstanceNoDeviceOutput struct{ *pulumi.OutputState } - -func (InstanceNoDeviceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*InstanceNoDevice)(nil)).Elem() -} - -func (o InstanceNoDeviceOutput) ToInstanceNoDeviceOutput() InstanceNoDeviceOutput { - return o -} - -func (o InstanceNoDeviceOutput) ToInstanceNoDeviceOutputWithContext(ctx context.Context) InstanceNoDeviceOutput { - return o -} - -func (o InstanceNoDeviceOutput) ToInstanceNoDevicePtrOutput() InstanceNoDevicePtrOutput { - return o.ToInstanceNoDevicePtrOutputWithContext(context.Background()) -} - -func (o InstanceNoDeviceOutput) ToInstanceNoDevicePtrOutputWithContext(ctx context.Context) InstanceNoDevicePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v InstanceNoDevice) *InstanceNoDevice { - return &v - }).(InstanceNoDevicePtrOutput) -} - -func (o InstanceNoDeviceOutput) ToOutput(ctx context.Context) pulumix.Output[InstanceNoDevice] { - return pulumix.Output[InstanceNoDevice]{ - OutputState: o.OutputState, - } -} - -type InstanceNoDevicePtrOutput struct{ *pulumi.OutputState } - -func (InstanceNoDevicePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**InstanceNoDevice)(nil)).Elem() -} - -func (o InstanceNoDevicePtrOutput) ToInstanceNoDevicePtrOutput() InstanceNoDevicePtrOutput { - return o -} - -func (o InstanceNoDevicePtrOutput) ToInstanceNoDevicePtrOutputWithContext(ctx context.Context) InstanceNoDevicePtrOutput { - return o -} - -func (o InstanceNoDevicePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*InstanceNoDevice] { - return pulumix.Output[*InstanceNoDevice]{ - OutputState: o.OutputState, - } -} - -func (o InstanceNoDevicePtrOutput) Elem() InstanceNoDeviceOutput { - return o.ApplyT(func(v *InstanceNoDevice) InstanceNoDevice { - if v != nil { - return *v - } - var ret InstanceNoDevice - return ret - }).(InstanceNoDeviceOutput) -} - type InstancePrivateDnsNameOptions struct { - EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` - EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` - HostnameType *string `pulumi:"hostnameType"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + EnableResourceNameDnsARecord *bool `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + EnableResourceNameDnsAaaaRecord *bool `pulumi:"enableResourceNameDnsAaaaRecord"` + // The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + HostnameType *InstancePrivateDnsNameOptionsHostnameType `pulumi:"hostnameType"` } // InstancePrivateDnsNameOptionsInput is an input type that accepts InstancePrivateDnsNameOptionsArgs and InstancePrivateDnsNameOptionsOutput values. @@ -9325,9 +9312,12 @@ type InstancePrivateDnsNameOptionsInput interface { } type InstancePrivateDnsNameOptionsArgs struct { - EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` - EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` - HostnameType pulumi.StringPtrInput `pulumi:"hostnameType"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + EnableResourceNameDnsARecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsARecord"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + EnableResourceNameDnsAaaaRecord pulumi.BoolPtrInput `pulumi:"enableResourceNameDnsAaaaRecord"` + // The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + HostnameType InstancePrivateDnsNameOptionsHostnameTypePtrInput `pulumi:"hostnameType"` } func (InstancePrivateDnsNameOptionsArgs) ElementType() reflect.Type { @@ -9425,16 +9415,21 @@ func (o InstancePrivateDnsNameOptionsOutput) ToOutput(ctx context.Context) pulum } } +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsARecord }).(pulumi.BoolPtrOutput) } +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. func (o InstancePrivateDnsNameOptionsOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { return o.ApplyT(func(v InstancePrivateDnsNameOptions) *bool { return v.EnableResourceNameDnsAaaaRecord }).(pulumi.BoolPtrOutput) } -func (o InstancePrivateDnsNameOptionsOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v InstancePrivateDnsNameOptions) *string { return v.HostnameType }).(pulumi.StringPtrOutput) +// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. +func (o InstancePrivateDnsNameOptionsOutput) HostnameType() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o.ApplyT(func(v InstancePrivateDnsNameOptions) *InstancePrivateDnsNameOptionsHostnameType { + return v.HostnameType + }).(InstancePrivateDnsNameOptionsHostnameTypePtrOutput) } type InstancePrivateDnsNameOptionsPtrOutput struct{ *pulumi.OutputState } @@ -9467,6 +9462,7 @@ func (o InstancePrivateDnsNameOptionsPtrOutput) Elem() InstancePrivateDnsNameOpt }).(InstancePrivateDnsNameOptionsOutput) } +// Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { if v == nil { @@ -9476,6 +9472,7 @@ func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsARecord() p }).(pulumi.BoolPtrOutput) } +// Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord() pulumi.BoolPtrOutput { return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *bool { if v == nil { @@ -9485,17 +9482,20 @@ func (o InstancePrivateDnsNameOptionsPtrOutput) EnableResourceNameDnsAaaaRecord( }).(pulumi.BoolPtrOutput) } -func (o InstancePrivateDnsNameOptionsPtrOutput) HostnameType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *string { +// The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. +func (o InstancePrivateDnsNameOptionsPtrOutput) HostnameType() InstancePrivateDnsNameOptionsHostnameTypePtrOutput { + return o.ApplyT(func(v *InstancePrivateDnsNameOptions) *InstancePrivateDnsNameOptionsHostnameType { if v == nil { return nil } return v.HostnameType - }).(pulumi.StringPtrOutput) + }).(InstancePrivateDnsNameOptionsHostnameTypePtrOutput) } type InstancePrivateIpAddressSpecification struct { - Primary bool `pulumi:"primary"` + // Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + Primary bool `pulumi:"primary"` + // The private IPv4 addresses. PrivateIpAddress string `pulumi:"privateIpAddress"` } @@ -9511,7 +9511,9 @@ type InstancePrivateIpAddressSpecificationInput interface { } type InstancePrivateIpAddressSpecificationArgs struct { - Primary pulumi.BoolInput `pulumi:"primary"` + // Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + Primary pulumi.BoolInput `pulumi:"primary"` + // The private IPv4 addresses. PrivateIpAddress pulumi.StringInput `pulumi:"privateIpAddress"` } @@ -9584,10 +9586,12 @@ func (o InstancePrivateIpAddressSpecificationOutput) ToOutput(ctx context.Contex } } +// Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. func (o InstancePrivateIpAddressSpecificationOutput) Primary() pulumi.BoolOutput { return o.ApplyT(func(v InstancePrivateIpAddressSpecification) bool { return v.Primary }).(pulumi.BoolOutput) } +// The private IPv4 addresses. func (o InstancePrivateIpAddressSpecificationOutput) PrivateIpAddress() pulumi.StringOutput { return o.ApplyT(func(v InstancePrivateIpAddressSpecification) string { return v.PrivateIpAddress }).(pulumi.StringOutput) } @@ -9619,8 +9623,10 @@ func (o InstancePrivateIpAddressSpecificationArrayOutput) Index(i pulumi.IntInpu } type InstanceSsmAssociation struct { + // The input parameter values to use with the associated SSM document. AssociationParameters []InstanceAssociationParameter `pulumi:"associationParameters"` - DocumentName string `pulumi:"documentName"` + // The name of an SSM document to associate with the instance. + DocumentName string `pulumi:"documentName"` } // InstanceSsmAssociationInput is an input type that accepts InstanceSsmAssociationArgs and InstanceSsmAssociationOutput values. @@ -9635,8 +9641,10 @@ type InstanceSsmAssociationInput interface { } type InstanceSsmAssociationArgs struct { + // The input parameter values to use with the associated SSM document. AssociationParameters InstanceAssociationParameterArrayInput `pulumi:"associationParameters"` - DocumentName pulumi.StringInput `pulumi:"documentName"` + // The name of an SSM document to associate with the instance. + DocumentName pulumi.StringInput `pulumi:"documentName"` } func (InstanceSsmAssociationArgs) ElementType() reflect.Type { @@ -9708,10 +9716,12 @@ func (o InstanceSsmAssociationOutput) ToOutput(ctx context.Context) pulumix.Outp } } +// The input parameter values to use with the associated SSM document. func (o InstanceSsmAssociationOutput) AssociationParameters() InstanceAssociationParameterArrayOutput { return o.ApplyT(func(v InstanceSsmAssociation) []InstanceAssociationParameter { return v.AssociationParameters }).(InstanceAssociationParameterArrayOutput) } +// The name of an SSM document to associate with the instance. func (o InstanceSsmAssociationOutput) DocumentName() pulumi.StringOutput { return o.ApplyT(func(v InstanceSsmAssociation) string { return v.DocumentName }).(pulumi.StringOutput) } @@ -9867,7 +9877,9 @@ func (o InstanceTagArrayOutput) Index(i pulumi.IntInput) InstanceTagOutput { } type InstanceVolume struct { - Device string `pulumi:"device"` + // The device name (for example, /dev/sdh or xvdh). + Device string `pulumi:"device"` + // The ID of the EBS volume. The volume and instance must be within the same Availability Zone. VolumeId string `pulumi:"volumeId"` } @@ -9883,7 +9895,9 @@ type InstanceVolumeInput interface { } type InstanceVolumeArgs struct { - Device pulumi.StringInput `pulumi:"device"` + // The device name (for example, /dev/sdh or xvdh). + Device pulumi.StringInput `pulumi:"device"` + // The ID of the EBS volume. The volume and instance must be within the same Availability Zone. VolumeId pulumi.StringInput `pulumi:"volumeId"` } @@ -9956,10 +9970,12 @@ func (o InstanceVolumeOutput) ToOutput(ctx context.Context) pulumix.Output[Insta } } +// The device name (for example, /dev/sdh or xvdh). func (o InstanceVolumeOutput) Device() pulumi.StringOutput { return o.ApplyT(func(v InstanceVolume) string { return v.Device }).(pulumi.StringOutput) } +// The ID of the EBS volume. The volume and instance must be within the same Availability Zone. func (o InstanceVolumeOutput) VolumeId() pulumi.StringOutput { return o.ApplyT(func(v InstanceVolume) string { return v.VolumeId }).(pulumi.StringOutput) } @@ -35547,6 +35563,8 @@ func (o VerifiedAccessInstanceVerifiedAccessTrustProviderArrayOutput) Index(i pu // The options for device identity based trust providers. type VerifiedAccessTrustProviderDeviceOptions struct { + // URL Verified Access will use to verify authenticity of the device tokens. + PublicSigningKeyUrl *string `pulumi:"publicSigningKeyUrl"` // The ID of the tenant application with the device-identity provider. TenantId *string `pulumi:"tenantId"` } @@ -35564,6 +35582,8 @@ type VerifiedAccessTrustProviderDeviceOptionsInput interface { // The options for device identity based trust providers. type VerifiedAccessTrustProviderDeviceOptionsArgs struct { + // URL Verified Access will use to verify authenticity of the device tokens. + PublicSigningKeyUrl pulumi.StringPtrInput `pulumi:"publicSigningKeyUrl"` // The ID of the tenant application with the device-identity provider. TenantId pulumi.StringPtrInput `pulumi:"tenantId"` } @@ -35664,6 +35684,11 @@ func (o VerifiedAccessTrustProviderDeviceOptionsOutput) ToOutput(ctx context.Con } } +// URL Verified Access will use to verify authenticity of the device tokens. +func (o VerifiedAccessTrustProviderDeviceOptionsOutput) PublicSigningKeyUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v VerifiedAccessTrustProviderDeviceOptions) *string { return v.PublicSigningKeyUrl }).(pulumi.StringPtrOutput) +} + // The ID of the tenant application with the device-identity provider. func (o VerifiedAccessTrustProviderDeviceOptionsOutput) TenantId() pulumi.StringPtrOutput { return o.ApplyT(func(v VerifiedAccessTrustProviderDeviceOptions) *string { return v.TenantId }).(pulumi.StringPtrOutput) @@ -35699,6 +35724,16 @@ func (o VerifiedAccessTrustProviderDeviceOptionsPtrOutput) Elem() VerifiedAccess }).(VerifiedAccessTrustProviderDeviceOptionsOutput) } +// URL Verified Access will use to verify authenticity of the device tokens. +func (o VerifiedAccessTrustProviderDeviceOptionsPtrOutput) PublicSigningKeyUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VerifiedAccessTrustProviderDeviceOptions) *string { + if v == nil { + return nil + } + return v.PublicSigningKeyUrl + }).(pulumi.StringPtrOutput) +} + // The ID of the tenant application with the device-identity provider. func (o VerifiedAccessTrustProviderDeviceOptionsPtrOutput) TenantId() pulumi.StringPtrOutput { return o.ApplyT(func(v *VerifiedAccessTrustProviderDeviceOptions) *string { @@ -36909,6 +36944,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ClientVpnEndpointTagArrayInput)(nil)).Elem(), ClientVpnEndpointTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClientVpnEndpointTagSpecificationInput)(nil)).Elem(), ClientVpnEndpointTagSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClientVpnEndpointTagSpecificationArrayInput)(nil)).Elem(), ClientVpnEndpointTagSpecificationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CpuOptionsPropertiesInput)(nil)).Elem(), CpuOptionsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CpuOptionsPropertiesPtrInput)(nil)).Elem(), CpuOptionsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CreditSpecificationPropertiesInput)(nil)).Elem(), CreditSpecificationPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CreditSpecificationPropertiesPtrInput)(nil)).Elem(), CreditSpecificationPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomerGatewayTagInput)(nil)).Elem(), CustomerGatewayTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomerGatewayTagArrayInput)(nil)).Elem(), CustomerGatewayTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DestinationOptionsPropertiesInput)(nil)).Elem(), DestinationOptionsPropertiesArgs{}) @@ -36960,28 +36999,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetVCpuCountRangeRequestPtrInput)(nil)).Elem(), Ec2FleetVCpuCountRangeRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EipTagInput)(nil)).Elem(), EipTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*EipTagArrayInput)(nil)).Elem(), EipTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EnclaveOptionsPropertiesInput)(nil)).Elem(), EnclaveOptionsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*EnclaveOptionsPropertiesPtrInput)(nil)).Elem(), EnclaveOptionsPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowLogTagInput)(nil)).Elem(), FlowLogTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FlowLogTagArrayInput)(nil)).Elem(), FlowLogTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*HibernationOptionsPropertiesInput)(nil)).Elem(), HibernationOptionsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*HibernationOptionsPropertiesPtrInput)(nil)).Elem(), HibernationOptionsPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceAssociationParameterInput)(nil)).Elem(), InstanceAssociationParameterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceAssociationParameterArrayInput)(nil)).Elem(), InstanceAssociationParameterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBlockDeviceMappingInput)(nil)).Elem(), InstanceBlockDeviceMappingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceBlockDeviceMappingArrayInput)(nil)).Elem(), InstanceBlockDeviceMappingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceConnectEndpointTagInput)(nil)).Elem(), InstanceConnectEndpointTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceConnectEndpointTagArrayInput)(nil)).Elem(), InstanceConnectEndpointTagArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceCpuOptionsInput)(nil)).Elem(), InstanceCpuOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceCpuOptionsPtrInput)(nil)).Elem(), InstanceCpuOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceCreditSpecificationInput)(nil)).Elem(), InstanceCreditSpecificationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceCreditSpecificationPtrInput)(nil)).Elem(), InstanceCreditSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEbsInput)(nil)).Elem(), InstanceEbsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceEbsPtrInput)(nil)).Elem(), InstanceEbsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceElasticGpuSpecificationInput)(nil)).Elem(), InstanceElasticGpuSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceElasticGpuSpecificationArrayInput)(nil)).Elem(), InstanceElasticGpuSpecificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceElasticInferenceAcceleratorInput)(nil)).Elem(), InstanceElasticInferenceAcceleratorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceElasticInferenceAcceleratorArrayInput)(nil)).Elem(), InstanceElasticInferenceAcceleratorArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceEnclaveOptionsInput)(nil)).Elem(), InstanceEnclaveOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceEnclaveOptionsPtrInput)(nil)).Elem(), InstanceEnclaveOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceHibernationOptionsInput)(nil)).Elem(), InstanceHibernationOptionsArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceHibernationOptionsPtrInput)(nil)).Elem(), InstanceHibernationOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceIpv6AddressInput)(nil)).Elem(), InstanceIpv6AddressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceIpv6AddressArrayInput)(nil)).Elem(), InstanceIpv6AddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceLaunchTemplateSpecificationInput)(nil)).Elem(), InstanceLaunchTemplateSpecificationArgs{}) @@ -36990,8 +37025,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceLicenseSpecificationArrayInput)(nil)).Elem(), InstanceLicenseSpecificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceNetworkInterfaceInput)(nil)).Elem(), InstanceNetworkInterfaceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceNetworkInterfaceArrayInput)(nil)).Elem(), InstanceNetworkInterfaceArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceNoDeviceInput)(nil)).Elem(), InstanceNoDeviceArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*InstanceNoDevicePtrInput)(nil)).Elem(), InstanceNoDeviceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancePrivateDnsNameOptionsInput)(nil)).Elem(), InstancePrivateDnsNameOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancePrivateDnsNameOptionsPtrInput)(nil)).Elem(), InstancePrivateDnsNameOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstancePrivateIpAddressSpecificationInput)(nil)).Elem(), InstancePrivateIpAddressSpecificationArgs{}) @@ -37331,6 +37364,10 @@ func init() { pulumi.RegisterOutputType(ClientVpnEndpointTagArrayOutput{}) pulumi.RegisterOutputType(ClientVpnEndpointTagSpecificationOutput{}) pulumi.RegisterOutputType(ClientVpnEndpointTagSpecificationArrayOutput{}) + pulumi.RegisterOutputType(CpuOptionsPropertiesOutput{}) + pulumi.RegisterOutputType(CpuOptionsPropertiesPtrOutput{}) + pulumi.RegisterOutputType(CreditSpecificationPropertiesOutput{}) + pulumi.RegisterOutputType(CreditSpecificationPropertiesPtrOutput{}) pulumi.RegisterOutputType(CustomerGatewayTagOutput{}) pulumi.RegisterOutputType(CustomerGatewayTagArrayOutput{}) pulumi.RegisterOutputType(DestinationOptionsPropertiesOutput{}) @@ -37383,28 +37420,24 @@ func init() { pulumi.RegisterOutputType(Ec2FleetVCpuCountRangeRequestPtrOutput{}) pulumi.RegisterOutputType(EipTagOutput{}) pulumi.RegisterOutputType(EipTagArrayOutput{}) + pulumi.RegisterOutputType(EnclaveOptionsPropertiesOutput{}) + pulumi.RegisterOutputType(EnclaveOptionsPropertiesPtrOutput{}) pulumi.RegisterOutputType(FlowLogTagOutput{}) pulumi.RegisterOutputType(FlowLogTagArrayOutput{}) + pulumi.RegisterOutputType(HibernationOptionsPropertiesOutput{}) + pulumi.RegisterOutputType(HibernationOptionsPropertiesPtrOutput{}) pulumi.RegisterOutputType(InstanceAssociationParameterOutput{}) pulumi.RegisterOutputType(InstanceAssociationParameterArrayOutput{}) pulumi.RegisterOutputType(InstanceBlockDeviceMappingOutput{}) pulumi.RegisterOutputType(InstanceBlockDeviceMappingArrayOutput{}) pulumi.RegisterOutputType(InstanceConnectEndpointTagOutput{}) pulumi.RegisterOutputType(InstanceConnectEndpointTagArrayOutput{}) - pulumi.RegisterOutputType(InstanceCpuOptionsOutput{}) - pulumi.RegisterOutputType(InstanceCpuOptionsPtrOutput{}) - pulumi.RegisterOutputType(InstanceCreditSpecificationOutput{}) - pulumi.RegisterOutputType(InstanceCreditSpecificationPtrOutput{}) pulumi.RegisterOutputType(InstanceEbsOutput{}) pulumi.RegisterOutputType(InstanceEbsPtrOutput{}) pulumi.RegisterOutputType(InstanceElasticGpuSpecificationOutput{}) pulumi.RegisterOutputType(InstanceElasticGpuSpecificationArrayOutput{}) pulumi.RegisterOutputType(InstanceElasticInferenceAcceleratorOutput{}) pulumi.RegisterOutputType(InstanceElasticInferenceAcceleratorArrayOutput{}) - pulumi.RegisterOutputType(InstanceEnclaveOptionsOutput{}) - pulumi.RegisterOutputType(InstanceEnclaveOptionsPtrOutput{}) - pulumi.RegisterOutputType(InstanceHibernationOptionsOutput{}) - pulumi.RegisterOutputType(InstanceHibernationOptionsPtrOutput{}) pulumi.RegisterOutputType(InstanceIpv6AddressOutput{}) pulumi.RegisterOutputType(InstanceIpv6AddressArrayOutput{}) pulumi.RegisterOutputType(InstanceLaunchTemplateSpecificationOutput{}) @@ -37413,8 +37446,6 @@ func init() { pulumi.RegisterOutputType(InstanceLicenseSpecificationArrayOutput{}) pulumi.RegisterOutputType(InstanceNetworkInterfaceOutput{}) pulumi.RegisterOutputType(InstanceNetworkInterfaceArrayOutput{}) - pulumi.RegisterOutputType(InstanceNoDeviceOutput{}) - pulumi.RegisterOutputType(InstanceNoDevicePtrOutput{}) pulumi.RegisterOutputType(InstancePrivateDnsNameOptionsOutput{}) pulumi.RegisterOutputType(InstancePrivateDnsNameOptionsPtrOutput{}) pulumi.RegisterOutputType(InstancePrivateIpAddressSpecificationOutput{}) diff --git a/sdk/go/aws/ec2/securityGroupEgress.go b/sdk/go/aws/ec2/securityGroupEgress.go index 399eec5170..4875b2ba6c 100644 --- a/sdk/go/aws/ec2/securityGroupEgress.go +++ b/sdk/go/aws/ec2/securityGroupEgress.go @@ -14,20 +14,27 @@ import ( ) // Resource Type definition for AWS::EC2::SecurityGroupEgress -// -// Deprecated: SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type SecurityGroupEgress struct { pulumi.CustomResourceState - CidrIp pulumi.StringPtrOutput `pulumi:"cidrIp"` - CidrIpv6 pulumi.StringPtrOutput `pulumi:"cidrIpv6"` - Description pulumi.StringPtrOutput `pulumi:"description"` - DestinationPrefixListId pulumi.StringPtrOutput `pulumi:"destinationPrefixListId"` + // The IPv4 ranges + CidrIp pulumi.StringPtrOutput `pulumi:"cidrIp"` + // [VPC only] The IPv6 ranges + CidrIpv6 pulumi.StringPtrOutput `pulumi:"cidrIpv6"` + // Resource Type definition for an egress (outbound) security group rule. + Description pulumi.StringPtrOutput `pulumi:"description"` + // [EC2-VPC only] The ID of a prefix list. + DestinationPrefixListId pulumi.StringPtrOutput `pulumi:"destinationPrefixListId"` + // You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). DestinationSecurityGroupId pulumi.StringPtrOutput `pulumi:"destinationSecurityGroupId"` - FromPort pulumi.IntPtrOutput `pulumi:"fromPort"` - GroupId pulumi.StringOutput `pulumi:"groupId"` - IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"` - ToPort pulumi.IntPtrOutput `pulumi:"toPort"` + // 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. + FromPort pulumi.IntPtrOutput `pulumi:"fromPort"` + // 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. + GroupId pulumi.StringOutput `pulumi:"groupId"` + // [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. + IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"` + // 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. + ToPort pulumi.IntPtrOutput `pulumi:"toPort"` } // NewSecurityGroupEgress registers a new resource with the given unique name, arguments, and options. @@ -87,28 +94,46 @@ func (SecurityGroupEgressState) ElementType() reflect.Type { } type securityGroupEgressArgs struct { - CidrIp *string `pulumi:"cidrIp"` - CidrIpv6 *string `pulumi:"cidrIpv6"` - Description *string `pulumi:"description"` - DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + // The IPv4 ranges + CidrIp *string `pulumi:"cidrIp"` + // [VPC only] The IPv6 ranges + CidrIpv6 *string `pulumi:"cidrIpv6"` + // Resource Type definition for an egress (outbound) security group rule. + Description *string `pulumi:"description"` + // [EC2-VPC only] The ID of a prefix list. + DestinationPrefixListId *string `pulumi:"destinationPrefixListId"` + // You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). DestinationSecurityGroupId *string `pulumi:"destinationSecurityGroupId"` - FromPort *int `pulumi:"fromPort"` - GroupId string `pulumi:"groupId"` - IpProtocol string `pulumi:"ipProtocol"` - ToPort *int `pulumi:"toPort"` + // 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. + FromPort *int `pulumi:"fromPort"` + // 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. + GroupId string `pulumi:"groupId"` + // [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. + IpProtocol string `pulumi:"ipProtocol"` + // 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. + ToPort *int `pulumi:"toPort"` } // The set of arguments for constructing a SecurityGroupEgress resource. type SecurityGroupEgressArgs struct { - CidrIp pulumi.StringPtrInput - CidrIpv6 pulumi.StringPtrInput - Description pulumi.StringPtrInput - DestinationPrefixListId pulumi.StringPtrInput + // The IPv4 ranges + CidrIp pulumi.StringPtrInput + // [VPC only] The IPv6 ranges + CidrIpv6 pulumi.StringPtrInput + // Resource Type definition for an egress (outbound) security group rule. + Description pulumi.StringPtrInput + // [EC2-VPC only] The ID of a prefix list. + DestinationPrefixListId pulumi.StringPtrInput + // You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). DestinationSecurityGroupId pulumi.StringPtrInput - FromPort pulumi.IntPtrInput - GroupId pulumi.StringInput - IpProtocol pulumi.StringInput - ToPort pulumi.IntPtrInput + // 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. + FromPort pulumi.IntPtrInput + // 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. + GroupId pulumi.StringInput + // [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. + IpProtocol pulumi.StringInput + // 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. + ToPort pulumi.IntPtrInput } func (SecurityGroupEgressArgs) ElementType() reflect.Type { @@ -160,38 +185,47 @@ func (o SecurityGroupEgressOutput) ToOutput(ctx context.Context) pulumix.Output[ } } +// The IPv4 ranges func (o SecurityGroupEgressOutput) CidrIp() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringPtrOutput { return v.CidrIp }).(pulumi.StringPtrOutput) } +// [VPC only] The IPv6 ranges func (o SecurityGroupEgressOutput) CidrIpv6() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringPtrOutput { return v.CidrIpv6 }).(pulumi.StringPtrOutput) } +// Resource Type definition for an egress (outbound) security group rule. func (o SecurityGroupEgressOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// [EC2-VPC only] The ID of a prefix list. func (o SecurityGroupEgressOutput) DestinationPrefixListId() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringPtrOutput { return v.DestinationPrefixListId }).(pulumi.StringPtrOutput) } +// You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). func (o SecurityGroupEgressOutput) DestinationSecurityGroupId() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringPtrOutput { return v.DestinationSecurityGroupId }).(pulumi.StringPtrOutput) } +// 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. func (o SecurityGroupEgressOutput) FromPort() pulumi.IntPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.IntPtrOutput { return v.FromPort }).(pulumi.IntPtrOutput) } +// 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. func (o SecurityGroupEgressOutput) GroupId() pulumi.StringOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringOutput { return v.GroupId }).(pulumi.StringOutput) } +// [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. func (o SecurityGroupEgressOutput) IpProtocol() pulumi.StringOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.StringOutput { return v.IpProtocol }).(pulumi.StringOutput) } +// 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. func (o SecurityGroupEgressOutput) ToPort() pulumi.IntPtrOutput { return o.ApplyT(func(v *SecurityGroupEgress) pulumi.IntPtrOutput { return v.ToPort }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/ecs/pulumiEnums.go b/sdk/go/aws/ecs/pulumiEnums.go index f7433d50aa..9422b4ed64 100644 --- a/sdk/go/aws/ecs/pulumiEnums.go +++ b/sdk/go/aws/ecs/pulumiEnums.go @@ -11,6 +11,188 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) +type CapacityProviderAutoScalingGroupProviderManagedDraining string + +const ( + CapacityProviderAutoScalingGroupProviderManagedDrainingDisabled = CapacityProviderAutoScalingGroupProviderManagedDraining("DISABLED") + CapacityProviderAutoScalingGroupProviderManagedDrainingEnabled = CapacityProviderAutoScalingGroupProviderManagedDraining("ENABLED") +) + +func (CapacityProviderAutoScalingGroupProviderManagedDraining) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedDraining)(nil)).Elem() +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingOutput { + return pulumi.ToOutput(e).(CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingOutput { + return pulumi.ToOutputWithContext(ctx, e).(CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return e.ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(context.Background()) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return CapacityProviderAutoScalingGroupProviderManagedDraining(e).ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutputWithContext(ctx).ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CapacityProviderAutoScalingGroupProviderManagedDraining) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CapacityProviderAutoScalingGroupProviderManagedDrainingOutput struct{ *pulumi.OutputState } + +func (CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedDraining)(nil)).Elem() +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingOutput { + return o +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingOutput { + return o +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o.ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(context.Background()) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CapacityProviderAutoScalingGroupProviderManagedDraining) *CapacityProviderAutoScalingGroupProviderManagedDraining { + return &v + }).(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToOutput(ctx context.Context) pulumix.Output[CapacityProviderAutoScalingGroupProviderManagedDraining] { + return pulumix.Output[CapacityProviderAutoScalingGroupProviderManagedDraining]{ + OutputState: o.OutputState, + } +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CapacityProviderAutoScalingGroupProviderManagedDraining) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CapacityProviderAutoScalingGroupProviderManagedDraining) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput struct{ *pulumi.OutputState } + +func (CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CapacityProviderAutoScalingGroupProviderManagedDraining)(nil)).Elem() +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CapacityProviderAutoScalingGroupProviderManagedDraining] { + return pulumix.Output[*CapacityProviderAutoScalingGroupProviderManagedDraining]{ + OutputState: o.OutputState, + } +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) Elem() CapacityProviderAutoScalingGroupProviderManagedDrainingOutput { + return o.ApplyT(func(v *CapacityProviderAutoScalingGroupProviderManagedDraining) CapacityProviderAutoScalingGroupProviderManagedDraining { + if v != nil { + return *v + } + var ret CapacityProviderAutoScalingGroupProviderManagedDraining + return ret + }).(CapacityProviderAutoScalingGroupProviderManagedDrainingOutput) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CapacityProviderAutoScalingGroupProviderManagedDraining) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CapacityProviderAutoScalingGroupProviderManagedDrainingInput is an input type that accepts CapacityProviderAutoScalingGroupProviderManagedDrainingArgs and CapacityProviderAutoScalingGroupProviderManagedDrainingOutput values. +// You can construct a concrete instance of `CapacityProviderAutoScalingGroupProviderManagedDrainingInput` via: +// +// CapacityProviderAutoScalingGroupProviderManagedDrainingArgs{...} +type CapacityProviderAutoScalingGroupProviderManagedDrainingInput interface { + pulumi.Input + + ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingOutput + ToCapacityProviderAutoScalingGroupProviderManagedDrainingOutputWithContext(context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingOutput +} + +var capacityProviderAutoScalingGroupProviderManagedDrainingPtrType = reflect.TypeOf((**CapacityProviderAutoScalingGroupProviderManagedDraining)(nil)).Elem() + +type CapacityProviderAutoScalingGroupProviderManagedDrainingPtrInput interface { + pulumi.Input + + ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput + ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput +} + +type capacityProviderAutoScalingGroupProviderManagedDrainingPtr string + +func CapacityProviderAutoScalingGroupProviderManagedDrainingPtr(v string) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrInput { + return (*capacityProviderAutoScalingGroupProviderManagedDrainingPtr)(&v) +} + +func (*capacityProviderAutoScalingGroupProviderManagedDrainingPtr) ElementType() reflect.Type { + return capacityProviderAutoScalingGroupProviderManagedDrainingPtrType +} + +func (in *capacityProviderAutoScalingGroupProviderManagedDrainingPtr) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return pulumi.ToOutput(in).(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) +} + +func (in *capacityProviderAutoScalingGroupProviderManagedDrainingPtr) ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx context.Context) CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) +} + +func (in *capacityProviderAutoScalingGroupProviderManagedDrainingPtr) ToOutput(ctx context.Context) pulumix.Output[*CapacityProviderAutoScalingGroupProviderManagedDraining] { + return pulumix.Output[*CapacityProviderAutoScalingGroupProviderManagedDraining]{ + OutputState: in.ToCapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutputWithContext(ctx).OutputState, + } +} + type CapacityProviderAutoScalingGroupProviderManagedTerminationProtection string const ( @@ -2764,6 +2946,8 @@ func (in *taskSetScaleUnitPtr) ToOutput(ctx context.Context) pulumix.Output[*Tas } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedDrainingInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderManagedDraining("DISABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedDrainingPtrInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderManagedDraining("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderManagedTerminationProtection("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionPtrInput)(nil)).Elem(), CapacityProviderAutoScalingGroupProviderManagedTerminationProtection("DISABLED")) pulumi.RegisterInputType(reflect.TypeOf((*CapacityProviderManagedScalingStatusInput)(nil)).Elem(), CapacityProviderManagedScalingStatus("DISABLED")) @@ -2794,6 +2978,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TaskSetLaunchTypePtrInput)(nil)).Elem(), TaskSetLaunchType("EC2")) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetScaleUnitInput)(nil)).Elem(), TaskSetScaleUnit("PERCENT")) pulumi.RegisterInputType(reflect.TypeOf((*TaskSetScaleUnitPtrInput)(nil)).Elem(), TaskSetScaleUnit("PERCENT")) + pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedDrainingOutput{}) + pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput{}) pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionOutput{}) pulumi.RegisterOutputType(CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionPtrOutput{}) pulumi.RegisterOutputType(CapacityProviderManagedScalingStatusOutput{}) diff --git a/sdk/go/aws/ecs/pulumiTypes.go b/sdk/go/aws/ecs/pulumiTypes.go index 1819489b46..5b6ccb7cc4 100644 --- a/sdk/go/aws/ecs/pulumiTypes.go +++ b/sdk/go/aws/ecs/pulumiTypes.go @@ -16,6 +16,7 @@ var _ = internal.GetEnvOrDefault type CapacityProviderAutoScalingGroupProvider struct { AutoScalingGroupArn string `pulumi:"autoScalingGroupArn"` + ManagedDraining *CapacityProviderAutoScalingGroupProviderManagedDraining `pulumi:"managedDraining"` ManagedScaling *CapacityProviderManagedScaling `pulumi:"managedScaling"` ManagedTerminationProtection *CapacityProviderAutoScalingGroupProviderManagedTerminationProtection `pulumi:"managedTerminationProtection"` } @@ -33,6 +34,7 @@ type CapacityProviderAutoScalingGroupProviderInput interface { type CapacityProviderAutoScalingGroupProviderArgs struct { AutoScalingGroupArn pulumi.StringInput `pulumi:"autoScalingGroupArn"` + ManagedDraining CapacityProviderAutoScalingGroupProviderManagedDrainingPtrInput `pulumi:"managedDraining"` ManagedScaling CapacityProviderManagedScalingPtrInput `pulumi:"managedScaling"` ManagedTerminationProtection CapacityProviderAutoScalingGroupProviderManagedTerminationProtectionPtrInput `pulumi:"managedTerminationProtection"` } @@ -79,6 +81,12 @@ func (o CapacityProviderAutoScalingGroupProviderOutput) AutoScalingGroupArn() pu return o.ApplyT(func(v CapacityProviderAutoScalingGroupProvider) string { return v.AutoScalingGroupArn }).(pulumi.StringOutput) } +func (o CapacityProviderAutoScalingGroupProviderOutput) ManagedDraining() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o.ApplyT(func(v CapacityProviderAutoScalingGroupProvider) *CapacityProviderAutoScalingGroupProviderManagedDraining { + return v.ManagedDraining + }).(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) +} + func (o CapacityProviderAutoScalingGroupProviderOutput) ManagedScaling() CapacityProviderManagedScalingPtrOutput { return o.ApplyT(func(v CapacityProviderAutoScalingGroupProvider) *CapacityProviderManagedScaling { return v.ManagedScaling @@ -130,6 +138,15 @@ func (o CapacityProviderAutoScalingGroupProviderPtrOutput) AutoScalingGroupArn() }).(pulumi.StringPtrOutput) } +func (o CapacityProviderAutoScalingGroupProviderPtrOutput) ManagedDraining() CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput { + return o.ApplyT(func(v *CapacityProviderAutoScalingGroupProvider) *CapacityProviderAutoScalingGroupProviderManagedDraining { + if v == nil { + return nil + } + return v.ManagedDraining + }).(CapacityProviderAutoScalingGroupProviderManagedDrainingPtrOutput) +} + func (o CapacityProviderAutoScalingGroupProviderPtrOutput) ManagedScaling() CapacityProviderManagedScalingPtrOutput { return o.ApplyT(func(v *CapacityProviderAutoScalingGroupProvider) *CapacityProviderManagedScaling { if v == nil { diff --git a/sdk/go/aws/elasticache/pulumiTypes.go b/sdk/go/aws/elasticache/pulumiTypes.go index a2788e24d0..338313ad9c 100644 --- a/sdk/go/aws/elasticache/pulumiTypes.go +++ b/sdk/go/aws/elasticache/pulumiTypes.go @@ -2818,6 +2818,90 @@ type ServerlessCacheEndpoint struct { Port *int `pulumi:"port"` } +// ServerlessCacheEndpointInput is an input type that accepts ServerlessCacheEndpointArgs and ServerlessCacheEndpointOutput values. +// You can construct a concrete instance of `ServerlessCacheEndpointInput` via: +// +// ServerlessCacheEndpointArgs{...} +type ServerlessCacheEndpointInput interface { + pulumi.Input + + ToServerlessCacheEndpointOutput() ServerlessCacheEndpointOutput + ToServerlessCacheEndpointOutputWithContext(context.Context) ServerlessCacheEndpointOutput +} + +// The address and the port. +type ServerlessCacheEndpointArgs struct { + // Endpoint address. + Address pulumi.StringPtrInput `pulumi:"address"` + // Endpoint port. + Port pulumi.IntPtrInput `pulumi:"port"` +} + +func (ServerlessCacheEndpointArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerlessCacheEndpoint)(nil)).Elem() +} + +func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutput() ServerlessCacheEndpointOutput { + return i.ToServerlessCacheEndpointOutputWithContext(context.Background()) +} + +func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutputWithContext(ctx context.Context) ServerlessCacheEndpointOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessCacheEndpointOutput) +} + +func (i ServerlessCacheEndpointArgs) ToOutput(ctx context.Context) pulumix.Output[ServerlessCacheEndpoint] { + return pulumix.Output[ServerlessCacheEndpoint]{ + OutputState: i.ToServerlessCacheEndpointOutputWithContext(ctx).OutputState, + } +} + +func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointPtrOutput() ServerlessCacheEndpointPtrOutput { + return i.ToServerlessCacheEndpointPtrOutputWithContext(context.Background()) +} + +func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointPtrOutputWithContext(ctx context.Context) ServerlessCacheEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessCacheEndpointOutput).ToServerlessCacheEndpointPtrOutputWithContext(ctx) +} + +// ServerlessCacheEndpointPtrInput is an input type that accepts ServerlessCacheEndpointArgs, ServerlessCacheEndpointPtr and ServerlessCacheEndpointPtrOutput values. +// You can construct a concrete instance of `ServerlessCacheEndpointPtrInput` via: +// +// ServerlessCacheEndpointArgs{...} +// +// or: +// +// nil +type ServerlessCacheEndpointPtrInput interface { + pulumi.Input + + ToServerlessCacheEndpointPtrOutput() ServerlessCacheEndpointPtrOutput + ToServerlessCacheEndpointPtrOutputWithContext(context.Context) ServerlessCacheEndpointPtrOutput +} + +type serverlessCacheEndpointPtrType ServerlessCacheEndpointArgs + +func ServerlessCacheEndpointPtr(v *ServerlessCacheEndpointArgs) ServerlessCacheEndpointPtrInput { + return (*serverlessCacheEndpointPtrType)(v) +} + +func (*serverlessCacheEndpointPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerlessCacheEndpoint)(nil)).Elem() +} + +func (i *serverlessCacheEndpointPtrType) ToServerlessCacheEndpointPtrOutput() ServerlessCacheEndpointPtrOutput { + return i.ToServerlessCacheEndpointPtrOutputWithContext(context.Background()) +} + +func (i *serverlessCacheEndpointPtrType) ToServerlessCacheEndpointPtrOutputWithContext(ctx context.Context) ServerlessCacheEndpointPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerlessCacheEndpointPtrOutput) +} + +func (i *serverlessCacheEndpointPtrType) ToOutput(ctx context.Context) pulumix.Output[*ServerlessCacheEndpoint] { + return pulumix.Output[*ServerlessCacheEndpoint]{ + OutputState: i.ToServerlessCacheEndpointPtrOutputWithContext(ctx).OutputState, + } +} + // The address and the port. type ServerlessCacheEndpointOutput struct{ *pulumi.OutputState } @@ -2833,6 +2917,16 @@ func (o ServerlessCacheEndpointOutput) ToServerlessCacheEndpointOutputWithContex return o } +func (o ServerlessCacheEndpointOutput) ToServerlessCacheEndpointPtrOutput() ServerlessCacheEndpointPtrOutput { + return o.ToServerlessCacheEndpointPtrOutputWithContext(context.Background()) +} + +func (o ServerlessCacheEndpointOutput) ToServerlessCacheEndpointPtrOutputWithContext(ctx context.Context) ServerlessCacheEndpointPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerlessCacheEndpoint) *ServerlessCacheEndpoint { + return &v + }).(ServerlessCacheEndpointPtrOutput) +} + func (o ServerlessCacheEndpointOutput) ToOutput(ctx context.Context) pulumix.Output[ServerlessCacheEndpoint] { return pulumix.Output[ServerlessCacheEndpoint]{ OutputState: o.OutputState, @@ -3464,6 +3558,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheDataStoragePtrInput)(nil)).Elem(), ServerlessCacheDataStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheEcpuPerSecondInput)(nil)).Elem(), ServerlessCacheEcpuPerSecondArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheEcpuPerSecondPtrInput)(nil)).Elem(), ServerlessCacheEcpuPerSecondArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheEndpointInput)(nil)).Elem(), ServerlessCacheEndpointArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheEndpointPtrInput)(nil)).Elem(), ServerlessCacheEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheTagInput)(nil)).Elem(), ServerlessCacheTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerlessCacheTagArrayInput)(nil)).Elem(), ServerlessCacheTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SubnetGroupTagInput)(nil)).Elem(), SubnetGroupTagArgs{}) diff --git a/sdk/go/aws/elasticache/serverlessCache.go b/sdk/go/aws/elasticache/serverlessCache.go index 1d1dd85659..5ee95022d1 100644 --- a/sdk/go/aws/elasticache/serverlessCache.go +++ b/sdk/go/aws/elasticache/serverlessCache.go @@ -25,8 +25,8 @@ type ServerlessCache struct { // The daily time range (in UTC) during which the service takes automatic snapshot of the Serverless Cache. DailySnapshotTime pulumi.StringPtrOutput `pulumi:"dailySnapshotTime"` // The description of the Serverless Cache. - Description pulumi.StringPtrOutput `pulumi:"description"` - Endpoint ServerlessCacheEndpointOutput `pulumi:"endpoint"` + Description pulumi.StringPtrOutput `pulumi:"description"` + Endpoint ServerlessCacheEndpointPtrOutput `pulumi:"endpoint"` // The engine name of the Serverless Cache. Engine pulumi.StringOutput `pulumi:"engine"` // The final snapshot name which is taken before Serverless Cache is deleted. @@ -36,8 +36,8 @@ type ServerlessCache struct { // The ID of the KMS key used to encrypt the cluster. KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` // The major engine version of the Serverless Cache. - MajorEngineVersion pulumi.StringPtrOutput `pulumi:"majorEngineVersion"` - ReaderEndpoint ServerlessCacheEndpointOutput `pulumi:"readerEndpoint"` + MajorEngineVersion pulumi.StringPtrOutput `pulumi:"majorEngineVersion"` + ReaderEndpoint ServerlessCacheEndpointPtrOutput `pulumi:"readerEndpoint"` // One or more Amazon VPC security groups associated with this Serverless Cache. SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` // The name of the Serverless Cache. This value must be unique. @@ -112,7 +112,8 @@ type serverlessCacheArgs struct { // The daily time range (in UTC) during which the service takes automatic snapshot of the Serverless Cache. DailySnapshotTime *string `pulumi:"dailySnapshotTime"` // The description of the Serverless Cache. - Description *string `pulumi:"description"` + Description *string `pulumi:"description"` + Endpoint *ServerlessCacheEndpoint `pulumi:"endpoint"` // The engine name of the Serverless Cache. Engine string `pulumi:"engine"` // The final snapshot name which is taken before Serverless Cache is deleted. @@ -120,7 +121,8 @@ type serverlessCacheArgs struct { // The ID of the KMS key used to encrypt the cluster. KmsKeyId *string `pulumi:"kmsKeyId"` // The major engine version of the Serverless Cache. - MajorEngineVersion *string `pulumi:"majorEngineVersion"` + MajorEngineVersion *string `pulumi:"majorEngineVersion"` + ReaderEndpoint *ServerlessCacheEndpoint `pulumi:"readerEndpoint"` // One or more Amazon VPC security groups associated with this Serverless Cache. SecurityGroupIds []string `pulumi:"securityGroupIds"` // The name of the Serverless Cache. This value must be unique. @@ -144,6 +146,7 @@ type ServerlessCacheArgs struct { DailySnapshotTime pulumi.StringPtrInput // The description of the Serverless Cache. Description pulumi.StringPtrInput + Endpoint ServerlessCacheEndpointPtrInput // The engine name of the Serverless Cache. Engine pulumi.StringInput // The final snapshot name which is taken before Serverless Cache is deleted. @@ -152,6 +155,7 @@ type ServerlessCacheArgs struct { KmsKeyId pulumi.StringPtrInput // The major engine version of the Serverless Cache. MajorEngineVersion pulumi.StringPtrInput + ReaderEndpoint ServerlessCacheEndpointPtrInput // One or more Amazon VPC security groups associated with this Serverless Cache. SecurityGroupIds pulumi.StringArrayInput // The name of the Serverless Cache. This value must be unique. @@ -241,8 +245,8 @@ func (o ServerlessCacheOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServerlessCache) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -func (o ServerlessCacheOutput) Endpoint() ServerlessCacheEndpointOutput { - return o.ApplyT(func(v *ServerlessCache) ServerlessCacheEndpointOutput { return v.Endpoint }).(ServerlessCacheEndpointOutput) +func (o ServerlessCacheOutput) Endpoint() ServerlessCacheEndpointPtrOutput { + return o.ApplyT(func(v *ServerlessCache) ServerlessCacheEndpointPtrOutput { return v.Endpoint }).(ServerlessCacheEndpointPtrOutput) } // The engine name of the Serverless Cache. @@ -270,8 +274,8 @@ func (o ServerlessCacheOutput) MajorEngineVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *ServerlessCache) pulumi.StringPtrOutput { return v.MajorEngineVersion }).(pulumi.StringPtrOutput) } -func (o ServerlessCacheOutput) ReaderEndpoint() ServerlessCacheEndpointOutput { - return o.ApplyT(func(v *ServerlessCache) ServerlessCacheEndpointOutput { return v.ReaderEndpoint }).(ServerlessCacheEndpointOutput) +func (o ServerlessCacheOutput) ReaderEndpoint() ServerlessCacheEndpointPtrOutput { + return o.ApplyT(func(v *ServerlessCache) ServerlessCacheEndpointPtrOutput { return v.ReaderEndpoint }).(ServerlessCacheEndpointPtrOutput) } // One or more Amazon VPC security groups associated with this Serverless Cache. diff --git a/sdk/go/aws/emr/pulumiEnums.go b/sdk/go/aws/emr/pulumiEnums.go index 7d71c9cd8e..27f7b654b6 100644 --- a/sdk/go/aws/emr/pulumiEnums.go +++ b/sdk/go/aws/emr/pulumiEnums.go @@ -194,6 +194,189 @@ func (in *studioAuthModePtr) ToOutput(ctx context.Context) pulumix.Output[*Studi } } +// 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 StudioIdcUserAssignment string + +const ( + StudioIdcUserAssignmentRequired = StudioIdcUserAssignment("REQUIRED") + StudioIdcUserAssignmentOptional = StudioIdcUserAssignment("OPTIONAL") +) + +func (StudioIdcUserAssignment) ElementType() reflect.Type { + return reflect.TypeOf((*StudioIdcUserAssignment)(nil)).Elem() +} + +func (e StudioIdcUserAssignment) ToStudioIdcUserAssignmentOutput() StudioIdcUserAssignmentOutput { + return pulumi.ToOutput(e).(StudioIdcUserAssignmentOutput) +} + +func (e StudioIdcUserAssignment) ToStudioIdcUserAssignmentOutputWithContext(ctx context.Context) StudioIdcUserAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, e).(StudioIdcUserAssignmentOutput) +} + +func (e StudioIdcUserAssignment) ToStudioIdcUserAssignmentPtrOutput() StudioIdcUserAssignmentPtrOutput { + return e.ToStudioIdcUserAssignmentPtrOutputWithContext(context.Background()) +} + +func (e StudioIdcUserAssignment) ToStudioIdcUserAssignmentPtrOutputWithContext(ctx context.Context) StudioIdcUserAssignmentPtrOutput { + return StudioIdcUserAssignment(e).ToStudioIdcUserAssignmentOutputWithContext(ctx).ToStudioIdcUserAssignmentPtrOutputWithContext(ctx) +} + +func (e StudioIdcUserAssignment) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StudioIdcUserAssignment) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e StudioIdcUserAssignment) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e StudioIdcUserAssignment) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type StudioIdcUserAssignmentOutput struct{ *pulumi.OutputState } + +func (StudioIdcUserAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*StudioIdcUserAssignment)(nil)).Elem() +} + +func (o StudioIdcUserAssignmentOutput) ToStudioIdcUserAssignmentOutput() StudioIdcUserAssignmentOutput { + return o +} + +func (o StudioIdcUserAssignmentOutput) ToStudioIdcUserAssignmentOutputWithContext(ctx context.Context) StudioIdcUserAssignmentOutput { + return o +} + +func (o StudioIdcUserAssignmentOutput) ToStudioIdcUserAssignmentPtrOutput() StudioIdcUserAssignmentPtrOutput { + return o.ToStudioIdcUserAssignmentPtrOutputWithContext(context.Background()) +} + +func (o StudioIdcUserAssignmentOutput) ToStudioIdcUserAssignmentPtrOutputWithContext(ctx context.Context) StudioIdcUserAssignmentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v StudioIdcUserAssignment) *StudioIdcUserAssignment { + return &v + }).(StudioIdcUserAssignmentPtrOutput) +} + +func (o StudioIdcUserAssignmentOutput) ToOutput(ctx context.Context) pulumix.Output[StudioIdcUserAssignment] { + return pulumix.Output[StudioIdcUserAssignment]{ + OutputState: o.OutputState, + } +} + +func (o StudioIdcUserAssignmentOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o StudioIdcUserAssignmentOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioIdcUserAssignment) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o StudioIdcUserAssignmentOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StudioIdcUserAssignmentOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e StudioIdcUserAssignment) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type StudioIdcUserAssignmentPtrOutput struct{ *pulumi.OutputState } + +func (StudioIdcUserAssignmentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**StudioIdcUserAssignment)(nil)).Elem() +} + +func (o StudioIdcUserAssignmentPtrOutput) ToStudioIdcUserAssignmentPtrOutput() StudioIdcUserAssignmentPtrOutput { + return o +} + +func (o StudioIdcUserAssignmentPtrOutput) ToStudioIdcUserAssignmentPtrOutputWithContext(ctx context.Context) StudioIdcUserAssignmentPtrOutput { + return o +} + +func (o StudioIdcUserAssignmentPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*StudioIdcUserAssignment] { + return pulumix.Output[*StudioIdcUserAssignment]{ + OutputState: o.OutputState, + } +} + +func (o StudioIdcUserAssignmentPtrOutput) Elem() StudioIdcUserAssignmentOutput { + return o.ApplyT(func(v *StudioIdcUserAssignment) StudioIdcUserAssignment { + if v != nil { + return *v + } + var ret StudioIdcUserAssignment + return ret + }).(StudioIdcUserAssignmentOutput) +} + +func (o StudioIdcUserAssignmentPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o StudioIdcUserAssignmentPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *StudioIdcUserAssignment) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// StudioIdcUserAssignmentInput is an input type that accepts StudioIdcUserAssignmentArgs and StudioIdcUserAssignmentOutput values. +// You can construct a concrete instance of `StudioIdcUserAssignmentInput` via: +// +// StudioIdcUserAssignmentArgs{...} +type StudioIdcUserAssignmentInput interface { + pulumi.Input + + ToStudioIdcUserAssignmentOutput() StudioIdcUserAssignmentOutput + ToStudioIdcUserAssignmentOutputWithContext(context.Context) StudioIdcUserAssignmentOutput +} + +var studioIdcUserAssignmentPtrType = reflect.TypeOf((**StudioIdcUserAssignment)(nil)).Elem() + +type StudioIdcUserAssignmentPtrInput interface { + pulumi.Input + + ToStudioIdcUserAssignmentPtrOutput() StudioIdcUserAssignmentPtrOutput + ToStudioIdcUserAssignmentPtrOutputWithContext(context.Context) StudioIdcUserAssignmentPtrOutput +} + +type studioIdcUserAssignmentPtr string + +func StudioIdcUserAssignmentPtr(v string) StudioIdcUserAssignmentPtrInput { + return (*studioIdcUserAssignmentPtr)(&v) +} + +func (*studioIdcUserAssignmentPtr) ElementType() reflect.Type { + return studioIdcUserAssignmentPtrType +} + +func (in *studioIdcUserAssignmentPtr) ToStudioIdcUserAssignmentPtrOutput() StudioIdcUserAssignmentPtrOutput { + return pulumi.ToOutput(in).(StudioIdcUserAssignmentPtrOutput) +} + +func (in *studioIdcUserAssignmentPtr) ToStudioIdcUserAssignmentPtrOutputWithContext(ctx context.Context) StudioIdcUserAssignmentPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(StudioIdcUserAssignmentPtrOutput) +} + +func (in *studioIdcUserAssignmentPtr) ToOutput(ctx context.Context) pulumix.Output[*StudioIdcUserAssignment] { + return pulumix.Output[*StudioIdcUserAssignment]{ + OutputState: in.ToStudioIdcUserAssignmentPtrOutputWithContext(ctx).OutputState, + } +} + // Specifies whether the identity to map to the Studio is a user or a group. type StudioSessionMappingIdentityType string @@ -380,10 +563,14 @@ func (in *studioSessionMappingIdentityTypePtr) ToOutput(ctx context.Context) pul func init() { pulumi.RegisterInputType(reflect.TypeOf((*StudioAuthModeInput)(nil)).Elem(), StudioAuthMode("SSO")) pulumi.RegisterInputType(reflect.TypeOf((*StudioAuthModePtrInput)(nil)).Elem(), StudioAuthMode("SSO")) + pulumi.RegisterInputType(reflect.TypeOf((*StudioIdcUserAssignmentInput)(nil)).Elem(), StudioIdcUserAssignment("REQUIRED")) + pulumi.RegisterInputType(reflect.TypeOf((*StudioIdcUserAssignmentPtrInput)(nil)).Elem(), StudioIdcUserAssignment("REQUIRED")) pulumi.RegisterInputType(reflect.TypeOf((*StudioSessionMappingIdentityTypeInput)(nil)).Elem(), StudioSessionMappingIdentityType("USER")) pulumi.RegisterInputType(reflect.TypeOf((*StudioSessionMappingIdentityTypePtrInput)(nil)).Elem(), StudioSessionMappingIdentityType("USER")) pulumi.RegisterOutputType(StudioAuthModeOutput{}) pulumi.RegisterOutputType(StudioAuthModePtrOutput{}) + pulumi.RegisterOutputType(StudioIdcUserAssignmentOutput{}) + pulumi.RegisterOutputType(StudioIdcUserAssignmentPtrOutput{}) pulumi.RegisterOutputType(StudioSessionMappingIdentityTypeOutput{}) pulumi.RegisterOutputType(StudioSessionMappingIdentityTypePtrOutput{}) } diff --git a/sdk/go/aws/emr/studio.go b/sdk/go/aws/emr/studio.go index cd59ac2d5c..062e626ba6 100644 --- a/sdk/go/aws/emr/studio.go +++ b/sdk/go/aws/emr/studio.go @@ -25,8 +25,14 @@ type Studio struct { DefaultS3Location pulumi.StringOutput `pulumi:"defaultS3Location"` // A detailed description of the Studio. Description pulumi.StringPtrOutput `pulumi:"description"` + // The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + EncryptionKeyArn pulumi.StringPtrOutput `pulumi:"encryptionKeyArn"` // 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. EngineSecurityGroupId pulumi.StringOutput `pulumi:"engineSecurityGroupId"` + // The ARN of the IAM Identity Center instance to create the Studio application. + IdcInstanceArn pulumi.StringPtrOutput `pulumi:"idcInstanceArn"` + // 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. + IdcUserAssignment StudioIdcUserAssignmentPtrOutput `pulumi:"idcUserAssignment"` // 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. IdpAuthUrl pulumi.StringPtrOutput `pulumi:"idpAuthUrl"` // The name of relay state parameter for external Identity Provider. @@ -41,6 +47,8 @@ type Studio struct { SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` // 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. Tags StudioTagArrayOutput `pulumi:"tags"` + // A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + TrustedIdentityPropagationEnabled pulumi.BoolPtrOutput `pulumi:"trustedIdentityPropagationEnabled"` // The unique Studio access URL. Url pulumi.StringOutput `pulumi:"url"` // 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. @@ -81,8 +89,12 @@ func NewStudio(ctx *pulumi.Context, } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ "authMode", + "encryptionKeyArn", "engineSecurityGroupId", + "idcInstanceArn", + "idcUserAssignment", "serviceRole", + "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId", @@ -127,8 +139,14 @@ type studioArgs struct { DefaultS3Location string `pulumi:"defaultS3Location"` // A detailed description of the Studio. Description *string `pulumi:"description"` + // The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + EncryptionKeyArn *string `pulumi:"encryptionKeyArn"` // 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. EngineSecurityGroupId string `pulumi:"engineSecurityGroupId"` + // The ARN of the IAM Identity Center instance to create the Studio application. + IdcInstanceArn *string `pulumi:"idcInstanceArn"` + // 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. + IdcUserAssignment *StudioIdcUserAssignment `pulumi:"idcUserAssignment"` // 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. IdpAuthUrl *string `pulumi:"idpAuthUrl"` // The name of relay state parameter for external Identity Provider. @@ -141,6 +159,8 @@ type studioArgs struct { SubnetIds []string `pulumi:"subnetIds"` // 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. Tags []StudioTag `pulumi:"tags"` + // A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + TrustedIdentityPropagationEnabled *bool `pulumi:"trustedIdentityPropagationEnabled"` // 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. UserRole *string `pulumi:"userRole"` // The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. @@ -157,8 +177,14 @@ type StudioArgs struct { DefaultS3Location pulumi.StringInput // A detailed description of the Studio. Description pulumi.StringPtrInput + // The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + EncryptionKeyArn pulumi.StringPtrInput // 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. EngineSecurityGroupId pulumi.StringInput + // The ARN of the IAM Identity Center instance to create the Studio application. + IdcInstanceArn pulumi.StringPtrInput + // 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. + IdcUserAssignment StudioIdcUserAssignmentPtrInput // 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. IdpAuthUrl pulumi.StringPtrInput // The name of relay state parameter for external Identity Provider. @@ -171,6 +197,8 @@ type StudioArgs struct { SubnetIds pulumi.StringArrayInput // 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. Tags StudioTagArrayInput + // A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + TrustedIdentityPropagationEnabled pulumi.BoolPtrInput // 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. UserRole pulumi.StringPtrInput // The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. @@ -248,11 +276,26 @@ func (o StudioOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Studio) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. +func (o StudioOutput) EncryptionKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Studio) pulumi.StringPtrOutput { return v.EncryptionKeyArn }).(pulumi.StringPtrOutput) +} + // 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. func (o StudioOutput) EngineSecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.EngineSecurityGroupId }).(pulumi.StringOutput) } +// The ARN of the IAM Identity Center instance to create the Studio application. +func (o StudioOutput) IdcInstanceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Studio) pulumi.StringPtrOutput { return v.IdcInstanceArn }).(pulumi.StringPtrOutput) +} + +// 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. +func (o StudioOutput) IdcUserAssignment() StudioIdcUserAssignmentPtrOutput { + return o.ApplyT(func(v *Studio) StudioIdcUserAssignmentPtrOutput { return v.IdcUserAssignment }).(StudioIdcUserAssignmentPtrOutput) +} + // 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. func (o StudioOutput) IdpAuthUrl() pulumi.StringPtrOutput { return o.ApplyT(func(v *Studio) pulumi.StringPtrOutput { return v.IdpAuthUrl }).(pulumi.StringPtrOutput) @@ -288,6 +331,11 @@ func (o StudioOutput) Tags() StudioTagArrayOutput { return o.ApplyT(func(v *Studio) StudioTagArrayOutput { return v.Tags }).(StudioTagArrayOutput) } +// A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. +func (o StudioOutput) TrustedIdentityPropagationEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Studio) pulumi.BoolPtrOutput { return v.TrustedIdentityPropagationEnabled }).(pulumi.BoolPtrOutput) +} + // The unique Studio access URL. func (o StudioOutput) Url() pulumi.StringOutput { return o.ApplyT(func(v *Studio) pulumi.StringOutput { return v.Url }).(pulumi.StringOutput) diff --git a/sdk/go/aws/eventschemas/discoverer.go b/sdk/go/aws/eventschemas/discoverer.go index fe5c502719..d8c16cdf26 100644 --- a/sdk/go/aws/eventschemas/discoverer.go +++ b/sdk/go/aws/eventschemas/discoverer.go @@ -14,17 +14,23 @@ import ( ) // Resource Type definition for AWS::EventSchemas::Discoverer -// -// Deprecated: Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type Discoverer struct { pulumi.CustomResourceState - CrossAccount pulumi.BoolPtrOutput `pulumi:"crossAccount"` - Description pulumi.StringPtrOutput `pulumi:"description"` - DiscovererArn pulumi.StringOutput `pulumi:"discovererArn"` - DiscovererId pulumi.StringOutput `pulumi:"discovererId"` - SourceArn pulumi.StringOutput `pulumi:"sourceArn"` - Tags DiscovererTagsEntryArrayOutput `pulumi:"tags"` + // Defines whether event schemas from other accounts are discovered. Default is True. + CrossAccount pulumi.BoolPtrOutput `pulumi:"crossAccount"` + // A description for the discoverer. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The ARN of the discoverer. + DiscovererArn pulumi.StringOutput `pulumi:"discovererArn"` + // The Id of the discoverer. + DiscovererId pulumi.StringOutput `pulumi:"discovererId"` + // The ARN of the event bus. + SourceArn pulumi.StringOutput `pulumi:"sourceArn"` + // Defines the current state of the discoverer. + State pulumi.StringOutput `pulumi:"state"` + // Tags associated with the resource. + Tags DiscovererTagsEntryArrayOutput `pulumi:"tags"` } // NewDiscoverer registers a new resource with the given unique name, arguments, and options. @@ -74,18 +80,26 @@ func (DiscovererState) ElementType() reflect.Type { } type discovererArgs struct { - CrossAccount *bool `pulumi:"crossAccount"` - Description *string `pulumi:"description"` - SourceArn string `pulumi:"sourceArn"` - Tags []DiscovererTagsEntry `pulumi:"tags"` + // Defines whether event schemas from other accounts are discovered. Default is True. + CrossAccount *bool `pulumi:"crossAccount"` + // A description for the discoverer. + Description *string `pulumi:"description"` + // The ARN of the event bus. + SourceArn string `pulumi:"sourceArn"` + // Tags associated with the resource. + Tags []DiscovererTagsEntry `pulumi:"tags"` } // The set of arguments for constructing a Discoverer resource. type DiscovererArgs struct { + // Defines whether event schemas from other accounts are discovered. Default is True. CrossAccount pulumi.BoolPtrInput - Description pulumi.StringPtrInput - SourceArn pulumi.StringInput - Tags DiscovererTagsEntryArrayInput + // A description for the discoverer. + Description pulumi.StringPtrInput + // The ARN of the event bus. + SourceArn pulumi.StringInput + // Tags associated with the resource. + Tags DiscovererTagsEntryArrayInput } func (DiscovererArgs) ElementType() reflect.Type { @@ -137,26 +151,37 @@ func (o DiscovererOutput) ToOutput(ctx context.Context) pulumix.Output[*Discover } } +// Defines whether event schemas from other accounts are discovered. Default is True. func (o DiscovererOutput) CrossAccount() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Discoverer) pulumi.BoolPtrOutput { return v.CrossAccount }).(pulumi.BoolPtrOutput) } +// A description for the discoverer. func (o DiscovererOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Discoverer) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The ARN of the discoverer. func (o DiscovererOutput) DiscovererArn() pulumi.StringOutput { return o.ApplyT(func(v *Discoverer) pulumi.StringOutput { return v.DiscovererArn }).(pulumi.StringOutput) } +// The Id of the discoverer. func (o DiscovererOutput) DiscovererId() pulumi.StringOutput { return o.ApplyT(func(v *Discoverer) pulumi.StringOutput { return v.DiscovererId }).(pulumi.StringOutput) } +// The ARN of the event bus. func (o DiscovererOutput) SourceArn() pulumi.StringOutput { return o.ApplyT(func(v *Discoverer) pulumi.StringOutput { return v.SourceArn }).(pulumi.StringOutput) } +// Defines the current state of the discoverer. +func (o DiscovererOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v *Discoverer) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) +} + +// Tags associated with the resource. func (o DiscovererOutput) Tags() DiscovererTagsEntryArrayOutput { return o.ApplyT(func(v *Discoverer) DiscovererTagsEntryArrayOutput { return v.Tags }).(DiscovererTagsEntryArrayOutput) } diff --git a/sdk/go/aws/eventschemas/getDiscoverer.go b/sdk/go/aws/eventschemas/getDiscoverer.go index 03844cd281..d577f790bd 100644 --- a/sdk/go/aws/eventschemas/getDiscoverer.go +++ b/sdk/go/aws/eventschemas/getDiscoverer.go @@ -24,15 +24,23 @@ func LookupDiscoverer(ctx *pulumi.Context, args *LookupDiscovererArgs, opts ...p } type LookupDiscovererArgs struct { - DiscovererId string `pulumi:"discovererId"` + // The ARN of the discoverer. + DiscovererArn string `pulumi:"discovererArn"` } type LookupDiscovererResult struct { - CrossAccount *bool `pulumi:"crossAccount"` - Description *string `pulumi:"description"` - DiscovererArn *string `pulumi:"discovererArn"` - DiscovererId *string `pulumi:"discovererId"` - Tags []DiscovererTagsEntry `pulumi:"tags"` + // Defines whether event schemas from other accounts are discovered. Default is True. + CrossAccount *bool `pulumi:"crossAccount"` + // A description for the discoverer. + Description *string `pulumi:"description"` + // The ARN of the discoverer. + DiscovererArn *string `pulumi:"discovererArn"` + // The Id of the discoverer. + DiscovererId *string `pulumi:"discovererId"` + // Defines the current state of the discoverer. + State *string `pulumi:"state"` + // Tags associated with the resource. + Tags []DiscovererTagsEntry `pulumi:"tags"` } func LookupDiscovererOutput(ctx *pulumi.Context, args LookupDiscovererOutputArgs, opts ...pulumi.InvokeOption) LookupDiscovererResultOutput { @@ -49,7 +57,8 @@ func LookupDiscovererOutput(ctx *pulumi.Context, args LookupDiscovererOutputArgs } type LookupDiscovererOutputArgs struct { - DiscovererId pulumi.StringInput `pulumi:"discovererId"` + // The ARN of the discoverer. + DiscovererArn pulumi.StringInput `pulumi:"discovererArn"` } func (LookupDiscovererOutputArgs) ElementType() reflect.Type { @@ -76,22 +85,32 @@ func (o LookupDiscovererResultOutput) ToOutput(ctx context.Context) pulumix.Outp } } +// Defines whether event schemas from other accounts are discovered. Default is True. func (o LookupDiscovererResultOutput) CrossAccount() pulumi.BoolPtrOutput { return o.ApplyT(func(v LookupDiscovererResult) *bool { return v.CrossAccount }).(pulumi.BoolPtrOutput) } +// A description for the discoverer. func (o LookupDiscovererResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDiscovererResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +// The ARN of the discoverer. func (o LookupDiscovererResultOutput) DiscovererArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDiscovererResult) *string { return v.DiscovererArn }).(pulumi.StringPtrOutput) } +// The Id of the discoverer. func (o LookupDiscovererResultOutput) DiscovererId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDiscovererResult) *string { return v.DiscovererId }).(pulumi.StringPtrOutput) } +// Defines the current state of the discoverer. +func (o LookupDiscovererResultOutput) State() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDiscovererResult) *string { return v.State }).(pulumi.StringPtrOutput) +} + +// Tags associated with the resource. func (o LookupDiscovererResultOutput) Tags() DiscovererTagsEntryArrayOutput { return o.ApplyT(func(v LookupDiscovererResult) []DiscovererTagsEntry { return v.Tags }).(DiscovererTagsEntryArrayOutput) } diff --git a/sdk/go/aws/eventschemas/getRegistry.go b/sdk/go/aws/eventschemas/getRegistry.go index e9321bb336..c07a42b838 100644 --- a/sdk/go/aws/eventschemas/getRegistry.go +++ b/sdk/go/aws/eventschemas/getRegistry.go @@ -24,14 +24,17 @@ func LookupRegistry(ctx *pulumi.Context, args *LookupRegistryArgs, opts ...pulum } type LookupRegistryArgs struct { - Id string `pulumi:"id"` + // The ARN of the registry. + RegistryArn string `pulumi:"registryArn"` } type LookupRegistryResult struct { - Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - RegistryArn *string `pulumi:"registryArn"` - Tags []RegistryTagsEntry `pulumi:"tags"` + // A description of the registry to be created. + Description *string `pulumi:"description"` + // The ARN of the registry. + RegistryArn *string `pulumi:"registryArn"` + // Tags associated with the resource. + Tags []RegistryTagsEntry `pulumi:"tags"` } func LookupRegistryOutput(ctx *pulumi.Context, args LookupRegistryOutputArgs, opts ...pulumi.InvokeOption) LookupRegistryResultOutput { @@ -48,7 +51,8 @@ func LookupRegistryOutput(ctx *pulumi.Context, args LookupRegistryOutputArgs, op } type LookupRegistryOutputArgs struct { - Id pulumi.StringInput `pulumi:"id"` + // The ARN of the registry. + RegistryArn pulumi.StringInput `pulumi:"registryArn"` } func (LookupRegistryOutputArgs) ElementType() reflect.Type { @@ -75,18 +79,17 @@ func (o LookupRegistryResultOutput) ToOutput(ctx context.Context) pulumix.Output } } +// A description of the registry to be created. func (o LookupRegistryResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupRegistryResult) *string { return v.Description }).(pulumi.StringPtrOutput) } -func (o LookupRegistryResultOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupRegistryResult) *string { return v.Id }).(pulumi.StringPtrOutput) -} - +// The ARN of the registry. func (o LookupRegistryResultOutput) RegistryArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupRegistryResult) *string { return v.RegistryArn }).(pulumi.StringPtrOutput) } +// Tags associated with the resource. func (o LookupRegistryResultOutput) Tags() RegistryTagsEntryArrayOutput { return o.ApplyT(func(v LookupRegistryResult) []RegistryTagsEntry { return v.Tags }).(RegistryTagsEntryArrayOutput) } diff --git a/sdk/go/aws/eventschemas/registry.go b/sdk/go/aws/eventschemas/registry.go index 6e8980a648..444988f659 100644 --- a/sdk/go/aws/eventschemas/registry.go +++ b/sdk/go/aws/eventschemas/registry.go @@ -13,15 +13,17 @@ import ( ) // Resource Type definition for AWS::EventSchemas::Registry -// -// Deprecated: Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. type Registry struct { pulumi.CustomResourceState - Description pulumi.StringPtrOutput `pulumi:"description"` - RegistryArn pulumi.StringOutput `pulumi:"registryArn"` - RegistryName pulumi.StringPtrOutput `pulumi:"registryName"` - Tags RegistryTagsEntryArrayOutput `pulumi:"tags"` + // A description of the registry to be created. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The ARN of the registry. + RegistryArn pulumi.StringOutput `pulumi:"registryArn"` + // The name of the schema registry. + RegistryName pulumi.StringPtrOutput `pulumi:"registryName"` + // Tags associated with the resource. + Tags RegistryTagsEntryArrayOutput `pulumi:"tags"` } // NewRegistry registers a new resource with the given unique name, arguments, and options. @@ -68,16 +70,22 @@ func (RegistryState) ElementType() reflect.Type { } type registryArgs struct { - Description *string `pulumi:"description"` - RegistryName *string `pulumi:"registryName"` - Tags []RegistryTagsEntry `pulumi:"tags"` + // A description of the registry to be created. + Description *string `pulumi:"description"` + // The name of the schema registry. + RegistryName *string `pulumi:"registryName"` + // Tags associated with the resource. + Tags []RegistryTagsEntry `pulumi:"tags"` } // The set of arguments for constructing a Registry resource. type RegistryArgs struct { - Description pulumi.StringPtrInput + // A description of the registry to be created. + Description pulumi.StringPtrInput + // The name of the schema registry. RegistryName pulumi.StringPtrInput - Tags RegistryTagsEntryArrayInput + // Tags associated with the resource. + Tags RegistryTagsEntryArrayInput } func (RegistryArgs) ElementType() reflect.Type { @@ -129,18 +137,22 @@ func (o RegistryOutput) ToOutput(ctx context.Context) pulumix.Output[*Registry] } } +// A description of the registry to be created. func (o RegistryOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Registry) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The ARN of the registry. func (o RegistryOutput) RegistryArn() pulumi.StringOutput { return o.ApplyT(func(v *Registry) pulumi.StringOutput { return v.RegistryArn }).(pulumi.StringOutput) } +// The name of the schema registry. func (o RegistryOutput) RegistryName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Registry) pulumi.StringPtrOutput { return v.RegistryName }).(pulumi.StringPtrOutput) } +// Tags associated with the resource. func (o RegistryOutput) Tags() RegistryTagsEntryArrayOutput { return o.ApplyT(func(v *Registry) RegistryTagsEntryArrayOutput { return v.Tags }).(RegistryTagsEntryArrayOutput) } diff --git a/sdk/go/aws/fis/experimentTemplate.go b/sdk/go/aws/fis/experimentTemplate.go index b9aa2a9694..ecc28d1225 100644 --- a/sdk/go/aws/fis/experimentTemplate.go +++ b/sdk/go/aws/fis/experimentTemplate.go @@ -17,13 +17,14 @@ import ( type ExperimentTemplate struct { pulumi.CustomResourceState - Actions ExperimentTemplateActionMapPtrOutput `pulumi:"actions"` - Description pulumi.StringOutput `pulumi:"description"` - LogConfiguration ExperimentTemplateLogConfigurationPtrOutput `pulumi:"logConfiguration"` - RoleArn pulumi.StringOutput `pulumi:"roleArn"` - StopConditions ExperimentTemplateStopConditionArrayOutput `pulumi:"stopConditions"` - Tags pulumi.AnyOutput `pulumi:"tags"` - Targets ExperimentTemplateTargetMapOutput `pulumi:"targets"` + Actions ExperimentTemplateActionMapPtrOutput `pulumi:"actions"` + Description pulumi.StringOutput `pulumi:"description"` + ExperimentOptions ExperimentTemplateExperimentOptionsPtrOutput `pulumi:"experimentOptions"` + LogConfiguration ExperimentTemplateLogConfigurationPtrOutput `pulumi:"logConfiguration"` + RoleArn pulumi.StringOutput `pulumi:"roleArn"` + StopConditions ExperimentTemplateStopConditionArrayOutput `pulumi:"stopConditions"` + Tags pulumi.AnyOutput `pulumi:"tags"` + Targets ExperimentTemplateTargetMapOutput `pulumi:"targets"` } // NewExperimentTemplate registers a new resource with the given unique name, arguments, and options. @@ -85,24 +86,26 @@ func (ExperimentTemplateState) ElementType() reflect.Type { } type experimentTemplateArgs struct { - Actions *ExperimentTemplateActionMap `pulumi:"actions"` - Description string `pulumi:"description"` - LogConfiguration *ExperimentTemplateLogConfiguration `pulumi:"logConfiguration"` - RoleArn string `pulumi:"roleArn"` - StopConditions []ExperimentTemplateStopCondition `pulumi:"stopConditions"` - Tags interface{} `pulumi:"tags"` - Targets ExperimentTemplateTargetMap `pulumi:"targets"` + Actions *ExperimentTemplateActionMap `pulumi:"actions"` + Description string `pulumi:"description"` + ExperimentOptions *ExperimentTemplateExperimentOptions `pulumi:"experimentOptions"` + LogConfiguration *ExperimentTemplateLogConfiguration `pulumi:"logConfiguration"` + RoleArn string `pulumi:"roleArn"` + StopConditions []ExperimentTemplateStopCondition `pulumi:"stopConditions"` + Tags interface{} `pulumi:"tags"` + Targets ExperimentTemplateTargetMap `pulumi:"targets"` } // The set of arguments for constructing a ExperimentTemplate resource. type ExperimentTemplateArgs struct { - Actions ExperimentTemplateActionMapPtrInput - Description pulumi.StringInput - LogConfiguration ExperimentTemplateLogConfigurationPtrInput - RoleArn pulumi.StringInput - StopConditions ExperimentTemplateStopConditionArrayInput - Tags pulumi.Input - Targets ExperimentTemplateTargetMapInput + Actions ExperimentTemplateActionMapPtrInput + Description pulumi.StringInput + ExperimentOptions ExperimentTemplateExperimentOptionsPtrInput + LogConfiguration ExperimentTemplateLogConfigurationPtrInput + RoleArn pulumi.StringInput + StopConditions ExperimentTemplateStopConditionArrayInput + Tags pulumi.Input + Targets ExperimentTemplateTargetMapInput } func (ExperimentTemplateArgs) ElementType() reflect.Type { @@ -162,6 +165,10 @@ func (o ExperimentTemplateOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *ExperimentTemplate) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } +func (o ExperimentTemplateOutput) ExperimentOptions() ExperimentTemplateExperimentOptionsPtrOutput { + return o.ApplyT(func(v *ExperimentTemplate) ExperimentTemplateExperimentOptionsPtrOutput { return v.ExperimentOptions }).(ExperimentTemplateExperimentOptionsPtrOutput) +} + func (o ExperimentTemplateOutput) LogConfiguration() ExperimentTemplateLogConfigurationPtrOutput { return o.ApplyT(func(v *ExperimentTemplate) ExperimentTemplateLogConfigurationPtrOutput { return v.LogConfiguration }).(ExperimentTemplateLogConfigurationPtrOutput) } diff --git a/sdk/go/aws/fis/getExperimentTemplate.go b/sdk/go/aws/fis/getExperimentTemplate.go index 6710b6f598..3b118d124f 100644 --- a/sdk/go/aws/fis/getExperimentTemplate.go +++ b/sdk/go/aws/fis/getExperimentTemplate.go @@ -28,13 +28,14 @@ type LookupExperimentTemplateArgs struct { } type LookupExperimentTemplateResult struct { - Actions *ExperimentTemplateActionMap `pulumi:"actions"` - Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - LogConfiguration *ExperimentTemplateLogConfiguration `pulumi:"logConfiguration"` - RoleArn *string `pulumi:"roleArn"` - StopConditions []ExperimentTemplateStopCondition `pulumi:"stopConditions"` - Targets *ExperimentTemplateTargetMap `pulumi:"targets"` + Actions *ExperimentTemplateActionMap `pulumi:"actions"` + Description *string `pulumi:"description"` + ExperimentOptions *ExperimentTemplateExperimentOptions `pulumi:"experimentOptions"` + Id *string `pulumi:"id"` + LogConfiguration *ExperimentTemplateLogConfiguration `pulumi:"logConfiguration"` + RoleArn *string `pulumi:"roleArn"` + StopConditions []ExperimentTemplateStopCondition `pulumi:"stopConditions"` + Targets *ExperimentTemplateTargetMap `pulumi:"targets"` } func LookupExperimentTemplateOutput(ctx *pulumi.Context, args LookupExperimentTemplateOutputArgs, opts ...pulumi.InvokeOption) LookupExperimentTemplateResultOutput { @@ -86,6 +87,12 @@ func (o LookupExperimentTemplateResultOutput) Description() pulumi.StringPtrOutp return o.ApplyT(func(v LookupExperimentTemplateResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +func (o LookupExperimentTemplateResultOutput) ExperimentOptions() ExperimentTemplateExperimentOptionsPtrOutput { + return o.ApplyT(func(v LookupExperimentTemplateResult) *ExperimentTemplateExperimentOptions { + return v.ExperimentOptions + }).(ExperimentTemplateExperimentOptionsPtrOutput) +} + func (o LookupExperimentTemplateResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupExperimentTemplateResult) *string { return v.Id }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/fis/getTargetAccountConfiguration.go b/sdk/go/aws/fis/getTargetAccountConfiguration.go new file mode 100644 index 0000000000..b604938620 --- /dev/null +++ b/sdk/go/aws/fis/getTargetAccountConfiguration.go @@ -0,0 +1,88 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package fis + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::FIS::TargetAccountConfiguration +func LookupTargetAccountConfiguration(ctx *pulumi.Context, args *LookupTargetAccountConfigurationArgs, opts ...pulumi.InvokeOption) (*LookupTargetAccountConfigurationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTargetAccountConfigurationResult + err := ctx.Invoke("aws-native:fis:getTargetAccountConfiguration", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupTargetAccountConfigurationArgs struct { + AccountId string `pulumi:"accountId"` + ExperimentTemplateId string `pulumi:"experimentTemplateId"` +} + +type LookupTargetAccountConfigurationResult struct { + Description *string `pulumi:"description"` + RoleArn *string `pulumi:"roleArn"` +} + +func LookupTargetAccountConfigurationOutput(ctx *pulumi.Context, args LookupTargetAccountConfigurationOutputArgs, opts ...pulumi.InvokeOption) LookupTargetAccountConfigurationResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupTargetAccountConfigurationResult, error) { + args := v.(LookupTargetAccountConfigurationArgs) + r, err := LookupTargetAccountConfiguration(ctx, &args, opts...) + var s LookupTargetAccountConfigurationResult + if r != nil { + s = *r + } + return s, err + }).(LookupTargetAccountConfigurationResultOutput) +} + +type LookupTargetAccountConfigurationOutputArgs struct { + AccountId pulumi.StringInput `pulumi:"accountId"` + ExperimentTemplateId pulumi.StringInput `pulumi:"experimentTemplateId"` +} + +func (LookupTargetAccountConfigurationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTargetAccountConfigurationArgs)(nil)).Elem() +} + +type LookupTargetAccountConfigurationResultOutput struct{ *pulumi.OutputState } + +func (LookupTargetAccountConfigurationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTargetAccountConfigurationResult)(nil)).Elem() +} + +func (o LookupTargetAccountConfigurationResultOutput) ToLookupTargetAccountConfigurationResultOutput() LookupTargetAccountConfigurationResultOutput { + return o +} + +func (o LookupTargetAccountConfigurationResultOutput) ToLookupTargetAccountConfigurationResultOutputWithContext(ctx context.Context) LookupTargetAccountConfigurationResultOutput { + return o +} + +func (o LookupTargetAccountConfigurationResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupTargetAccountConfigurationResult] { + return pulumix.Output[LookupTargetAccountConfigurationResult]{ + OutputState: o.OutputState, + } +} + +func (o LookupTargetAccountConfigurationResultOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupTargetAccountConfigurationResult) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o LookupTargetAccountConfigurationResultOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupTargetAccountConfigurationResult) *string { return v.RoleArn }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTargetAccountConfigurationResultOutput{}) +} diff --git a/sdk/go/aws/fis/init.go b/sdk/go/aws/fis/init.go index 8e109efc8e..f37b6ee192 100644 --- a/sdk/go/aws/fis/init.go +++ b/sdk/go/aws/fis/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:fis:ExperimentTemplate": r = &ExperimentTemplate{} + case "aws-native:fis:TargetAccountConfiguration": + r = &TargetAccountConfiguration{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } diff --git a/sdk/go/aws/fis/pulumiEnums.go b/sdk/go/aws/fis/pulumiEnums.go new file mode 100644 index 0000000000..d3821ade16 --- /dev/null +++ b/sdk/go/aws/fis/pulumiEnums.go @@ -0,0 +1,389 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package fis + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// The account targeting setting for the experiment template. +type ExperimentTemplateExperimentOptionsAccountTargeting string + +const ( + ExperimentTemplateExperimentOptionsAccountTargetingMultiAccount = ExperimentTemplateExperimentOptionsAccountTargeting("multi-account") + ExperimentTemplateExperimentOptionsAccountTargetingSingleAccount = ExperimentTemplateExperimentOptionsAccountTargeting("single-account") +) + +func (ExperimentTemplateExperimentOptionsAccountTargeting) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptionsAccountTargeting)(nil)).Elem() +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToExperimentTemplateExperimentOptionsAccountTargetingOutput() ExperimentTemplateExperimentOptionsAccountTargetingOutput { + return pulumi.ToOutput(e).(ExperimentTemplateExperimentOptionsAccountTargetingOutput) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToExperimentTemplateExperimentOptionsAccountTargetingOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingOutput { + return pulumi.ToOutputWithContext(ctx, e).(ExperimentTemplateExperimentOptionsAccountTargetingOutput) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutput() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return e.ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(context.Background()) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return ExperimentTemplateExperimentOptionsAccountTargeting(e).ToExperimentTemplateExperimentOptionsAccountTargetingOutputWithContext(ctx).ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ExperimentTemplateExperimentOptionsAccountTargeting) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ExperimentTemplateExperimentOptionsAccountTargetingOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsAccountTargetingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptionsAccountTargeting)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToExperimentTemplateExperimentOptionsAccountTargetingOutput() ExperimentTemplateExperimentOptionsAccountTargetingOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToExperimentTemplateExperimentOptionsAccountTargetingOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutput() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o.ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExperimentTemplateExperimentOptionsAccountTargeting) *ExperimentTemplateExperimentOptionsAccountTargeting { + return &v + }).(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToOutput(ctx context.Context) pulumix.Output[ExperimentTemplateExperimentOptionsAccountTargeting] { + return pulumix.Output[ExperimentTemplateExperimentOptionsAccountTargeting]{ + OutputState: o.OutputState, + } +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ExperimentTemplateExperimentOptionsAccountTargeting) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ExperimentTemplateExperimentOptionsAccountTargeting) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExperimentTemplateExperimentOptionsAccountTargeting)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutput() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptionsAccountTargeting] { + return pulumix.Output[*ExperimentTemplateExperimentOptionsAccountTargeting]{ + OutputState: o.OutputState, + } +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) Elem() ExperimentTemplateExperimentOptionsAccountTargetingOutput { + return o.ApplyT(func(v *ExperimentTemplateExperimentOptionsAccountTargeting) ExperimentTemplateExperimentOptionsAccountTargeting { + if v != nil { + return *v + } + var ret ExperimentTemplateExperimentOptionsAccountTargeting + return ret + }).(ExperimentTemplateExperimentOptionsAccountTargetingOutput) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ExperimentTemplateExperimentOptionsAccountTargeting) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ExperimentTemplateExperimentOptionsAccountTargetingInput is an input type that accepts ExperimentTemplateExperimentOptionsAccountTargetingArgs and ExperimentTemplateExperimentOptionsAccountTargetingOutput values. +// You can construct a concrete instance of `ExperimentTemplateExperimentOptionsAccountTargetingInput` via: +// +// ExperimentTemplateExperimentOptionsAccountTargetingArgs{...} +type ExperimentTemplateExperimentOptionsAccountTargetingInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsAccountTargetingOutput() ExperimentTemplateExperimentOptionsAccountTargetingOutput + ToExperimentTemplateExperimentOptionsAccountTargetingOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsAccountTargetingOutput +} + +var experimentTemplateExperimentOptionsAccountTargetingPtrType = reflect.TypeOf((**ExperimentTemplateExperimentOptionsAccountTargeting)(nil)).Elem() + +type ExperimentTemplateExperimentOptionsAccountTargetingPtrInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutput() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput + ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput +} + +type experimentTemplateExperimentOptionsAccountTargetingPtr string + +func ExperimentTemplateExperimentOptionsAccountTargetingPtr(v string) ExperimentTemplateExperimentOptionsAccountTargetingPtrInput { + return (*experimentTemplateExperimentOptionsAccountTargetingPtr)(&v) +} + +func (*experimentTemplateExperimentOptionsAccountTargetingPtr) ElementType() reflect.Type { + return experimentTemplateExperimentOptionsAccountTargetingPtrType +} + +func (in *experimentTemplateExperimentOptionsAccountTargetingPtr) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutput() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return pulumi.ToOutput(in).(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) +} + +func (in *experimentTemplateExperimentOptionsAccountTargetingPtr) ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) +} + +func (in *experimentTemplateExperimentOptionsAccountTargetingPtr) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptionsAccountTargeting] { + return pulumix.Output[*ExperimentTemplateExperimentOptionsAccountTargeting]{ + OutputState: in.ToExperimentTemplateExperimentOptionsAccountTargetingPtrOutputWithContext(ctx).OutputState, + } +} + +// The target resolution failure mode for the experiment template. +type ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode string + +const ( + ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeFail = ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("fail") + ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeSkip = ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("skip") +) + +func (ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode)(nil)).Elem() +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput { + return pulumi.ToOutput(e).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return e.ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(context.Background()) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode(e).ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutputWithContext(ctx).ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o.ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode { + return &v + }).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToOutput(ctx context.Context) pulumix.Output[ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode] { + return pulumix.Output[ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode]{ + OutputState: o.OutputState, + } +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode] { + return pulumix.Output[*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode]{ + OutputState: o.OutputState, + } +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) Elem() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput { + return o.ApplyT(func(v *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode { + if v != nil { + return *v + } + var ret ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode + return ret + }).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeInput is an input type that accepts ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeArgs and ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput values. +// You can construct a concrete instance of `ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeInput` via: +// +// ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeArgs{...} +type ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput + ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput +} + +var experimentTemplateExperimentOptionsEmptyTargetResolutionModePtrType = reflect.TypeOf((**ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode)(nil)).Elem() + +type ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput + ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput +} + +type experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr string + +func ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtr(v string) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrInput { + return (*experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr)(&v) +} + +func (*experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr) ElementType() reflect.Type { + return experimentTemplateExperimentOptionsEmptyTargetResolutionModePtrType +} + +func (in *experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return pulumi.ToOutput(in).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) +} + +func (in *experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr) ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) +} + +func (in *experimentTemplateExperimentOptionsEmptyTargetResolutionModePtr) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode] { + return pulumix.Output[*ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode]{ + OutputState: in.ToExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutputWithContext(ctx).OutputState, + } +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsAccountTargetingInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsAccountTargeting("multi-account")) + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsAccountTargetingPtrInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsAccountTargeting("multi-account")) + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("fail")) + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode("fail")) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsAccountTargetingOutput{}) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput{}) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModeOutput{}) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput{}) +} diff --git a/sdk/go/aws/fis/pulumiTypes.go b/sdk/go/aws/fis/pulumiTypes.go index dc4a88fde0..80d46daa51 100644 --- a/sdk/go/aws/fis/pulumiTypes.go +++ b/sdk/go/aws/fis/pulumiTypes.go @@ -159,6 +159,190 @@ func (o ExperimentTemplateActionMapPtrOutput) Elem() ExperimentTemplateActionMap }).(ExperimentTemplateActionMapOutput) } +type ExperimentTemplateExperimentOptions struct { + // The account targeting setting for the experiment template. + AccountTargeting *ExperimentTemplateExperimentOptionsAccountTargeting `pulumi:"accountTargeting"` + // The target resolution failure mode for the experiment template. + EmptyTargetResolutionMode *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode `pulumi:"emptyTargetResolutionMode"` +} + +// ExperimentTemplateExperimentOptionsInput is an input type that accepts ExperimentTemplateExperimentOptionsArgs and ExperimentTemplateExperimentOptionsOutput values. +// You can construct a concrete instance of `ExperimentTemplateExperimentOptionsInput` via: +// +// ExperimentTemplateExperimentOptionsArgs{...} +type ExperimentTemplateExperimentOptionsInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsOutput() ExperimentTemplateExperimentOptionsOutput + ToExperimentTemplateExperimentOptionsOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsOutput +} + +type ExperimentTemplateExperimentOptionsArgs struct { + // The account targeting setting for the experiment template. + AccountTargeting ExperimentTemplateExperimentOptionsAccountTargetingPtrInput `pulumi:"accountTargeting"` + // The target resolution failure mode for the experiment template. + EmptyTargetResolutionMode ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrInput `pulumi:"emptyTargetResolutionMode"` +} + +func (ExperimentTemplateExperimentOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptions)(nil)).Elem() +} + +func (i ExperimentTemplateExperimentOptionsArgs) ToExperimentTemplateExperimentOptionsOutput() ExperimentTemplateExperimentOptionsOutput { + return i.ToExperimentTemplateExperimentOptionsOutputWithContext(context.Background()) +} + +func (i ExperimentTemplateExperimentOptionsArgs) ToExperimentTemplateExperimentOptionsOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExperimentTemplateExperimentOptionsOutput) +} + +func (i ExperimentTemplateExperimentOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[ExperimentTemplateExperimentOptions] { + return pulumix.Output[ExperimentTemplateExperimentOptions]{ + OutputState: i.ToExperimentTemplateExperimentOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i ExperimentTemplateExperimentOptionsArgs) ToExperimentTemplateExperimentOptionsPtrOutput() ExperimentTemplateExperimentOptionsPtrOutput { + return i.ToExperimentTemplateExperimentOptionsPtrOutputWithContext(context.Background()) +} + +func (i ExperimentTemplateExperimentOptionsArgs) ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExperimentTemplateExperimentOptionsOutput).ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx) +} + +// ExperimentTemplateExperimentOptionsPtrInput is an input type that accepts ExperimentTemplateExperimentOptionsArgs, ExperimentTemplateExperimentOptionsPtr and ExperimentTemplateExperimentOptionsPtrOutput values. +// You can construct a concrete instance of `ExperimentTemplateExperimentOptionsPtrInput` via: +// +// ExperimentTemplateExperimentOptionsArgs{...} +// +// or: +// +// nil +type ExperimentTemplateExperimentOptionsPtrInput interface { + pulumi.Input + + ToExperimentTemplateExperimentOptionsPtrOutput() ExperimentTemplateExperimentOptionsPtrOutput + ToExperimentTemplateExperimentOptionsPtrOutputWithContext(context.Context) ExperimentTemplateExperimentOptionsPtrOutput +} + +type experimentTemplateExperimentOptionsPtrType ExperimentTemplateExperimentOptionsArgs + +func ExperimentTemplateExperimentOptionsPtr(v *ExperimentTemplateExperimentOptionsArgs) ExperimentTemplateExperimentOptionsPtrInput { + return (*experimentTemplateExperimentOptionsPtrType)(v) +} + +func (*experimentTemplateExperimentOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExperimentTemplateExperimentOptions)(nil)).Elem() +} + +func (i *experimentTemplateExperimentOptionsPtrType) ToExperimentTemplateExperimentOptionsPtrOutput() ExperimentTemplateExperimentOptionsPtrOutput { + return i.ToExperimentTemplateExperimentOptionsPtrOutputWithContext(context.Background()) +} + +func (i *experimentTemplateExperimentOptionsPtrType) ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExperimentTemplateExperimentOptionsPtrOutput) +} + +func (i *experimentTemplateExperimentOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptions] { + return pulumix.Output[*ExperimentTemplateExperimentOptions]{ + OutputState: i.ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type ExperimentTemplateExperimentOptionsOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExperimentTemplateExperimentOptions)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsOutput) ToExperimentTemplateExperimentOptionsOutput() ExperimentTemplateExperimentOptionsOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsOutput) ToExperimentTemplateExperimentOptionsOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsOutput) ToExperimentTemplateExperimentOptionsPtrOutput() ExperimentTemplateExperimentOptionsPtrOutput { + return o.ToExperimentTemplateExperimentOptionsPtrOutputWithContext(context.Background()) +} + +func (o ExperimentTemplateExperimentOptionsOutput) ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExperimentTemplateExperimentOptions) *ExperimentTemplateExperimentOptions { + return &v + }).(ExperimentTemplateExperimentOptionsPtrOutput) +} + +func (o ExperimentTemplateExperimentOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[ExperimentTemplateExperimentOptions] { + return pulumix.Output[ExperimentTemplateExperimentOptions]{ + OutputState: o.OutputState, + } +} + +// The account targeting setting for the experiment template. +func (o ExperimentTemplateExperimentOptionsOutput) AccountTargeting() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o.ApplyT(func(v ExperimentTemplateExperimentOptions) *ExperimentTemplateExperimentOptionsAccountTargeting { + return v.AccountTargeting + }).(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) +} + +// The target resolution failure mode for the experiment template. +func (o ExperimentTemplateExperimentOptionsOutput) EmptyTargetResolutionMode() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o.ApplyT(func(v ExperimentTemplateExperimentOptions) *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode { + return v.EmptyTargetResolutionMode + }).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) +} + +type ExperimentTemplateExperimentOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ExperimentTemplateExperimentOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExperimentTemplateExperimentOptions)(nil)).Elem() +} + +func (o ExperimentTemplateExperimentOptionsPtrOutput) ToExperimentTemplateExperimentOptionsPtrOutput() ExperimentTemplateExperimentOptionsPtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsPtrOutput) ToExperimentTemplateExperimentOptionsPtrOutputWithContext(ctx context.Context) ExperimentTemplateExperimentOptionsPtrOutput { + return o +} + +func (o ExperimentTemplateExperimentOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExperimentTemplateExperimentOptions] { + return pulumix.Output[*ExperimentTemplateExperimentOptions]{ + OutputState: o.OutputState, + } +} + +func (o ExperimentTemplateExperimentOptionsPtrOutput) Elem() ExperimentTemplateExperimentOptionsOutput { + return o.ApplyT(func(v *ExperimentTemplateExperimentOptions) ExperimentTemplateExperimentOptions { + if v != nil { + return *v + } + var ret ExperimentTemplateExperimentOptions + return ret + }).(ExperimentTemplateExperimentOptionsOutput) +} + +// The account targeting setting for the experiment template. +func (o ExperimentTemplateExperimentOptionsPtrOutput) AccountTargeting() ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput { + return o.ApplyT(func(v *ExperimentTemplateExperimentOptions) *ExperimentTemplateExperimentOptionsAccountTargeting { + if v == nil { + return nil + } + return v.AccountTargeting + }).(ExperimentTemplateExperimentOptionsAccountTargetingPtrOutput) +} + +// The target resolution failure mode for the experiment template. +func (o ExperimentTemplateExperimentOptionsPtrOutput) EmptyTargetResolutionMode() ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput { + return o.ApplyT(func(v *ExperimentTemplateExperimentOptions) *ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode { + if v == nil { + return nil + } + return v.EmptyTargetResolutionMode + }).(ExperimentTemplateExperimentOptionsEmptyTargetResolutionModePtrOutput) +} + type ExperimentTemplateLogConfiguration struct { CloudWatchLogsConfiguration *ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationProperties `pulumi:"cloudWatchLogsConfiguration"` LogSchemaVersion int `pulumi:"logSchemaVersion"` @@ -896,6 +1080,8 @@ func (o ExperimentTemplateTargetMapPtrOutput) Elem() ExperimentTemplateTargetMap func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateActionMapInput)(nil)).Elem(), ExperimentTemplateActionMapArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateActionMapPtrInput)(nil)).Elem(), ExperimentTemplateActionMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateExperimentOptionsPtrInput)(nil)).Elem(), ExperimentTemplateExperimentOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateLogConfigurationInput)(nil)).Elem(), ExperimentTemplateLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateLogConfigurationPtrInput)(nil)).Elem(), ExperimentTemplateLogConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationPropertiesInput)(nil)).Elem(), ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationPropertiesArgs{}) @@ -907,6 +1093,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ExperimentTemplateTargetMapInput)(nil)).Elem(), ExperimentTemplateTargetMapArgs{}) pulumi.RegisterOutputType(ExperimentTemplateActionMapOutput{}) pulumi.RegisterOutputType(ExperimentTemplateActionMapPtrOutput{}) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsOutput{}) + pulumi.RegisterOutputType(ExperimentTemplateExperimentOptionsPtrOutput{}) pulumi.RegisterOutputType(ExperimentTemplateLogConfigurationOutput{}) pulumi.RegisterOutputType(ExperimentTemplateLogConfigurationPtrOutput{}) pulumi.RegisterOutputType(ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationPropertiesOutput{}) diff --git a/sdk/go/aws/fis/targetAccountConfiguration.go b/sdk/go/aws/fis/targetAccountConfiguration.go new file mode 100644 index 0000000000..2c38966db6 --- /dev/null +++ b/sdk/go/aws/fis/targetAccountConfiguration.go @@ -0,0 +1,162 @@ +// Code generated by the Pulumi SDK Generator DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package fis + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Resource schema for AWS::FIS::TargetAccountConfiguration +type TargetAccountConfiguration struct { + pulumi.CustomResourceState + + AccountId pulumi.StringOutput `pulumi:"accountId"` + Description pulumi.StringPtrOutput `pulumi:"description"` + ExperimentTemplateId pulumi.StringOutput `pulumi:"experimentTemplateId"` + RoleArn pulumi.StringOutput `pulumi:"roleArn"` +} + +// NewTargetAccountConfiguration registers a new resource with the given unique name, arguments, and options. +func NewTargetAccountConfiguration(ctx *pulumi.Context, + name string, args *TargetAccountConfigurationArgs, opts ...pulumi.ResourceOption) (*TargetAccountConfiguration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AccountId == nil { + return nil, errors.New("invalid value for required argument 'AccountId'") + } + if args.ExperimentTemplateId == nil { + return nil, errors.New("invalid value for required argument 'ExperimentTemplateId'") + } + if args.RoleArn == nil { + return nil, errors.New("invalid value for required argument 'RoleArn'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "accountId", + "experimentTemplateId", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource TargetAccountConfiguration + err := ctx.RegisterResource("aws-native:fis:TargetAccountConfiguration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTargetAccountConfiguration gets an existing TargetAccountConfiguration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetTargetAccountConfiguration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TargetAccountConfigurationState, opts ...pulumi.ResourceOption) (*TargetAccountConfiguration, error) { + var resource TargetAccountConfiguration + err := ctx.ReadResource("aws-native:fis:TargetAccountConfiguration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TargetAccountConfiguration resources. +type targetAccountConfigurationState struct { +} + +type TargetAccountConfigurationState struct { +} + +func (TargetAccountConfigurationState) ElementType() reflect.Type { + return reflect.TypeOf((*targetAccountConfigurationState)(nil)).Elem() +} + +type targetAccountConfigurationArgs struct { + AccountId string `pulumi:"accountId"` + Description *string `pulumi:"description"` + ExperimentTemplateId string `pulumi:"experimentTemplateId"` + RoleArn string `pulumi:"roleArn"` +} + +// The set of arguments for constructing a TargetAccountConfiguration resource. +type TargetAccountConfigurationArgs struct { + AccountId pulumi.StringInput + Description pulumi.StringPtrInput + ExperimentTemplateId pulumi.StringInput + RoleArn pulumi.StringInput +} + +func (TargetAccountConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*targetAccountConfigurationArgs)(nil)).Elem() +} + +type TargetAccountConfigurationInput interface { + pulumi.Input + + ToTargetAccountConfigurationOutput() TargetAccountConfigurationOutput + ToTargetAccountConfigurationOutputWithContext(ctx context.Context) TargetAccountConfigurationOutput +} + +func (*TargetAccountConfiguration) ElementType() reflect.Type { + return reflect.TypeOf((**TargetAccountConfiguration)(nil)).Elem() +} + +func (i *TargetAccountConfiguration) ToTargetAccountConfigurationOutput() TargetAccountConfigurationOutput { + return i.ToTargetAccountConfigurationOutputWithContext(context.Background()) +} + +func (i *TargetAccountConfiguration) ToTargetAccountConfigurationOutputWithContext(ctx context.Context) TargetAccountConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TargetAccountConfigurationOutput) +} + +func (i *TargetAccountConfiguration) ToOutput(ctx context.Context) pulumix.Output[*TargetAccountConfiguration] { + return pulumix.Output[*TargetAccountConfiguration]{ + OutputState: i.ToTargetAccountConfigurationOutputWithContext(ctx).OutputState, + } +} + +type TargetAccountConfigurationOutput struct{ *pulumi.OutputState } + +func (TargetAccountConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TargetAccountConfiguration)(nil)).Elem() +} + +func (o TargetAccountConfigurationOutput) ToTargetAccountConfigurationOutput() TargetAccountConfigurationOutput { + return o +} + +func (o TargetAccountConfigurationOutput) ToTargetAccountConfigurationOutputWithContext(ctx context.Context) TargetAccountConfigurationOutput { + return o +} + +func (o TargetAccountConfigurationOutput) ToOutput(ctx context.Context) pulumix.Output[*TargetAccountConfiguration] { + return pulumix.Output[*TargetAccountConfiguration]{ + OutputState: o.OutputState, + } +} + +func (o TargetAccountConfigurationOutput) AccountId() pulumi.StringOutput { + return o.ApplyT(func(v *TargetAccountConfiguration) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) +} + +func (o TargetAccountConfigurationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TargetAccountConfiguration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o TargetAccountConfigurationOutput) ExperimentTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v *TargetAccountConfiguration) pulumi.StringOutput { return v.ExperimentTemplateId }).(pulumi.StringOutput) +} + +func (o TargetAccountConfigurationOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *TargetAccountConfiguration) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TargetAccountConfigurationInput)(nil)).Elem(), &TargetAccountConfiguration{}) + pulumi.RegisterOutputType(TargetAccountConfigurationOutput{}) +} diff --git a/sdk/go/aws/lambda/eventInvokeConfig.go b/sdk/go/aws/lambda/eventInvokeConfig.go index 6cf420ffb6..20b45de87d 100644 --- a/sdk/go/aws/lambda/eventInvokeConfig.go +++ b/sdk/go/aws/lambda/eventInvokeConfig.go @@ -13,15 +13,19 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Lambda::EventInvokeConfig +// The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. type EventInvokeConfig struct { pulumi.CustomResourceState - DestinationConfig EventInvokeConfigDestinationConfigPtrOutput `pulumi:"destinationConfig"` - FunctionName pulumi.StringOutput `pulumi:"functionName"` - MaximumEventAgeInSeconds pulumi.IntPtrOutput `pulumi:"maximumEventAgeInSeconds"` - MaximumRetryAttempts pulumi.IntPtrOutput `pulumi:"maximumRetryAttempts"` - Qualifier pulumi.StringOutput `pulumi:"qualifier"` + DestinationConfig EventInvokeConfigDestinationConfigPtrOutput `pulumi:"destinationConfig"` + // The name of the Lambda function. + FunctionName pulumi.StringOutput `pulumi:"functionName"` + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds pulumi.IntPtrOutput `pulumi:"maximumEventAgeInSeconds"` + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts pulumi.IntPtrOutput `pulumi:"maximumRetryAttempts"` + // The identifier of a version or alias. + Qualifier pulumi.StringOutput `pulumi:"qualifier"` } // NewEventInvokeConfig registers a new resource with the given unique name, arguments, and options. @@ -75,20 +79,28 @@ func (EventInvokeConfigState) ElementType() reflect.Type { } type eventInvokeConfigArgs struct { - DestinationConfig *EventInvokeConfigDestinationConfig `pulumi:"destinationConfig"` - FunctionName string `pulumi:"functionName"` - MaximumEventAgeInSeconds *int `pulumi:"maximumEventAgeInSeconds"` - MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` - Qualifier string `pulumi:"qualifier"` + DestinationConfig *EventInvokeConfigDestinationConfig `pulumi:"destinationConfig"` + // The name of the Lambda function. + FunctionName string `pulumi:"functionName"` + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int `pulumi:"maximumEventAgeInSeconds"` + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + // The identifier of a version or alias. + Qualifier string `pulumi:"qualifier"` } // The set of arguments for constructing a EventInvokeConfig resource. type EventInvokeConfigArgs struct { - DestinationConfig EventInvokeConfigDestinationConfigPtrInput - FunctionName pulumi.StringInput + DestinationConfig EventInvokeConfigDestinationConfigPtrInput + // The name of the Lambda function. + FunctionName pulumi.StringInput + // The maximum age of a request that Lambda sends to a function for processing. MaximumEventAgeInSeconds pulumi.IntPtrInput - MaximumRetryAttempts pulumi.IntPtrInput - Qualifier pulumi.StringInput + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts pulumi.IntPtrInput + // The identifier of a version or alias. + Qualifier pulumi.StringInput } func (EventInvokeConfigArgs) ElementType() reflect.Type { @@ -144,18 +156,22 @@ func (o EventInvokeConfigOutput) DestinationConfig() EventInvokeConfigDestinatio return o.ApplyT(func(v *EventInvokeConfig) EventInvokeConfigDestinationConfigPtrOutput { return v.DestinationConfig }).(EventInvokeConfigDestinationConfigPtrOutput) } +// The name of the Lambda function. func (o EventInvokeConfigOutput) FunctionName() pulumi.StringOutput { return o.ApplyT(func(v *EventInvokeConfig) pulumi.StringOutput { return v.FunctionName }).(pulumi.StringOutput) } +// The maximum age of a request that Lambda sends to a function for processing. func (o EventInvokeConfigOutput) MaximumEventAgeInSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v *EventInvokeConfig) pulumi.IntPtrOutput { return v.MaximumEventAgeInSeconds }).(pulumi.IntPtrOutput) } +// The maximum number of times to retry when the function returns an error. func (o EventInvokeConfigOutput) MaximumRetryAttempts() pulumi.IntPtrOutput { return o.ApplyT(func(v *EventInvokeConfig) pulumi.IntPtrOutput { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput) } +// The identifier of a version or alias. func (o EventInvokeConfigOutput) Qualifier() pulumi.StringOutput { return o.ApplyT(func(v *EventInvokeConfig) pulumi.StringOutput { return v.Qualifier }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/lambda/function.go b/sdk/go/aws/lambda/function.go index d8c8d243f1..fb8312c944 100644 --- a/sdk/go/aws/lambda/function.go +++ b/sdk/go/aws/lambda/function.go @@ -50,8 +50,6 @@ type Function struct { MemorySize pulumi.IntPtrOutput `pulumi:"memorySize"` // PackageType. PackageType FunctionPackageTypePtrOutput `pulumi:"packageType"` - // The resource policy of your function - Policy pulumi.AnyOutput `pulumi:"policy"` // The number of simultaneous executions to reserve for the function. ReservedConcurrentExecutions pulumi.IntPtrOutput `pulumi:"reservedConcurrentExecutions"` // The Amazon Resource Name (ARN) of the function's execution role. @@ -155,8 +153,6 @@ type functionArgs struct { MemorySize *int `pulumi:"memorySize"` // PackageType. PackageType *FunctionPackageType `pulumi:"packageType"` - // The resource policy of your function - Policy interface{} `pulumi:"policy"` // The number of simultaneous executions to reserve for the function. ReservedConcurrentExecutions *int `pulumi:"reservedConcurrentExecutions"` // The Amazon Resource Name (ARN) of the function's execution role. @@ -210,8 +206,6 @@ type FunctionArgs struct { MemorySize pulumi.IntPtrInput // PackageType. PackageType FunctionPackageTypePtrInput - // The resource policy of your function - Policy pulumi.Input // The number of simultaneous executions to reserve for the function. ReservedConcurrentExecutions pulumi.IntPtrInput // The Amazon Resource Name (ARN) of the function's execution role. @@ -365,11 +359,6 @@ func (o FunctionOutput) PackageType() FunctionPackageTypePtrOutput { return o.ApplyT(func(v *Function) FunctionPackageTypePtrOutput { return v.PackageType }).(FunctionPackageTypePtrOutput) } -// The resource policy of your function -func (o FunctionOutput) Policy() pulumi.AnyOutput { - return o.ApplyT(func(v *Function) pulumi.AnyOutput { return v.Policy }).(pulumi.AnyOutput) -} - // The number of simultaneous executions to reserve for the function. func (o FunctionOutput) ReservedConcurrentExecutions() pulumi.IntPtrOutput { return o.ApplyT(func(v *Function) pulumi.IntPtrOutput { return v.ReservedConcurrentExecutions }).(pulumi.IntPtrOutput) diff --git a/sdk/go/aws/lambda/getEventInvokeConfig.go b/sdk/go/aws/lambda/getEventInvokeConfig.go index 06b459581b..c58615ee79 100644 --- a/sdk/go/aws/lambda/getEventInvokeConfig.go +++ b/sdk/go/aws/lambda/getEventInvokeConfig.go @@ -12,7 +12,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Lambda::EventInvokeConfig +// The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. func LookupEventInvokeConfig(ctx *pulumi.Context, args *LookupEventInvokeConfigArgs, opts ...pulumi.InvokeOption) (*LookupEventInvokeConfigResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupEventInvokeConfigResult @@ -24,14 +24,18 @@ func LookupEventInvokeConfig(ctx *pulumi.Context, args *LookupEventInvokeConfigA } type LookupEventInvokeConfigArgs struct { - Id string `pulumi:"id"` + // The name of the Lambda function. + FunctionName string `pulumi:"functionName"` + // The identifier of a version or alias. + Qualifier string `pulumi:"qualifier"` } type LookupEventInvokeConfigResult struct { - DestinationConfig *EventInvokeConfigDestinationConfig `pulumi:"destinationConfig"` - Id *string `pulumi:"id"` - MaximumEventAgeInSeconds *int `pulumi:"maximumEventAgeInSeconds"` - MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` + DestinationConfig *EventInvokeConfigDestinationConfig `pulumi:"destinationConfig"` + // The maximum age of a request that Lambda sends to a function for processing. + MaximumEventAgeInSeconds *int `pulumi:"maximumEventAgeInSeconds"` + // The maximum number of times to retry when the function returns an error. + MaximumRetryAttempts *int `pulumi:"maximumRetryAttempts"` } func LookupEventInvokeConfigOutput(ctx *pulumi.Context, args LookupEventInvokeConfigOutputArgs, opts ...pulumi.InvokeOption) LookupEventInvokeConfigResultOutput { @@ -48,7 +52,10 @@ func LookupEventInvokeConfigOutput(ctx *pulumi.Context, args LookupEventInvokeCo } type LookupEventInvokeConfigOutputArgs struct { - Id pulumi.StringInput `pulumi:"id"` + // The name of the Lambda function. + FunctionName pulumi.StringInput `pulumi:"functionName"` + // The identifier of a version or alias. + Qualifier pulumi.StringInput `pulumi:"qualifier"` } func (LookupEventInvokeConfigOutputArgs) ElementType() reflect.Type { @@ -79,14 +86,12 @@ func (o LookupEventInvokeConfigResultOutput) DestinationConfig() EventInvokeConf return o.ApplyT(func(v LookupEventInvokeConfigResult) *EventInvokeConfigDestinationConfig { return v.DestinationConfig }).(EventInvokeConfigDestinationConfigPtrOutput) } -func (o LookupEventInvokeConfigResultOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v LookupEventInvokeConfigResult) *string { return v.Id }).(pulumi.StringPtrOutput) -} - +// The maximum age of a request that Lambda sends to a function for processing. func (o LookupEventInvokeConfigResultOutput) MaximumEventAgeInSeconds() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupEventInvokeConfigResult) *int { return v.MaximumEventAgeInSeconds }).(pulumi.IntPtrOutput) } +// The maximum number of times to retry when the function returns an error. func (o LookupEventInvokeConfigResultOutput) MaximumRetryAttempts() pulumi.IntPtrOutput { return o.ApplyT(func(v LookupEventInvokeConfigResult) *int { return v.MaximumRetryAttempts }).(pulumi.IntPtrOutput) } diff --git a/sdk/go/aws/lambda/pulumiTypes.go b/sdk/go/aws/lambda/pulumiTypes.go index c693b76262..33eca3970f 100644 --- a/sdk/go/aws/lambda/pulumiTypes.go +++ b/sdk/go/aws/lambda/pulumiTypes.go @@ -725,6 +725,7 @@ func (o CodeSigningConfigCodeSigningPoliciesPtrOutput) UntrustedArtifactOnDeploy }).(CodeSigningConfigCodeSigningPoliciesUntrustedArtifactOnDeploymentPtrOutput) } +// A destination for events after they have been sent to a function for processing. type EventInvokeConfigDestinationConfig struct { OnFailure *EventInvokeConfigOnFailure `pulumi:"onFailure"` OnSuccess *EventInvokeConfigOnSuccess `pulumi:"onSuccess"` @@ -741,6 +742,7 @@ type EventInvokeConfigDestinationConfigInput interface { ToEventInvokeConfigDestinationConfigOutputWithContext(context.Context) EventInvokeConfigDestinationConfigOutput } +// A destination for events after they have been sent to a function for processing. type EventInvokeConfigDestinationConfigArgs struct { OnFailure EventInvokeConfigOnFailurePtrInput `pulumi:"onFailure"` OnSuccess EventInvokeConfigOnSuccessPtrInput `pulumi:"onSuccess"` @@ -811,6 +813,7 @@ func (i *eventInvokeConfigDestinationConfigPtrType) ToOutput(ctx context.Context } } +// A destination for events after they have been sent to a function for processing. type EventInvokeConfigDestinationConfigOutput struct{ *pulumi.OutputState } func (EventInvokeConfigDestinationConfigOutput) ElementType() reflect.Type { @@ -897,7 +900,9 @@ func (o EventInvokeConfigDestinationConfigPtrOutput) OnSuccess() EventInvokeConf }).(EventInvokeConfigOnSuccessPtrOutput) } +// The destination configuration for failed invocations. type EventInvokeConfigOnFailure struct { + // The Amazon Resource Name (ARN) of the destination resource. Destination string `pulumi:"destination"` } @@ -912,7 +917,9 @@ type EventInvokeConfigOnFailureInput interface { ToEventInvokeConfigOnFailureOutputWithContext(context.Context) EventInvokeConfigOnFailureOutput } +// The destination configuration for failed invocations. type EventInvokeConfigOnFailureArgs struct { + // The Amazon Resource Name (ARN) of the destination resource. Destination pulumi.StringInput `pulumi:"destination"` } @@ -981,6 +988,7 @@ func (i *eventInvokeConfigOnFailurePtrType) ToOutput(ctx context.Context) pulumi } } +// The destination configuration for failed invocations. type EventInvokeConfigOnFailureOutput struct{ *pulumi.OutputState } func (EventInvokeConfigOnFailureOutput) ElementType() reflect.Type { @@ -1011,6 +1019,7 @@ func (o EventInvokeConfigOnFailureOutput) ToOutput(ctx context.Context) pulumix. } } +// The Amazon Resource Name (ARN) of the destination resource. func (o EventInvokeConfigOnFailureOutput) Destination() pulumi.StringOutput { return o.ApplyT(func(v EventInvokeConfigOnFailure) string { return v.Destination }).(pulumi.StringOutput) } @@ -1045,6 +1054,7 @@ func (o EventInvokeConfigOnFailurePtrOutput) Elem() EventInvokeConfigOnFailureOu }).(EventInvokeConfigOnFailureOutput) } +// The Amazon Resource Name (ARN) of the destination resource. func (o EventInvokeConfigOnFailurePtrOutput) Destination() pulumi.StringPtrOutput { return o.ApplyT(func(v *EventInvokeConfigOnFailure) *string { if v == nil { @@ -1054,7 +1064,9 @@ func (o EventInvokeConfigOnFailurePtrOutput) Destination() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } +// The destination configuration for successful invocations. type EventInvokeConfigOnSuccess struct { + // The Amazon Resource Name (ARN) of the destination resource. Destination string `pulumi:"destination"` } @@ -1069,7 +1081,9 @@ type EventInvokeConfigOnSuccessInput interface { ToEventInvokeConfigOnSuccessOutputWithContext(context.Context) EventInvokeConfigOnSuccessOutput } +// The destination configuration for successful invocations. type EventInvokeConfigOnSuccessArgs struct { + // The Amazon Resource Name (ARN) of the destination resource. Destination pulumi.StringInput `pulumi:"destination"` } @@ -1138,6 +1152,7 @@ func (i *eventInvokeConfigOnSuccessPtrType) ToOutput(ctx context.Context) pulumi } } +// The destination configuration for successful invocations. type EventInvokeConfigOnSuccessOutput struct{ *pulumi.OutputState } func (EventInvokeConfigOnSuccessOutput) ElementType() reflect.Type { @@ -1168,6 +1183,7 @@ func (o EventInvokeConfigOnSuccessOutput) ToOutput(ctx context.Context) pulumix. } } +// The Amazon Resource Name (ARN) of the destination resource. func (o EventInvokeConfigOnSuccessOutput) Destination() pulumi.StringOutput { return o.ApplyT(func(v EventInvokeConfigOnSuccess) string { return v.Destination }).(pulumi.StringOutput) } @@ -1202,6 +1218,7 @@ func (o EventInvokeConfigOnSuccessPtrOutput) Elem() EventInvokeConfigOnSuccessOu }).(EventInvokeConfigOnSuccessOutput) } +// The Amazon Resource Name (ARN) of the destination resource. func (o EventInvokeConfigOnSuccessPtrOutput) Destination() pulumi.StringPtrOutput { return o.ApplyT(func(v *EventInvokeConfigOnSuccess) *string { if v == nil { diff --git a/sdk/go/aws/logs/delivery.go b/sdk/go/aws/logs/delivery.go index b98ef77140..4b313a135b 100644 --- a/sdk/go/aws/logs/delivery.go +++ b/sdk/go/aws/logs/delivery.go @@ -13,21 +13,25 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::Delivery. +// This structure contains information about one delivery in your account. +// +// A delivery is a connection between a logical delivery source and a logical delivery destination. +// +// For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). type Delivery struct { pulumi.CustomResourceState - // The value of the Arn property for this object. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery. Arn pulumi.StringOutput `pulumi:"arn"` - // The value of the DeliveryDestinationArn property for this object. + // The ARN of the delivery destination that is associated with this delivery. DeliveryDestinationArn pulumi.StringOutput `pulumi:"deliveryDestinationArn"` - // The value of the DeliveryDestinationType property for this object. + // Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. DeliveryDestinationType pulumi.StringOutput `pulumi:"deliveryDestinationType"` - // The value of the Id property for this object. + // The unique ID that identifies this delivery in your account. DeliveryId pulumi.StringOutput `pulumi:"deliveryId"` - // The value of the DeliverySourceName property for this object. + // The name of the delivery source that is associated with this delivery. DeliverySourceName pulumi.StringOutput `pulumi:"deliverySourceName"` - // The value of the Tags property for this object. + // The tags that have been assigned to this delivery. Tags DeliveryTagArrayOutput `pulumi:"tags"` } @@ -82,21 +86,21 @@ func (DeliveryState) ElementType() reflect.Type { } type deliveryArgs struct { - // The value of the DeliveryDestinationArn property for this object. + // The ARN of the delivery destination that is associated with this delivery. DeliveryDestinationArn string `pulumi:"deliveryDestinationArn"` - // The value of the DeliverySourceName property for this object. + // The name of the delivery source that is associated with this delivery. DeliverySourceName string `pulumi:"deliverySourceName"` - // The value of the Tags property for this object. + // The tags that have been assigned to this delivery. Tags []DeliveryTag `pulumi:"tags"` } // The set of arguments for constructing a Delivery resource. type DeliveryArgs struct { - // The value of the DeliveryDestinationArn property for this object. + // The ARN of the delivery destination that is associated with this delivery. DeliveryDestinationArn pulumi.StringInput - // The value of the DeliverySourceName property for this object. + // The name of the delivery source that is associated with this delivery. DeliverySourceName pulumi.StringInput - // The value of the Tags property for this object. + // The tags that have been assigned to this delivery. Tags DeliveryTagArrayInput } @@ -149,32 +153,32 @@ func (o DeliveryOutput) ToOutput(ctx context.Context) pulumix.Output[*Delivery] } } -// The value of the Arn property for this object. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery. func (o DeliveryOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// The value of the DeliveryDestinationArn property for this object. +// The ARN of the delivery destination that is associated with this delivery. func (o DeliveryOutput) DeliveryDestinationArn() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.DeliveryDestinationArn }).(pulumi.StringOutput) } -// The value of the DeliveryDestinationType property for this object. +// Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. func (o DeliveryOutput) DeliveryDestinationType() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.DeliveryDestinationType }).(pulumi.StringOutput) } -// The value of the Id property for this object. +// The unique ID that identifies this delivery in your account. func (o DeliveryOutput) DeliveryId() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.DeliveryId }).(pulumi.StringOutput) } -// The value of the DeliverySourceName property for this object. +// The name of the delivery source that is associated with this delivery. func (o DeliveryOutput) DeliverySourceName() pulumi.StringOutput { return o.ApplyT(func(v *Delivery) pulumi.StringOutput { return v.DeliverySourceName }).(pulumi.StringOutput) } -// The value of the Tags property for this object. +// The tags that have been assigned to this delivery. func (o DeliveryOutput) Tags() DeliveryTagArrayOutput { return o.ApplyT(func(v *Delivery) DeliveryTagArrayOutput { return v.Tags }).(DeliveryTagArrayOutput) } diff --git a/sdk/go/aws/logs/deliveryDestination.go b/sdk/go/aws/logs/deliveryDestination.go index 68d2ef37ca..69714a5f79 100644 --- a/sdk/go/aws/logs/deliveryDestination.go +++ b/sdk/go/aws/logs/deliveryDestination.go @@ -12,11 +12,13 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::DeliveryDestination +// This structure contains information about one delivery destination in your account. +// +// A 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. type DeliveryDestination struct { pulumi.CustomResourceState - // The value of the Arn property for this object. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. Arn pulumi.StringOutput `pulumi:"arn"` // IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account. // @@ -24,13 +26,13 @@ type DeliveryDestination struct { // // Length Constraints: Maximum length of 51200 DeliveryDestinationPolicy pulumi.AnyOutput `pulumi:"deliveryDestinationPolicy"` - // The value of the DeliveryDestinationType property for this object. + // Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. DeliveryDestinationType pulumi.StringOutput `pulumi:"deliveryDestinationType"` - // The ARN of the Destination Resource. + // The ARN of the AWS resource that will receive the logs. DestinationResourceArn pulumi.StringPtrOutput `pulumi:"destinationResourceArn"` - // The unique name of the Delivery Destination. + // The name of this delivery destination. Name pulumi.StringOutput `pulumi:"name"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery destination. Tags DeliveryDestinationTagArrayOutput `pulumi:"tags"` } @@ -85,11 +87,11 @@ type deliveryDestinationArgs struct { // // Length Constraints: Maximum length of 51200 DeliveryDestinationPolicy interface{} `pulumi:"deliveryDestinationPolicy"` - // The ARN of the Destination Resource. + // The ARN of the AWS resource that will receive the logs. DestinationResourceArn *string `pulumi:"destinationResourceArn"` - // The unique name of the Delivery Destination. + // The name of this delivery destination. Name *string `pulumi:"name"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery destination. Tags []DeliveryDestinationTag `pulumi:"tags"` } @@ -101,11 +103,11 @@ type DeliveryDestinationArgs struct { // // Length Constraints: Maximum length of 51200 DeliveryDestinationPolicy pulumi.Input - // The ARN of the Destination Resource. + // The ARN of the AWS resource that will receive the logs. DestinationResourceArn pulumi.StringPtrInput - // The unique name of the Delivery Destination. + // The name of this delivery destination. Name pulumi.StringPtrInput - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery destination. Tags DeliveryDestinationTagArrayInput } @@ -158,7 +160,7 @@ func (o DeliveryDestinationOutput) ToOutput(ctx context.Context) pulumix.Output[ } } -// The value of the Arn property for this object. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. func (o DeliveryDestinationOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *DeliveryDestination) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } @@ -172,22 +174,22 @@ func (o DeliveryDestinationOutput) DeliveryDestinationPolicy() pulumi.AnyOutput return o.ApplyT(func(v *DeliveryDestination) pulumi.AnyOutput { return v.DeliveryDestinationPolicy }).(pulumi.AnyOutput) } -// The value of the DeliveryDestinationType property for this object. +// Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. func (o DeliveryDestinationOutput) DeliveryDestinationType() pulumi.StringOutput { return o.ApplyT(func(v *DeliveryDestination) pulumi.StringOutput { return v.DeliveryDestinationType }).(pulumi.StringOutput) } -// The ARN of the Destination Resource. +// The ARN of the AWS resource that will receive the logs. func (o DeliveryDestinationOutput) DestinationResourceArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeliveryDestination) pulumi.StringPtrOutput { return v.DestinationResourceArn }).(pulumi.StringPtrOutput) } -// The unique name of the Delivery Destination. +// The name of this delivery destination. func (o DeliveryDestinationOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *DeliveryDestination) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// An array of key-value pairs to apply to this resource. +// The tags that have been assigned to this delivery destination. func (o DeliveryDestinationOutput) Tags() DeliveryDestinationTagArrayOutput { return o.ApplyT(func(v *DeliveryDestination) DeliveryDestinationTagArrayOutput { return v.Tags }).(DeliveryDestinationTagArrayOutput) } diff --git a/sdk/go/aws/logs/deliverySource.go b/sdk/go/aws/logs/deliverySource.go index b60904b2da..8cd716825c 100644 --- a/sdk/go/aws/logs/deliverySource.go +++ b/sdk/go/aws/logs/deliverySource.go @@ -12,11 +12,13 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::DeliverySource. +// 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. +// +// Only 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). type DeliverySource struct { pulumi.CustomResourceState - // The ARN of the Aqueduct Source. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery source. Arn pulumi.StringOutput `pulumi:"arn"` // The type of logs being delivered. Only mandatory when the resourceArn could match more than one. In such a case, the error message will contain all the possible options. LogType pulumi.StringPtrOutput `pulumi:"logType"` @@ -24,11 +26,11 @@ type DeliverySource struct { Name pulumi.StringOutput `pulumi:"name"` // The ARN of the resource that will be sending the logs. ResourceArn pulumi.StringPtrOutput `pulumi:"resourceArn"` - // List of ARN of the resource that will be sending the logs + // 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. ResourceArns pulumi.StringArrayOutput `pulumi:"resourceArns"` - // The service generating the log + // The AWS service that is sending logs. Service pulumi.StringOutput `pulumi:"service"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery source. Tags DeliverySourceTagArrayOutput `pulumi:"tags"` } @@ -82,7 +84,7 @@ type deliverySourceArgs struct { Name *string `pulumi:"name"` // The ARN of the resource that will be sending the logs. ResourceArn *string `pulumi:"resourceArn"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery source. Tags []DeliverySourceTag `pulumi:"tags"` } @@ -94,7 +96,7 @@ type DeliverySourceArgs struct { Name pulumi.StringPtrInput // The ARN of the resource that will be sending the logs. ResourceArn pulumi.StringPtrInput - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery source. Tags DeliverySourceTagArrayInput } @@ -147,7 +149,7 @@ func (o DeliverySourceOutput) ToOutput(ctx context.Context) pulumix.Output[*Deli } } -// The ARN of the Aqueduct Source. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery source. func (o DeliverySourceOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *DeliverySource) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } @@ -167,17 +169,17 @@ func (o DeliverySourceOutput) ResourceArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *DeliverySource) pulumi.StringPtrOutput { return v.ResourceArn }).(pulumi.StringPtrOutput) } -// List of ARN of the resource that will be sending the logs +// 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. func (o DeliverySourceOutput) ResourceArns() pulumi.StringArrayOutput { return o.ApplyT(func(v *DeliverySource) pulumi.StringArrayOutput { return v.ResourceArns }).(pulumi.StringArrayOutput) } -// The service generating the log +// The AWS service that is sending logs. func (o DeliverySourceOutput) Service() pulumi.StringOutput { return o.ApplyT(func(v *DeliverySource) pulumi.StringOutput { return v.Service }).(pulumi.StringOutput) } -// An array of key-value pairs to apply to this resource. +// The tags that have been assigned to this delivery source. func (o DeliverySourceOutput) Tags() DeliverySourceTagArrayOutput { return o.ApplyT(func(v *DeliverySource) DeliverySourceTagArrayOutput { return v.Tags }).(DeliverySourceTagArrayOutput) } diff --git a/sdk/go/aws/logs/getDelivery.go b/sdk/go/aws/logs/getDelivery.go index eb870251ef..b6883df75e 100644 --- a/sdk/go/aws/logs/getDelivery.go +++ b/sdk/go/aws/logs/getDelivery.go @@ -12,7 +12,11 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::Delivery. +// This structure contains information about one delivery in your account. +// +// A delivery is a connection between a logical delivery source and a logical delivery destination. +// +// For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). func LookupDelivery(ctx *pulumi.Context, args *LookupDeliveryArgs, opts ...pulumi.InvokeOption) (*LookupDeliveryResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupDeliveryResult @@ -24,18 +28,18 @@ func LookupDelivery(ctx *pulumi.Context, args *LookupDeliveryArgs, opts ...pulum } type LookupDeliveryArgs struct { - // The value of the Id property for this object. + // The unique ID that identifies this delivery in your account. DeliveryId string `pulumi:"deliveryId"` } type LookupDeliveryResult struct { - // The value of the Arn property for this object. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery. Arn *string `pulumi:"arn"` - // The value of the DeliveryDestinationType property for this object. + // Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. DeliveryDestinationType *string `pulumi:"deliveryDestinationType"` - // The value of the Id property for this object. + // The unique ID that identifies this delivery in your account. DeliveryId *string `pulumi:"deliveryId"` - // The value of the Tags property for this object. + // The tags that have been assigned to this delivery. Tags []DeliveryTag `pulumi:"tags"` } @@ -53,7 +57,7 @@ func LookupDeliveryOutput(ctx *pulumi.Context, args LookupDeliveryOutputArgs, op } type LookupDeliveryOutputArgs struct { - // The value of the Id property for this object. + // The unique ID that identifies this delivery in your account. DeliveryId pulumi.StringInput `pulumi:"deliveryId"` } @@ -81,22 +85,22 @@ func (o LookupDeliveryResultOutput) ToOutput(ctx context.Context) pulumix.Output } } -// The value of the Arn property for this object. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery. func (o LookupDeliveryResultOutput) Arn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryResult) *string { return v.Arn }).(pulumi.StringPtrOutput) } -// The value of the DeliveryDestinationType property for this object. +// Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. func (o LookupDeliveryResultOutput) DeliveryDestinationType() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryResult) *string { return v.DeliveryDestinationType }).(pulumi.StringPtrOutput) } -// The value of the Id property for this object. +// The unique ID that identifies this delivery in your account. func (o LookupDeliveryResultOutput) DeliveryId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryResult) *string { return v.DeliveryId }).(pulumi.StringPtrOutput) } -// The value of the Tags property for this object. +// The tags that have been assigned to this delivery. func (o LookupDeliveryResultOutput) Tags() DeliveryTagArrayOutput { return o.ApplyT(func(v LookupDeliveryResult) []DeliveryTag { return v.Tags }).(DeliveryTagArrayOutput) } diff --git a/sdk/go/aws/logs/getDeliveryDestination.go b/sdk/go/aws/logs/getDeliveryDestination.go index f83b9063df..96f2535fb6 100644 --- a/sdk/go/aws/logs/getDeliveryDestination.go +++ b/sdk/go/aws/logs/getDeliveryDestination.go @@ -12,7 +12,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::DeliveryDestination +// This structure contains information about one delivery destination in your account. +// +// A 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. func LookupDeliveryDestination(ctx *pulumi.Context, args *LookupDeliveryDestinationArgs, opts ...pulumi.InvokeOption) (*LookupDeliveryDestinationResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupDeliveryDestinationResult @@ -24,12 +26,12 @@ func LookupDeliveryDestination(ctx *pulumi.Context, args *LookupDeliveryDestinat } type LookupDeliveryDestinationArgs struct { - // The unique name of the Delivery Destination. + // The name of this delivery destination. Name string `pulumi:"name"` } type LookupDeliveryDestinationResult struct { - // The value of the Arn property for this object. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. Arn *string `pulumi:"arn"` // IAM policy that grants permissions to CloudWatch Logs to deliver logs cross-account to a specified destination in this account. // @@ -37,9 +39,9 @@ type LookupDeliveryDestinationResult struct { // // Length Constraints: Maximum length of 51200 DeliveryDestinationPolicy interface{} `pulumi:"deliveryDestinationPolicy"` - // The value of the DeliveryDestinationType property for this object. + // Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. DeliveryDestinationType *string `pulumi:"deliveryDestinationType"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery destination. Tags []DeliveryDestinationTag `pulumi:"tags"` } @@ -57,7 +59,7 @@ func LookupDeliveryDestinationOutput(ctx *pulumi.Context, args LookupDeliveryDes } type LookupDeliveryDestinationOutputArgs struct { - // The unique name of the Delivery Destination. + // The name of this delivery destination. Name pulumi.StringInput `pulumi:"name"` } @@ -85,7 +87,7 @@ func (o LookupDeliveryDestinationResultOutput) ToOutput(ctx context.Context) pul } } -// The value of the Arn property for this object. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. func (o LookupDeliveryDestinationResultOutput) Arn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryDestinationResult) *string { return v.Arn }).(pulumi.StringPtrOutput) } @@ -99,12 +101,12 @@ func (o LookupDeliveryDestinationResultOutput) DeliveryDestinationPolicy() pulum return o.ApplyT(func(v LookupDeliveryDestinationResult) interface{} { return v.DeliveryDestinationPolicy }).(pulumi.AnyOutput) } -// The value of the DeliveryDestinationType property for this object. +// Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. func (o LookupDeliveryDestinationResultOutput) DeliveryDestinationType() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliveryDestinationResult) *string { return v.DeliveryDestinationType }).(pulumi.StringPtrOutput) } -// An array of key-value pairs to apply to this resource. +// The tags that have been assigned to this delivery destination. func (o LookupDeliveryDestinationResultOutput) Tags() DeliveryDestinationTagArrayOutput { return o.ApplyT(func(v LookupDeliveryDestinationResult) []DeliveryDestinationTag { return v.Tags }).(DeliveryDestinationTagArrayOutput) } diff --git a/sdk/go/aws/logs/getDeliverySource.go b/sdk/go/aws/logs/getDeliverySource.go index 06df4efdb5..1c6437ca82 100644 --- a/sdk/go/aws/logs/getDeliverySource.go +++ b/sdk/go/aws/logs/getDeliverySource.go @@ -12,7 +12,9 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Resource Type definition for AWS::Logs::DeliverySource. +// 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. +// +// Only 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). func LookupDeliverySource(ctx *pulumi.Context, args *LookupDeliverySourceArgs, opts ...pulumi.InvokeOption) (*LookupDeliverySourceResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupDeliverySourceResult @@ -29,15 +31,15 @@ type LookupDeliverySourceArgs struct { } type LookupDeliverySourceResult struct { - // The ARN of the Aqueduct Source. + // The Amazon Resource Name (ARN) that uniquely identifies this delivery source. Arn *string `pulumi:"arn"` // The type of logs being delivered. Only mandatory when the resourceArn could match more than one. In such a case, the error message will contain all the possible options. LogType *string `pulumi:"logType"` - // List of ARN of the resource that will be sending the logs + // 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. ResourceArns []string `pulumi:"resourceArns"` - // The service generating the log + // The AWS service that is sending logs. Service *string `pulumi:"service"` - // An array of key-value pairs to apply to this resource. + // The tags that have been assigned to this delivery source. Tags []DeliverySourceTag `pulumi:"tags"` } @@ -83,7 +85,7 @@ func (o LookupDeliverySourceResultOutput) ToOutput(ctx context.Context) pulumix. } } -// The ARN of the Aqueduct Source. +// The Amazon Resource Name (ARN) that uniquely identifies this delivery source. func (o LookupDeliverySourceResultOutput) Arn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliverySourceResult) *string { return v.Arn }).(pulumi.StringPtrOutput) } @@ -93,17 +95,17 @@ func (o LookupDeliverySourceResultOutput) LogType() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliverySourceResult) *string { return v.LogType }).(pulumi.StringPtrOutput) } -// List of ARN of the resource that will be sending the logs +// 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. func (o LookupDeliverySourceResultOutput) ResourceArns() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupDeliverySourceResult) []string { return v.ResourceArns }).(pulumi.StringArrayOutput) } -// The service generating the log +// The AWS service that is sending logs. func (o LookupDeliverySourceResultOutput) Service() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDeliverySourceResult) *string { return v.Service }).(pulumi.StringPtrOutput) } -// An array of key-value pairs to apply to this resource. +// The tags that have been assigned to this delivery source. func (o LookupDeliverySourceResultOutput) Tags() DeliverySourceTagArrayOutput { return o.ApplyT(func(v LookupDeliverySourceResult) []DeliverySourceTag { return v.Tags }).(DeliverySourceTagArrayOutput) } diff --git a/sdk/go/aws/opensearchservice/domain.go b/sdk/go/aws/opensearchservice/domain.go index e823da7173..8887edea69 100644 --- a/sdk/go/aws/opensearchservice/domain.go +++ b/sdk/go/aws/opensearchservice/domain.go @@ -25,11 +25,13 @@ type Domain struct { DomainArn pulumi.StringOutput `pulumi:"domainArn"` DomainEndpoint pulumi.StringOutput `pulumi:"domainEndpoint"` DomainEndpointOptions DomainEndpointOptionsPtrOutput `pulumi:"domainEndpointOptions"` + DomainEndpointV2 pulumi.StringOutput `pulumi:"domainEndpointV2"` DomainEndpoints pulumi.AnyOutput `pulumi:"domainEndpoints"` DomainName pulumi.StringPtrOutput `pulumi:"domainName"` EbsOptions DomainEbsOptionsPtrOutput `pulumi:"ebsOptions"` EncryptionAtRestOptions DomainEncryptionAtRestOptionsPtrOutput `pulumi:"encryptionAtRestOptions"` EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"` + IpAddressType pulumi.StringPtrOutput `pulumi:"ipAddressType"` LogPublishingOptions pulumi.AnyOutput `pulumi:"logPublishingOptions"` NodeToNodeEncryptionOptions DomainNodeToNodeEncryptionOptionsPtrOutput `pulumi:"nodeToNodeEncryptionOptions"` OffPeakWindowOptions DomainOffPeakWindowOptionsPtrOutput `pulumi:"offPeakWindowOptions"` @@ -95,6 +97,7 @@ type domainArgs struct { EbsOptions *DomainEbsOptions `pulumi:"ebsOptions"` EncryptionAtRestOptions *DomainEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` EngineVersion *string `pulumi:"engineVersion"` + IpAddressType *string `pulumi:"ipAddressType"` LogPublishingOptions interface{} `pulumi:"logPublishingOptions"` NodeToNodeEncryptionOptions *DomainNodeToNodeEncryptionOptions `pulumi:"nodeToNodeEncryptionOptions"` OffPeakWindowOptions *DomainOffPeakWindowOptions `pulumi:"offPeakWindowOptions"` @@ -117,6 +120,7 @@ type DomainArgs struct { EbsOptions DomainEbsOptionsPtrInput EncryptionAtRestOptions DomainEncryptionAtRestOptionsPtrInput EngineVersion pulumi.StringPtrInput + IpAddressType pulumi.StringPtrInput LogPublishingOptions pulumi.Input NodeToNodeEncryptionOptions DomainNodeToNodeEncryptionOptionsPtrInput OffPeakWindowOptions DomainOffPeakWindowOptionsPtrInput @@ -212,6 +216,10 @@ func (o DomainOutput) DomainEndpointOptions() DomainEndpointOptionsPtrOutput { return o.ApplyT(func(v *Domain) DomainEndpointOptionsPtrOutput { return v.DomainEndpointOptions }).(DomainEndpointOptionsPtrOutput) } +func (o DomainOutput) DomainEndpointV2() pulumi.StringOutput { + return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.DomainEndpointV2 }).(pulumi.StringOutput) +} + func (o DomainOutput) DomainEndpoints() pulumi.AnyOutput { return o.ApplyT(func(v *Domain) pulumi.AnyOutput { return v.DomainEndpoints }).(pulumi.AnyOutput) } @@ -232,6 +240,10 @@ func (o DomainOutput) EngineVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.EngineVersion }).(pulumi.StringPtrOutput) } +func (o DomainOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Domain) pulumi.StringPtrOutput { return v.IpAddressType }).(pulumi.StringPtrOutput) +} + func (o DomainOutput) LogPublishingOptions() pulumi.AnyOutput { return o.ApplyT(func(v *Domain) pulumi.AnyOutput { return v.LogPublishingOptions }).(pulumi.AnyOutput) } diff --git a/sdk/go/aws/opensearchservice/getDomain.go b/sdk/go/aws/opensearchservice/getDomain.go index 1e6e29b6bc..8fde0e9f0f 100644 --- a/sdk/go/aws/opensearchservice/getDomain.go +++ b/sdk/go/aws/opensearchservice/getDomain.go @@ -37,11 +37,13 @@ type LookupDomainResult struct { DomainArn *string `pulumi:"domainArn"` DomainEndpoint *string `pulumi:"domainEndpoint"` DomainEndpointOptions *DomainEndpointOptions `pulumi:"domainEndpointOptions"` + DomainEndpointV2 *string `pulumi:"domainEndpointV2"` DomainEndpoints interface{} `pulumi:"domainEndpoints"` EbsOptions *DomainEbsOptions `pulumi:"ebsOptions"` EncryptionAtRestOptions *DomainEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` EngineVersion *string `pulumi:"engineVersion"` Id *string `pulumi:"id"` + IpAddressType *string `pulumi:"ipAddressType"` LogPublishingOptions interface{} `pulumi:"logPublishingOptions"` NodeToNodeEncryptionOptions *DomainNodeToNodeEncryptionOptions `pulumi:"nodeToNodeEncryptionOptions"` OffPeakWindowOptions *DomainOffPeakWindowOptions `pulumi:"offPeakWindowOptions"` @@ -130,6 +132,10 @@ func (o LookupDomainResultOutput) DomainEndpointOptions() DomainEndpointOptionsP return o.ApplyT(func(v LookupDomainResult) *DomainEndpointOptions { return v.DomainEndpointOptions }).(DomainEndpointOptionsPtrOutput) } +func (o LookupDomainResultOutput) DomainEndpointV2() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainResult) *string { return v.DomainEndpointV2 }).(pulumi.StringPtrOutput) +} + func (o LookupDomainResultOutput) DomainEndpoints() pulumi.AnyOutput { return o.ApplyT(func(v LookupDomainResult) interface{} { return v.DomainEndpoints }).(pulumi.AnyOutput) } @@ -150,6 +156,10 @@ func (o LookupDomainResultOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainResult) *string { return v.Id }).(pulumi.StringPtrOutput) } +func (o LookupDomainResultOutput) IpAddressType() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainResult) *string { return v.IpAddressType }).(pulumi.StringPtrOutput) +} + func (o LookupDomainResultOutput) LogPublishingOptions() pulumi.AnyOutput { return o.ApplyT(func(v LookupDomainResult) interface{} { return v.LogPublishingOptions }).(pulumi.AnyOutput) } diff --git a/sdk/go/aws/osis/getPipeline.go b/sdk/go/aws/osis/getPipeline.go index 71e05908f9..7d6f1542bf 100644 --- a/sdk/go/aws/osis/getPipeline.go +++ b/sdk/go/aws/osis/getPipeline.go @@ -29,6 +29,8 @@ type LookupPipelineArgs struct { } type LookupPipelineResult struct { + BufferOptions *PipelineBufferOptions `pulumi:"bufferOptions"` + EncryptionAtRestOptions *PipelineEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` // A list of endpoints that can be used for ingesting data into a pipeline IngestEndpointUrls []string `pulumi:"ingestEndpointUrls"` LogPublishingOptions *PipelineLogPublishingOptions `pulumi:"logPublishingOptions"` @@ -88,6 +90,14 @@ func (o LookupPipelineResultOutput) ToOutput(ctx context.Context) pulumix.Output } } +func (o LookupPipelineResultOutput) BufferOptions() PipelineBufferOptionsPtrOutput { + return o.ApplyT(func(v LookupPipelineResult) *PipelineBufferOptions { return v.BufferOptions }).(PipelineBufferOptionsPtrOutput) +} + +func (o LookupPipelineResultOutput) EncryptionAtRestOptions() PipelineEncryptionAtRestOptionsPtrOutput { + return o.ApplyT(func(v LookupPipelineResult) *PipelineEncryptionAtRestOptions { return v.EncryptionAtRestOptions }).(PipelineEncryptionAtRestOptionsPtrOutput) +} + // A list of endpoints that can be used for ingesting data into a pipeline func (o LookupPipelineResultOutput) IngestEndpointUrls() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupPipelineResult) []string { return v.IngestEndpointUrls }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/osis/pipeline.go b/sdk/go/aws/osis/pipeline.go index 5f0ddc0d19..d41c9e21fa 100644 --- a/sdk/go/aws/osis/pipeline.go +++ b/sdk/go/aws/osis/pipeline.go @@ -17,6 +17,8 @@ import ( type Pipeline struct { pulumi.CustomResourceState + BufferOptions PipelineBufferOptionsPtrOutput `pulumi:"bufferOptions"` + EncryptionAtRestOptions PipelineEncryptionAtRestOptionsPtrOutput `pulumi:"encryptionAtRestOptions"` // A list of endpoints that can be used for ingesting data into a pipeline IngestEndpointUrls pulumi.StringArrayOutput `pulumi:"ingestEndpointUrls"` LogPublishingOptions PipelineLogPublishingOptionsPtrOutput `pulumi:"logPublishingOptions"` @@ -90,7 +92,9 @@ func (PipelineState) ElementType() reflect.Type { } type pipelineArgs struct { - LogPublishingOptions *PipelineLogPublishingOptions `pulumi:"logPublishingOptions"` + BufferOptions *PipelineBufferOptions `pulumi:"bufferOptions"` + EncryptionAtRestOptions *PipelineEncryptionAtRestOptions `pulumi:"encryptionAtRestOptions"` + LogPublishingOptions *PipelineLogPublishingOptions `pulumi:"logPublishingOptions"` // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). MaxUnits int `pulumi:"maxUnits"` // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). @@ -106,7 +110,9 @@ type pipelineArgs struct { // The set of arguments for constructing a Pipeline resource. type PipelineArgs struct { - LogPublishingOptions PipelineLogPublishingOptionsPtrInput + BufferOptions PipelineBufferOptionsPtrInput + EncryptionAtRestOptions PipelineEncryptionAtRestOptionsPtrInput + LogPublishingOptions PipelineLogPublishingOptionsPtrInput // The maximum pipeline capacity, in Ingestion Compute Units (ICUs). MaxUnits pulumi.IntInput // The minimum pipeline capacity, in Ingestion Compute Units (ICUs). @@ -169,6 +175,14 @@ func (o PipelineOutput) ToOutput(ctx context.Context) pulumix.Output[*Pipeline] } } +func (o PipelineOutput) BufferOptions() PipelineBufferOptionsPtrOutput { + return o.ApplyT(func(v *Pipeline) PipelineBufferOptionsPtrOutput { return v.BufferOptions }).(PipelineBufferOptionsPtrOutput) +} + +func (o PipelineOutput) EncryptionAtRestOptions() PipelineEncryptionAtRestOptionsPtrOutput { + return o.ApplyT(func(v *Pipeline) PipelineEncryptionAtRestOptionsPtrOutput { return v.EncryptionAtRestOptions }).(PipelineEncryptionAtRestOptionsPtrOutput) +} + // A list of endpoints that can be used for ingesting data into a pipeline func (o PipelineOutput) IngestEndpointUrls() pulumi.StringArrayOutput { return o.ApplyT(func(v *Pipeline) pulumi.StringArrayOutput { return v.IngestEndpointUrls }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/osis/pulumiTypes.go b/sdk/go/aws/osis/pulumiTypes.go index 8d9433b827..897d66522b 100644 --- a/sdk/go/aws/osis/pulumiTypes.go +++ b/sdk/go/aws/osis/pulumiTypes.go @@ -14,6 +14,334 @@ import ( var _ = internal.GetEnvOrDefault +// Key-value pairs to configure buffering. +type PipelineBufferOptions struct { + // Whether persistent buffering should be enabled. + PersistentBufferEnabled bool `pulumi:"persistentBufferEnabled"` +} + +// PipelineBufferOptionsInput is an input type that accepts PipelineBufferOptionsArgs and PipelineBufferOptionsOutput values. +// You can construct a concrete instance of `PipelineBufferOptionsInput` via: +// +// PipelineBufferOptionsArgs{...} +type PipelineBufferOptionsInput interface { + pulumi.Input + + ToPipelineBufferOptionsOutput() PipelineBufferOptionsOutput + ToPipelineBufferOptionsOutputWithContext(context.Context) PipelineBufferOptionsOutput +} + +// Key-value pairs to configure buffering. +type PipelineBufferOptionsArgs struct { + // Whether persistent buffering should be enabled. + PersistentBufferEnabled pulumi.BoolInput `pulumi:"persistentBufferEnabled"` +} + +func (PipelineBufferOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineBufferOptions)(nil)).Elem() +} + +func (i PipelineBufferOptionsArgs) ToPipelineBufferOptionsOutput() PipelineBufferOptionsOutput { + return i.ToPipelineBufferOptionsOutputWithContext(context.Background()) +} + +func (i PipelineBufferOptionsArgs) ToPipelineBufferOptionsOutputWithContext(ctx context.Context) PipelineBufferOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineBufferOptionsOutput) +} + +func (i PipelineBufferOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineBufferOptions] { + return pulumix.Output[PipelineBufferOptions]{ + OutputState: i.ToPipelineBufferOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i PipelineBufferOptionsArgs) ToPipelineBufferOptionsPtrOutput() PipelineBufferOptionsPtrOutput { + return i.ToPipelineBufferOptionsPtrOutputWithContext(context.Background()) +} + +func (i PipelineBufferOptionsArgs) ToPipelineBufferOptionsPtrOutputWithContext(ctx context.Context) PipelineBufferOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineBufferOptionsOutput).ToPipelineBufferOptionsPtrOutputWithContext(ctx) +} + +// PipelineBufferOptionsPtrInput is an input type that accepts PipelineBufferOptionsArgs, PipelineBufferOptionsPtr and PipelineBufferOptionsPtrOutput values. +// You can construct a concrete instance of `PipelineBufferOptionsPtrInput` via: +// +// PipelineBufferOptionsArgs{...} +// +// or: +// +// nil +type PipelineBufferOptionsPtrInput interface { + pulumi.Input + + ToPipelineBufferOptionsPtrOutput() PipelineBufferOptionsPtrOutput + ToPipelineBufferOptionsPtrOutputWithContext(context.Context) PipelineBufferOptionsPtrOutput +} + +type pipelineBufferOptionsPtrType PipelineBufferOptionsArgs + +func PipelineBufferOptionsPtr(v *PipelineBufferOptionsArgs) PipelineBufferOptionsPtrInput { + return (*pipelineBufferOptionsPtrType)(v) +} + +func (*pipelineBufferOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineBufferOptions)(nil)).Elem() +} + +func (i *pipelineBufferOptionsPtrType) ToPipelineBufferOptionsPtrOutput() PipelineBufferOptionsPtrOutput { + return i.ToPipelineBufferOptionsPtrOutputWithContext(context.Background()) +} + +func (i *pipelineBufferOptionsPtrType) ToPipelineBufferOptionsPtrOutputWithContext(ctx context.Context) PipelineBufferOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineBufferOptionsPtrOutput) +} + +func (i *pipelineBufferOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*PipelineBufferOptions] { + return pulumix.Output[*PipelineBufferOptions]{ + OutputState: i.ToPipelineBufferOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +// Key-value pairs to configure buffering. +type PipelineBufferOptionsOutput struct{ *pulumi.OutputState } + +func (PipelineBufferOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineBufferOptions)(nil)).Elem() +} + +func (o PipelineBufferOptionsOutput) ToPipelineBufferOptionsOutput() PipelineBufferOptionsOutput { + return o +} + +func (o PipelineBufferOptionsOutput) ToPipelineBufferOptionsOutputWithContext(ctx context.Context) PipelineBufferOptionsOutput { + return o +} + +func (o PipelineBufferOptionsOutput) ToPipelineBufferOptionsPtrOutput() PipelineBufferOptionsPtrOutput { + return o.ToPipelineBufferOptionsPtrOutputWithContext(context.Background()) +} + +func (o PipelineBufferOptionsOutput) ToPipelineBufferOptionsPtrOutputWithContext(ctx context.Context) PipelineBufferOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PipelineBufferOptions) *PipelineBufferOptions { + return &v + }).(PipelineBufferOptionsPtrOutput) +} + +func (o PipelineBufferOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineBufferOptions] { + return pulumix.Output[PipelineBufferOptions]{ + OutputState: o.OutputState, + } +} + +// Whether persistent buffering should be enabled. +func (o PipelineBufferOptionsOutput) PersistentBufferEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v PipelineBufferOptions) bool { return v.PersistentBufferEnabled }).(pulumi.BoolOutput) +} + +type PipelineBufferOptionsPtrOutput struct{ *pulumi.OutputState } + +func (PipelineBufferOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineBufferOptions)(nil)).Elem() +} + +func (o PipelineBufferOptionsPtrOutput) ToPipelineBufferOptionsPtrOutput() PipelineBufferOptionsPtrOutput { + return o +} + +func (o PipelineBufferOptionsPtrOutput) ToPipelineBufferOptionsPtrOutputWithContext(ctx context.Context) PipelineBufferOptionsPtrOutput { + return o +} + +func (o PipelineBufferOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*PipelineBufferOptions] { + return pulumix.Output[*PipelineBufferOptions]{ + OutputState: o.OutputState, + } +} + +func (o PipelineBufferOptionsPtrOutput) Elem() PipelineBufferOptionsOutput { + return o.ApplyT(func(v *PipelineBufferOptions) PipelineBufferOptions { + if v != nil { + return *v + } + var ret PipelineBufferOptions + return ret + }).(PipelineBufferOptionsOutput) +} + +// Whether persistent buffering should be enabled. +func (o PipelineBufferOptionsPtrOutput) PersistentBufferEnabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *PipelineBufferOptions) *bool { + if v == nil { + return nil + } + return &v.PersistentBufferEnabled + }).(pulumi.BoolPtrOutput) +} + +// Key-value pairs to configure encryption at rest. +type PipelineEncryptionAtRestOptions struct { + // The KMS key to use for encrypting data. By default an AWS owned key is used + KmsKeyArn string `pulumi:"kmsKeyArn"` +} + +// PipelineEncryptionAtRestOptionsInput is an input type that accepts PipelineEncryptionAtRestOptionsArgs and PipelineEncryptionAtRestOptionsOutput values. +// You can construct a concrete instance of `PipelineEncryptionAtRestOptionsInput` via: +// +// PipelineEncryptionAtRestOptionsArgs{...} +type PipelineEncryptionAtRestOptionsInput interface { + pulumi.Input + + ToPipelineEncryptionAtRestOptionsOutput() PipelineEncryptionAtRestOptionsOutput + ToPipelineEncryptionAtRestOptionsOutputWithContext(context.Context) PipelineEncryptionAtRestOptionsOutput +} + +// Key-value pairs to configure encryption at rest. +type PipelineEncryptionAtRestOptionsArgs struct { + // The KMS key to use for encrypting data. By default an AWS owned key is used + KmsKeyArn pulumi.StringInput `pulumi:"kmsKeyArn"` +} + +func (PipelineEncryptionAtRestOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineEncryptionAtRestOptions)(nil)).Elem() +} + +func (i PipelineEncryptionAtRestOptionsArgs) ToPipelineEncryptionAtRestOptionsOutput() PipelineEncryptionAtRestOptionsOutput { + return i.ToPipelineEncryptionAtRestOptionsOutputWithContext(context.Background()) +} + +func (i PipelineEncryptionAtRestOptionsArgs) ToPipelineEncryptionAtRestOptionsOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineEncryptionAtRestOptionsOutput) +} + +func (i PipelineEncryptionAtRestOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[PipelineEncryptionAtRestOptions] { + return pulumix.Output[PipelineEncryptionAtRestOptions]{ + OutputState: i.ToPipelineEncryptionAtRestOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i PipelineEncryptionAtRestOptionsArgs) ToPipelineEncryptionAtRestOptionsPtrOutput() PipelineEncryptionAtRestOptionsPtrOutput { + return i.ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(context.Background()) +} + +func (i PipelineEncryptionAtRestOptionsArgs) ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineEncryptionAtRestOptionsOutput).ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx) +} + +// PipelineEncryptionAtRestOptionsPtrInput is an input type that accepts PipelineEncryptionAtRestOptionsArgs, PipelineEncryptionAtRestOptionsPtr and PipelineEncryptionAtRestOptionsPtrOutput values. +// You can construct a concrete instance of `PipelineEncryptionAtRestOptionsPtrInput` via: +// +// PipelineEncryptionAtRestOptionsArgs{...} +// +// or: +// +// nil +type PipelineEncryptionAtRestOptionsPtrInput interface { + pulumi.Input + + ToPipelineEncryptionAtRestOptionsPtrOutput() PipelineEncryptionAtRestOptionsPtrOutput + ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(context.Context) PipelineEncryptionAtRestOptionsPtrOutput +} + +type pipelineEncryptionAtRestOptionsPtrType PipelineEncryptionAtRestOptionsArgs + +func PipelineEncryptionAtRestOptionsPtr(v *PipelineEncryptionAtRestOptionsArgs) PipelineEncryptionAtRestOptionsPtrInput { + return (*pipelineEncryptionAtRestOptionsPtrType)(v) +} + +func (*pipelineEncryptionAtRestOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineEncryptionAtRestOptions)(nil)).Elem() +} + +func (i *pipelineEncryptionAtRestOptionsPtrType) ToPipelineEncryptionAtRestOptionsPtrOutput() PipelineEncryptionAtRestOptionsPtrOutput { + return i.ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(context.Background()) +} + +func (i *pipelineEncryptionAtRestOptionsPtrType) ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PipelineEncryptionAtRestOptionsPtrOutput) +} + +func (i *pipelineEncryptionAtRestOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*PipelineEncryptionAtRestOptions] { + return pulumix.Output[*PipelineEncryptionAtRestOptions]{ + OutputState: i.ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +// Key-value pairs to configure encryption at rest. +type PipelineEncryptionAtRestOptionsOutput struct{ *pulumi.OutputState } + +func (PipelineEncryptionAtRestOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PipelineEncryptionAtRestOptions)(nil)).Elem() +} + +func (o PipelineEncryptionAtRestOptionsOutput) ToPipelineEncryptionAtRestOptionsOutput() PipelineEncryptionAtRestOptionsOutput { + return o +} + +func (o PipelineEncryptionAtRestOptionsOutput) ToPipelineEncryptionAtRestOptionsOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsOutput { + return o +} + +func (o PipelineEncryptionAtRestOptionsOutput) ToPipelineEncryptionAtRestOptionsPtrOutput() PipelineEncryptionAtRestOptionsPtrOutput { + return o.ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(context.Background()) +} + +func (o PipelineEncryptionAtRestOptionsOutput) ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PipelineEncryptionAtRestOptions) *PipelineEncryptionAtRestOptions { + return &v + }).(PipelineEncryptionAtRestOptionsPtrOutput) +} + +func (o PipelineEncryptionAtRestOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[PipelineEncryptionAtRestOptions] { + return pulumix.Output[PipelineEncryptionAtRestOptions]{ + OutputState: o.OutputState, + } +} + +// The KMS key to use for encrypting data. By default an AWS owned key is used +func (o PipelineEncryptionAtRestOptionsOutput) KmsKeyArn() pulumi.StringOutput { + return o.ApplyT(func(v PipelineEncryptionAtRestOptions) string { return v.KmsKeyArn }).(pulumi.StringOutput) +} + +type PipelineEncryptionAtRestOptionsPtrOutput struct{ *pulumi.OutputState } + +func (PipelineEncryptionAtRestOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PipelineEncryptionAtRestOptions)(nil)).Elem() +} + +func (o PipelineEncryptionAtRestOptionsPtrOutput) ToPipelineEncryptionAtRestOptionsPtrOutput() PipelineEncryptionAtRestOptionsPtrOutput { + return o +} + +func (o PipelineEncryptionAtRestOptionsPtrOutput) ToPipelineEncryptionAtRestOptionsPtrOutputWithContext(ctx context.Context) PipelineEncryptionAtRestOptionsPtrOutput { + return o +} + +func (o PipelineEncryptionAtRestOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*PipelineEncryptionAtRestOptions] { + return pulumix.Output[*PipelineEncryptionAtRestOptions]{ + OutputState: o.OutputState, + } +} + +func (o PipelineEncryptionAtRestOptionsPtrOutput) Elem() PipelineEncryptionAtRestOptionsOutput { + return o.ApplyT(func(v *PipelineEncryptionAtRestOptions) PipelineEncryptionAtRestOptions { + if v != nil { + return *v + } + var ret PipelineEncryptionAtRestOptions + return ret + }).(PipelineEncryptionAtRestOptionsOutput) +} + +// The KMS key to use for encrypting data. By default an AWS owned key is used +func (o PipelineEncryptionAtRestOptionsPtrOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PipelineEncryptionAtRestOptions) *string { + if v == nil { + return nil + } + return &v.KmsKeyArn + }).(pulumi.StringPtrOutput) +} + // Key-value pairs to configure log publishing. type PipelineLogPublishingOptions struct { // The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. @@ -201,7 +529,7 @@ func (o PipelineLogPublishingOptionsPtrOutput) IsLoggingEnabled() pulumi.BoolPtr // The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. type PipelineLogPublishingOptionsCloudWatchLogDestinationProperties struct { - LogGroup *string `pulumi:"logGroup"` + LogGroup string `pulumi:"logGroup"` } // PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesInput is an input type that accepts PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs and PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesOutput values. @@ -217,7 +545,7 @@ type PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesInput interfa // The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. type PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs struct { - LogGroup pulumi.StringPtrInput `pulumi:"logGroup"` + LogGroup pulumi.StringInput `pulumi:"logGroup"` } func (PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs) ElementType() reflect.Type { @@ -316,8 +644,8 @@ func (o PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesOutput) To } } -func (o PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesOutput) LogGroup() pulumi.StringPtrOutput { - return o.ApplyT(func(v PipelineLogPublishingOptionsCloudWatchLogDestinationProperties) *string { return v.LogGroup }).(pulumi.StringPtrOutput) +func (o PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesOutput) LogGroup() pulumi.StringOutput { + return o.ApplyT(func(v PipelineLogPublishingOptionsCloudWatchLogDestinationProperties) string { return v.LogGroup }).(pulumi.StringOutput) } type PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesPtrOutput struct{ *pulumi.OutputState } @@ -355,7 +683,7 @@ func (o PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesPtrOutput) if v == nil { return nil } - return v.LogGroup + return &v.LogGroup }).(pulumi.StringPtrOutput) } @@ -746,6 +1074,10 @@ func (o PipelineVpcOptionsPtrOutput) SubnetIds() pulumi.StringArrayOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PipelineBufferOptionsInput)(nil)).Elem(), PipelineBufferOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineBufferOptionsPtrInput)(nil)).Elem(), PipelineBufferOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineEncryptionAtRestOptionsInput)(nil)).Elem(), PipelineEncryptionAtRestOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PipelineEncryptionAtRestOptionsPtrInput)(nil)).Elem(), PipelineEncryptionAtRestOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineLogPublishingOptionsInput)(nil)).Elem(), PipelineLogPublishingOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineLogPublishingOptionsPtrInput)(nil)).Elem(), PipelineLogPublishingOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesInput)(nil)).Elem(), PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs{}) @@ -754,6 +1086,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*PipelineTagArrayInput)(nil)).Elem(), PipelineTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineVpcOptionsInput)(nil)).Elem(), PipelineVpcOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PipelineVpcOptionsPtrInput)(nil)).Elem(), PipelineVpcOptionsArgs{}) + pulumi.RegisterOutputType(PipelineBufferOptionsOutput{}) + pulumi.RegisterOutputType(PipelineBufferOptionsPtrOutput{}) + pulumi.RegisterOutputType(PipelineEncryptionAtRestOptionsOutput{}) + pulumi.RegisterOutputType(PipelineEncryptionAtRestOptionsPtrOutput{}) pulumi.RegisterOutputType(PipelineLogPublishingOptionsOutput{}) pulumi.RegisterOutputType(PipelineLogPublishingOptionsPtrOutput{}) pulumi.RegisterOutputType(PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesOutput{}) diff --git a/sdk/go/aws/route53resolver/getResolverConfig.go b/sdk/go/aws/route53resolver/getResolverConfig.go index 86cc266b39..613928d976 100644 --- a/sdk/go/aws/route53resolver/getResolverConfig.go +++ b/sdk/go/aws/route53resolver/getResolverConfig.go @@ -24,8 +24,8 @@ func LookupResolverConfig(ctx *pulumi.Context, args *LookupResolverConfigArgs, o } type LookupResolverConfigArgs struct { - // Id - Id string `pulumi:"id"` + // ResourceId + ResourceId string `pulumi:"resourceId"` } type LookupResolverConfigResult struct { @@ -51,8 +51,8 @@ func LookupResolverConfigOutput(ctx *pulumi.Context, args LookupResolverConfigOu } type LookupResolverConfigOutputArgs struct { - // Id - Id pulumi.StringInput `pulumi:"id"` + // ResourceId + ResourceId pulumi.StringInput `pulumi:"resourceId"` } func (LookupResolverConfigOutputArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/s3/pulumiTypes.go b/sdk/go/aws/s3/pulumiTypes.go index 39a3d9bc71..1d44f1ba62 100644 --- a/sdk/go/aws/s3/pulumiTypes.go +++ b/sdk/go/aws/s3/pulumiTypes.go @@ -4038,8 +4038,9 @@ func (o BucketLifecycleConfigurationPtrOutput) Rules() BucketRuleArrayOutput { type BucketLoggingConfiguration struct { // 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. - DestinationBucketName *string `pulumi:"destinationBucketName"` - LogFilePrefix *string `pulumi:"logFilePrefix"` + DestinationBucketName *string `pulumi:"destinationBucketName"` + LogFilePrefix *string `pulumi:"logFilePrefix"` + TargetObjectKeyFormat *BucketTargetObjectKeyFormat `pulumi:"targetObjectKeyFormat"` } // BucketLoggingConfigurationInput is an input type that accepts BucketLoggingConfigurationArgs and BucketLoggingConfigurationOutput values. @@ -4055,8 +4056,9 @@ type BucketLoggingConfigurationInput interface { type BucketLoggingConfigurationArgs struct { // 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. - DestinationBucketName pulumi.StringPtrInput `pulumi:"destinationBucketName"` - LogFilePrefix pulumi.StringPtrInput `pulumi:"logFilePrefix"` + DestinationBucketName pulumi.StringPtrInput `pulumi:"destinationBucketName"` + LogFilePrefix pulumi.StringPtrInput `pulumi:"logFilePrefix"` + TargetObjectKeyFormat BucketTargetObjectKeyFormatPtrInput `pulumi:"targetObjectKeyFormat"` } func (BucketLoggingConfigurationArgs) ElementType() reflect.Type { @@ -4163,6 +4165,10 @@ func (o BucketLoggingConfigurationOutput) LogFilePrefix() pulumi.StringPtrOutput return o.ApplyT(func(v BucketLoggingConfiguration) *string { return v.LogFilePrefix }).(pulumi.StringPtrOutput) } +func (o BucketLoggingConfigurationOutput) TargetObjectKeyFormat() BucketTargetObjectKeyFormatPtrOutput { + return o.ApplyT(func(v BucketLoggingConfiguration) *BucketTargetObjectKeyFormat { return v.TargetObjectKeyFormat }).(BucketTargetObjectKeyFormatPtrOutput) +} + type BucketLoggingConfigurationPtrOutput struct{ *pulumi.OutputState } func (BucketLoggingConfigurationPtrOutput) ElementType() reflect.Type { @@ -4212,6 +4218,15 @@ func (o BucketLoggingConfigurationPtrOutput) LogFilePrefix() pulumi.StringPtrOut }).(pulumi.StringPtrOutput) } +func (o BucketLoggingConfigurationPtrOutput) TargetObjectKeyFormat() BucketTargetObjectKeyFormatPtrOutput { + return o.ApplyT(func(v *BucketLoggingConfiguration) *BucketTargetObjectKeyFormat { + if v == nil { + return nil + } + return v.TargetObjectKeyFormat + }).(BucketTargetObjectKeyFormatPtrOutput) +} + type BucketMetrics struct { EventThreshold *BucketReplicationTimeValue `pulumi:"eventThreshold"` Status BucketMetricsStatus `pulumi:"status"` @@ -9689,6 +9704,151 @@ func (o BucketTagFilterArrayOutput) Index(i pulumi.IntInput) BucketTagFilterOutp }).(BucketTagFilterOutput) } +// Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. +type BucketTargetObjectKeyFormat struct { +} + +// BucketTargetObjectKeyFormatInput is an input type that accepts BucketTargetObjectKeyFormatArgs and BucketTargetObjectKeyFormatOutput values. +// You can construct a concrete instance of `BucketTargetObjectKeyFormatInput` via: +// +// BucketTargetObjectKeyFormatArgs{...} +type BucketTargetObjectKeyFormatInput interface { + pulumi.Input + + ToBucketTargetObjectKeyFormatOutput() BucketTargetObjectKeyFormatOutput + ToBucketTargetObjectKeyFormatOutputWithContext(context.Context) BucketTargetObjectKeyFormatOutput +} + +// Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. +type BucketTargetObjectKeyFormatArgs struct { +} + +func (BucketTargetObjectKeyFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*BucketTargetObjectKeyFormat)(nil)).Elem() +} + +func (i BucketTargetObjectKeyFormatArgs) ToBucketTargetObjectKeyFormatOutput() BucketTargetObjectKeyFormatOutput { + return i.ToBucketTargetObjectKeyFormatOutputWithContext(context.Background()) +} + +func (i BucketTargetObjectKeyFormatArgs) ToBucketTargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketTargetObjectKeyFormatOutput) +} + +func (i BucketTargetObjectKeyFormatArgs) ToOutput(ctx context.Context) pulumix.Output[BucketTargetObjectKeyFormat] { + return pulumix.Output[BucketTargetObjectKeyFormat]{ + OutputState: i.ToBucketTargetObjectKeyFormatOutputWithContext(ctx).OutputState, + } +} + +func (i BucketTargetObjectKeyFormatArgs) ToBucketTargetObjectKeyFormatPtrOutput() BucketTargetObjectKeyFormatPtrOutput { + return i.ToBucketTargetObjectKeyFormatPtrOutputWithContext(context.Background()) +} + +func (i BucketTargetObjectKeyFormatArgs) ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketTargetObjectKeyFormatOutput).ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx) +} + +// BucketTargetObjectKeyFormatPtrInput is an input type that accepts BucketTargetObjectKeyFormatArgs, BucketTargetObjectKeyFormatPtr and BucketTargetObjectKeyFormatPtrOutput values. +// You can construct a concrete instance of `BucketTargetObjectKeyFormatPtrInput` via: +// +// BucketTargetObjectKeyFormatArgs{...} +// +// or: +// +// nil +type BucketTargetObjectKeyFormatPtrInput interface { + pulumi.Input + + ToBucketTargetObjectKeyFormatPtrOutput() BucketTargetObjectKeyFormatPtrOutput + ToBucketTargetObjectKeyFormatPtrOutputWithContext(context.Context) BucketTargetObjectKeyFormatPtrOutput +} + +type bucketTargetObjectKeyFormatPtrType BucketTargetObjectKeyFormatArgs + +func BucketTargetObjectKeyFormatPtr(v *BucketTargetObjectKeyFormatArgs) BucketTargetObjectKeyFormatPtrInput { + return (*bucketTargetObjectKeyFormatPtrType)(v) +} + +func (*bucketTargetObjectKeyFormatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**BucketTargetObjectKeyFormat)(nil)).Elem() +} + +func (i *bucketTargetObjectKeyFormatPtrType) ToBucketTargetObjectKeyFormatPtrOutput() BucketTargetObjectKeyFormatPtrOutput { + return i.ToBucketTargetObjectKeyFormatPtrOutputWithContext(context.Background()) +} + +func (i *bucketTargetObjectKeyFormatPtrType) ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(BucketTargetObjectKeyFormatPtrOutput) +} + +func (i *bucketTargetObjectKeyFormatPtrType) ToOutput(ctx context.Context) pulumix.Output[*BucketTargetObjectKeyFormat] { + return pulumix.Output[*BucketTargetObjectKeyFormat]{ + OutputState: i.ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx).OutputState, + } +} + +// Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. +type BucketTargetObjectKeyFormatOutput struct{ *pulumi.OutputState } + +func (BucketTargetObjectKeyFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*BucketTargetObjectKeyFormat)(nil)).Elem() +} + +func (o BucketTargetObjectKeyFormatOutput) ToBucketTargetObjectKeyFormatOutput() BucketTargetObjectKeyFormatOutput { + return o +} + +func (o BucketTargetObjectKeyFormatOutput) ToBucketTargetObjectKeyFormatOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatOutput { + return o +} + +func (o BucketTargetObjectKeyFormatOutput) ToBucketTargetObjectKeyFormatPtrOutput() BucketTargetObjectKeyFormatPtrOutput { + return o.ToBucketTargetObjectKeyFormatPtrOutputWithContext(context.Background()) +} + +func (o BucketTargetObjectKeyFormatOutput) ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v BucketTargetObjectKeyFormat) *BucketTargetObjectKeyFormat { + return &v + }).(BucketTargetObjectKeyFormatPtrOutput) +} + +func (o BucketTargetObjectKeyFormatOutput) ToOutput(ctx context.Context) pulumix.Output[BucketTargetObjectKeyFormat] { + return pulumix.Output[BucketTargetObjectKeyFormat]{ + OutputState: o.OutputState, + } +} + +type BucketTargetObjectKeyFormatPtrOutput struct{ *pulumi.OutputState } + +func (BucketTargetObjectKeyFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**BucketTargetObjectKeyFormat)(nil)).Elem() +} + +func (o BucketTargetObjectKeyFormatPtrOutput) ToBucketTargetObjectKeyFormatPtrOutput() BucketTargetObjectKeyFormatPtrOutput { + return o +} + +func (o BucketTargetObjectKeyFormatPtrOutput) ToBucketTargetObjectKeyFormatPtrOutputWithContext(ctx context.Context) BucketTargetObjectKeyFormatPtrOutput { + return o +} + +func (o BucketTargetObjectKeyFormatPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*BucketTargetObjectKeyFormat] { + return pulumix.Output[*BucketTargetObjectKeyFormat]{ + OutputState: o.OutputState, + } +} + +func (o BucketTargetObjectKeyFormatPtrOutput) Elem() BucketTargetObjectKeyFormatOutput { + return o.ApplyT(func(v *BucketTargetObjectKeyFormat) BucketTargetObjectKeyFormat { + if v != nil { + return *v + } + var ret BucketTargetObjectKeyFormat + return ret + }).(BucketTargetObjectKeyFormatOutput) +} + type BucketTiering struct { // 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. AccessTier BucketTieringAccessTier `pulumi:"accessTier"` @@ -15298,6 +15458,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*BucketTagFilterInput)(nil)).Elem(), BucketTagFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketTagFilterPtrInput)(nil)).Elem(), BucketTagFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketTagFilterArrayInput)(nil)).Elem(), BucketTagFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketTargetObjectKeyFormatInput)(nil)).Elem(), BucketTargetObjectKeyFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*BucketTargetObjectKeyFormatPtrInput)(nil)).Elem(), BucketTargetObjectKeyFormatArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketTieringInput)(nil)).Elem(), BucketTieringArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketTieringArrayInput)(nil)).Elem(), BucketTieringArray{}) pulumi.RegisterInputType(reflect.TypeOf((*BucketTopicConfigurationInput)(nil)).Elem(), BucketTopicConfigurationArgs{}) @@ -15476,6 +15638,8 @@ func init() { pulumi.RegisterOutputType(BucketTagFilterOutput{}) pulumi.RegisterOutputType(BucketTagFilterPtrOutput{}) pulumi.RegisterOutputType(BucketTagFilterArrayOutput{}) + pulumi.RegisterOutputType(BucketTargetObjectKeyFormatOutput{}) + pulumi.RegisterOutputType(BucketTargetObjectKeyFormatPtrOutput{}) pulumi.RegisterOutputType(BucketTieringOutput{}) pulumi.RegisterOutputType(BucketTieringArrayOutput{}) pulumi.RegisterOutputType(BucketTopicConfigurationOutput{}) diff --git a/sdk/go/aws/s3express/directoryBucket.go b/sdk/go/aws/s3express/directoryBucket.go index cd58d040c5..d0929208ae 100644 --- a/sdk/go/aws/s3express/directoryBucket.go +++ b/sdk/go/aws/s3express/directoryBucket.go @@ -19,9 +19,9 @@ type DirectoryBucket struct { // Returns the Amazon Resource Name (ARN) of the specified bucket. Arn pulumi.StringOutput `pulumi:"arn"` - // 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. + // 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. BucketName pulumi.StringPtrOutput `pulumi:"bucketName"` - // Specifies the number of Avilability Zone that's used for redundancy for the bucket. + // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancyOutput `pulumi:"dataRedundancy"` // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName pulumi.StringOutput `pulumi:"locationName"` @@ -79,9 +79,9 @@ func (DirectoryBucketState) ElementType() reflect.Type { } type directoryBucketArgs struct { - // 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. + // 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. BucketName *string `pulumi:"bucketName"` - // Specifies the number of Avilability Zone that's used for redundancy for the bucket. + // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancy `pulumi:"dataRedundancy"` // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName string `pulumi:"locationName"` @@ -89,9 +89,9 @@ type directoryBucketArgs struct { // The set of arguments for constructing a DirectoryBucket resource. type DirectoryBucketArgs struct { - // 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. + // 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. BucketName pulumi.StringPtrInput - // Specifies the number of Avilability Zone that's used for redundancy for the bucket. + // Specifies the number of Availability Zone that's used for redundancy for the bucket. DataRedundancy DirectoryBucketDataRedundancyInput // Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. LocationName pulumi.StringInput @@ -151,12 +151,12 @@ func (o DirectoryBucketOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *DirectoryBucket) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// 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. +// 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. func (o DirectoryBucketOutput) BucketName() pulumi.StringPtrOutput { return o.ApplyT(func(v *DirectoryBucket) pulumi.StringPtrOutput { return v.BucketName }).(pulumi.StringPtrOutput) } -// Specifies the number of Avilability Zone that's used for redundancy for the bucket. +// Specifies the number of Availability Zone that's used for redundancy for the bucket. func (o DirectoryBucketOutput) DataRedundancy() DirectoryBucketDataRedundancyOutput { return o.ApplyT(func(v *DirectoryBucket) DirectoryBucketDataRedundancyOutput { return v.DataRedundancy }).(DirectoryBucketDataRedundancyOutput) } diff --git a/sdk/go/aws/s3express/getDirectoryBucket.go b/sdk/go/aws/s3express/getDirectoryBucket.go index d836fd381c..76814df55c 100644 --- a/sdk/go/aws/s3express/getDirectoryBucket.go +++ b/sdk/go/aws/s3express/getDirectoryBucket.go @@ -24,7 +24,7 @@ func LookupDirectoryBucket(ctx *pulumi.Context, args *LookupDirectoryBucketArgs, } type LookupDirectoryBucketArgs struct { - // 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. + // 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. BucketName string `pulumi:"bucketName"` } @@ -47,7 +47,7 @@ func LookupDirectoryBucketOutput(ctx *pulumi.Context, args LookupDirectoryBucket } type LookupDirectoryBucketOutputArgs struct { - // 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. + // 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. BucketName pulumi.StringInput `pulumi:"bucketName"` } diff --git a/sdk/go/aws/s3express/pulumiEnums.go b/sdk/go/aws/s3express/pulumiEnums.go index d942ebbc2f..eca0a664f4 100644 --- a/sdk/go/aws/s3express/pulumiEnums.go +++ b/sdk/go/aws/s3express/pulumiEnums.go @@ -11,7 +11,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) -// Specifies the number of Avilability Zone that's used for redundancy for the bucket. +// Specifies the number of Availability Zone that's used for redundancy for the bucket. type DirectoryBucketDataRedundancy string const ( diff --git a/sdk/go/aws/sagemaker/domain.go b/sdk/go/aws/sagemaker/domain.go index 67bf4c66d2..29cb92a729 100644 --- a/sdk/go/aws/sagemaker/domain.go +++ b/sdk/go/aws/sagemaker/domain.go @@ -40,6 +40,8 @@ type Domain struct { KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. SecurityGroupIdForDomainBoundary pulumi.StringOutput `pulumi:"securityGroupIdForDomainBoundary"` + // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + SingleSignOnApplicationArn pulumi.StringOutput `pulumi:"singleSignOnApplicationArn"` // The SSO managed application instance ID. SingleSignOnManagedApplicationInstanceId pulumi.StringOutput `pulumi:"singleSignOnManagedApplicationInstanceId"` // The VPC subnets that Studio uses for communication. @@ -72,12 +74,10 @@ func NewDomain(ctx *pulumi.Context, return nil, errors.New("invalid value for required argument 'VpcId'") } replaceOnChanges := pulumi.ReplaceOnChanges([]string{ - "appNetworkAccessType", "authMode", "domainName", "domainSettings.rStudioServerProDomainSettings.defaultResourceSpec", "kmsKeyId", - "subnetIds[*]", "tags[*]", "vpcId", }) @@ -271,6 +271,11 @@ func (o DomainOutput) SecurityGroupIdForDomainBoundary() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SecurityGroupIdForDomainBoundary }).(pulumi.StringOutput) } +// The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. +func (o DomainOutput) SingleSignOnApplicationArn() pulumi.StringOutput { + return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SingleSignOnApplicationArn }).(pulumi.StringOutput) +} + // The SSO managed application instance ID. func (o DomainOutput) SingleSignOnManagedApplicationInstanceId() pulumi.StringOutput { return o.ApplyT(func(v *Domain) pulumi.StringOutput { return v.SingleSignOnManagedApplicationInstanceId }).(pulumi.StringOutput) diff --git a/sdk/go/aws/sagemaker/getDomain.go b/sdk/go/aws/sagemaker/getDomain.go index b191c4c5d2..a39d5aa941 100644 --- a/sdk/go/aws/sagemaker/getDomain.go +++ b/sdk/go/aws/sagemaker/getDomain.go @@ -29,6 +29,8 @@ type LookupDomainArgs struct { } type LookupDomainResult struct { + // Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. + AppNetworkAccessType *DomainAppNetworkAccessType `pulumi:"appNetworkAccessType"` // 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. AppSecurityGroupManagement *DomainAppSecurityGroupManagement `pulumi:"appSecurityGroupManagement"` // The default space settings. @@ -44,8 +46,12 @@ type LookupDomainResult struct { HomeEfsFileSystemId *string `pulumi:"homeEfsFileSystemId"` // The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. SecurityGroupIdForDomainBoundary *string `pulumi:"securityGroupIdForDomainBoundary"` + // The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + SingleSignOnApplicationArn *string `pulumi:"singleSignOnApplicationArn"` // The SSO managed application instance ID. SingleSignOnManagedApplicationInstanceId *string `pulumi:"singleSignOnManagedApplicationInstanceId"` + // The VPC subnets that Studio uses for communication. + SubnetIds []string `pulumi:"subnetIds"` // The URL to the created domain. Url *string `pulumi:"url"` } @@ -92,6 +98,11 @@ func (o LookupDomainResultOutput) ToOutput(ctx context.Context) pulumix.Output[L } } +// Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. +func (o LookupDomainResultOutput) AppNetworkAccessType() DomainAppNetworkAccessTypePtrOutput { + return o.ApplyT(func(v LookupDomainResult) *DomainAppNetworkAccessType { return v.AppNetworkAccessType }).(DomainAppNetworkAccessTypePtrOutput) +} + // 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. func (o LookupDomainResultOutput) AppSecurityGroupManagement() DomainAppSecurityGroupManagementPtrOutput { return o.ApplyT(func(v LookupDomainResult) *DomainAppSecurityGroupManagement { return v.AppSecurityGroupManagement }).(DomainAppSecurityGroupManagementPtrOutput) @@ -131,11 +142,21 @@ func (o LookupDomainResultOutput) SecurityGroupIdForDomainBoundary() pulumi.Stri return o.ApplyT(func(v LookupDomainResult) *string { return v.SecurityGroupIdForDomainBoundary }).(pulumi.StringPtrOutput) } +// The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. +func (o LookupDomainResultOutput) SingleSignOnApplicationArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDomainResult) *string { return v.SingleSignOnApplicationArn }).(pulumi.StringPtrOutput) +} + // The SSO managed application instance ID. func (o LookupDomainResultOutput) SingleSignOnManagedApplicationInstanceId() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainResult) *string { return v.SingleSignOnManagedApplicationInstanceId }).(pulumi.StringPtrOutput) } +// The VPC subnets that Studio uses for communication. +func (o LookupDomainResultOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupDomainResult) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + // The URL to the created domain. func (o LookupDomainResultOutput) Url() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupDomainResult) *string { return v.Url }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/sagemaker/pulumiEnums.go b/sdk/go/aws/sagemaker/pulumiEnums.go index c424e6f06d..6400276263 100644 --- a/sdk/go/aws/sagemaker/pulumiEnums.go +++ b/sdk/go/aws/sagemaker/pulumiEnums.go @@ -75,6 +75,9 @@ const ( AppResourceSpecInstanceTypeMlP4d24xlarge = AppResourceSpecInstanceType("ml.p4d.24xlarge") AppResourceSpecInstanceTypeMlP4de24xlarge = AppResourceSpecInstanceType("ml.p4de.24xlarge") AppResourceSpecInstanceTypeMlGeospatialInteractive = AppResourceSpecInstanceType("ml.geospatial.interactive") + AppResourceSpecInstanceTypeMlTrn12xlarge = AppResourceSpecInstanceType("ml.trn1.2xlarge") + AppResourceSpecInstanceTypeMlTrn132xlarge = AppResourceSpecInstanceType("ml.trn1.32xlarge") + AppResourceSpecInstanceTypeMlTrn1n32xlarge = AppResourceSpecInstanceType("ml.trn1n.32xlarge") ) func (AppResourceSpecInstanceType) ElementType() reflect.Type { @@ -2332,6 +2335,9 @@ const ( DomainResourceSpecInstanceTypeMlP4d24xlarge = DomainResourceSpecInstanceType("ml.p4d.24xlarge") DomainResourceSpecInstanceTypeMlP4de24xlarge = DomainResourceSpecInstanceType("ml.p4de.24xlarge") DomainResourceSpecInstanceTypeMlGeospatialInteractive = DomainResourceSpecInstanceType("ml.geospatial.interactive") + DomainResourceSpecInstanceTypeMlTrn12xlarge = DomainResourceSpecInstanceType("ml.trn1.2xlarge") + DomainResourceSpecInstanceTypeMlTrn132xlarge = DomainResourceSpecInstanceType("ml.trn1.32xlarge") + DomainResourceSpecInstanceTypeMlTrn1n32xlarge = DomainResourceSpecInstanceType("ml.trn1n.32xlarge") ) func (DomainResourceSpecInstanceType) ElementType() reflect.Type { @@ -2692,6 +2698,189 @@ func (in *domainSharingSettingsNotebookOutputOptionPtr) ToOutput(ctx context.Con } } +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +type DomainUserSettingsStudioWebPortal string + +const ( + DomainUserSettingsStudioWebPortalEnabled = DomainUserSettingsStudioWebPortal("ENABLED") + DomainUserSettingsStudioWebPortalDisabled = DomainUserSettingsStudioWebPortal("DISABLED") +) + +func (DomainUserSettingsStudioWebPortal) ElementType() reflect.Type { + return reflect.TypeOf((*DomainUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (e DomainUserSettingsStudioWebPortal) ToDomainUserSettingsStudioWebPortalOutput() DomainUserSettingsStudioWebPortalOutput { + return pulumi.ToOutput(e).(DomainUserSettingsStudioWebPortalOutput) +} + +func (e DomainUserSettingsStudioWebPortal) ToDomainUserSettingsStudioWebPortalOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalOutput { + return pulumi.ToOutputWithContext(ctx, e).(DomainUserSettingsStudioWebPortalOutput) +} + +func (e DomainUserSettingsStudioWebPortal) ToDomainUserSettingsStudioWebPortalPtrOutput() DomainUserSettingsStudioWebPortalPtrOutput { + return e.ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(context.Background()) +} + +func (e DomainUserSettingsStudioWebPortal) ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalPtrOutput { + return DomainUserSettingsStudioWebPortal(e).ToDomainUserSettingsStudioWebPortalOutputWithContext(ctx).ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx) +} + +func (e DomainUserSettingsStudioWebPortal) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainUserSettingsStudioWebPortal) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DomainUserSettingsStudioWebPortal) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DomainUserSettingsStudioWebPortal) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DomainUserSettingsStudioWebPortalOutput struct{ *pulumi.OutputState } + +func (DomainUserSettingsStudioWebPortalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToDomainUserSettingsStudioWebPortalOutput() DomainUserSettingsStudioWebPortalOutput { + return o +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToDomainUserSettingsStudioWebPortalOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalOutput { + return o +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToDomainUserSettingsStudioWebPortalPtrOutput() DomainUserSettingsStudioWebPortalPtrOutput { + return o.ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(context.Background()) +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainUserSettingsStudioWebPortal) *DomainUserSettingsStudioWebPortal { + return &v + }).(DomainUserSettingsStudioWebPortalPtrOutput) +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToOutput(ctx context.Context) pulumix.Output[DomainUserSettingsStudioWebPortal] { + return pulumix.Output[DomainUserSettingsStudioWebPortal]{ + OutputState: o.OutputState, + } +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainUserSettingsStudioWebPortal) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainUserSettingsStudioWebPortalOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DomainUserSettingsStudioWebPortal) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DomainUserSettingsStudioWebPortalPtrOutput struct{ *pulumi.OutputState } + +func (DomainUserSettingsStudioWebPortalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) ToDomainUserSettingsStudioWebPortalPtrOutput() DomainUserSettingsStudioWebPortalPtrOutput { + return o +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalPtrOutput { + return o +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainUserSettingsStudioWebPortal] { + return pulumix.Output[*DomainUserSettingsStudioWebPortal]{ + OutputState: o.OutputState, + } +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) Elem() DomainUserSettingsStudioWebPortalOutput { + return o.ApplyT(func(v *DomainUserSettingsStudioWebPortal) DomainUserSettingsStudioWebPortal { + if v != nil { + return *v + } + var ret DomainUserSettingsStudioWebPortal + return ret + }).(DomainUserSettingsStudioWebPortalOutput) +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DomainUserSettingsStudioWebPortalPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DomainUserSettingsStudioWebPortal) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DomainUserSettingsStudioWebPortalInput is an input type that accepts DomainUserSettingsStudioWebPortalArgs and DomainUserSettingsStudioWebPortalOutput values. +// You can construct a concrete instance of `DomainUserSettingsStudioWebPortalInput` via: +// +// DomainUserSettingsStudioWebPortalArgs{...} +type DomainUserSettingsStudioWebPortalInput interface { + pulumi.Input + + ToDomainUserSettingsStudioWebPortalOutput() DomainUserSettingsStudioWebPortalOutput + ToDomainUserSettingsStudioWebPortalOutputWithContext(context.Context) DomainUserSettingsStudioWebPortalOutput +} + +var domainUserSettingsStudioWebPortalPtrType = reflect.TypeOf((**DomainUserSettingsStudioWebPortal)(nil)).Elem() + +type DomainUserSettingsStudioWebPortalPtrInput interface { + pulumi.Input + + ToDomainUserSettingsStudioWebPortalPtrOutput() DomainUserSettingsStudioWebPortalPtrOutput + ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(context.Context) DomainUserSettingsStudioWebPortalPtrOutput +} + +type domainUserSettingsStudioWebPortalPtr string + +func DomainUserSettingsStudioWebPortalPtr(v string) DomainUserSettingsStudioWebPortalPtrInput { + return (*domainUserSettingsStudioWebPortalPtr)(&v) +} + +func (*domainUserSettingsStudioWebPortalPtr) ElementType() reflect.Type { + return domainUserSettingsStudioWebPortalPtrType +} + +func (in *domainUserSettingsStudioWebPortalPtr) ToDomainUserSettingsStudioWebPortalPtrOutput() DomainUserSettingsStudioWebPortalPtrOutput { + return pulumi.ToOutput(in).(DomainUserSettingsStudioWebPortalPtrOutput) +} + +func (in *domainUserSettingsStudioWebPortalPtr) ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) DomainUserSettingsStudioWebPortalPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DomainUserSettingsStudioWebPortalPtrOutput) +} + +func (in *domainUserSettingsStudioWebPortalPtr) ToOutput(ctx context.Context) pulumix.Output[*DomainUserSettingsStudioWebPortal] { + return pulumix.Output[*DomainUserSettingsStudioWebPortal]{ + OutputState: in.ToDomainUserSettingsStudioWebPortalPtrOutputWithContext(ctx).OutputState, + } +} + type FeatureGroupFeatureDefinitionFeatureType string const ( @@ -2875,6 +3064,188 @@ func (in *featureGroupFeatureDefinitionFeatureTypePtr) ToOutput(ctx context.Cont } } +type FeatureGroupStorageType string + +const ( + FeatureGroupStorageTypeStandard = FeatureGroupStorageType("Standard") + FeatureGroupStorageTypeInMemory = FeatureGroupStorageType("InMemory") +) + +func (FeatureGroupStorageType) ElementType() reflect.Type { + return reflect.TypeOf((*FeatureGroupStorageType)(nil)).Elem() +} + +func (e FeatureGroupStorageType) ToFeatureGroupStorageTypeOutput() FeatureGroupStorageTypeOutput { + return pulumi.ToOutput(e).(FeatureGroupStorageTypeOutput) +} + +func (e FeatureGroupStorageType) ToFeatureGroupStorageTypeOutputWithContext(ctx context.Context) FeatureGroupStorageTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(FeatureGroupStorageTypeOutput) +} + +func (e FeatureGroupStorageType) ToFeatureGroupStorageTypePtrOutput() FeatureGroupStorageTypePtrOutput { + return e.ToFeatureGroupStorageTypePtrOutputWithContext(context.Background()) +} + +func (e FeatureGroupStorageType) ToFeatureGroupStorageTypePtrOutputWithContext(ctx context.Context) FeatureGroupStorageTypePtrOutput { + return FeatureGroupStorageType(e).ToFeatureGroupStorageTypeOutputWithContext(ctx).ToFeatureGroupStorageTypePtrOutputWithContext(ctx) +} + +func (e FeatureGroupStorageType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FeatureGroupStorageType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e FeatureGroupStorageType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e FeatureGroupStorageType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type FeatureGroupStorageTypeOutput struct{ *pulumi.OutputState } + +func (FeatureGroupStorageTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FeatureGroupStorageType)(nil)).Elem() +} + +func (o FeatureGroupStorageTypeOutput) ToFeatureGroupStorageTypeOutput() FeatureGroupStorageTypeOutput { + return o +} + +func (o FeatureGroupStorageTypeOutput) ToFeatureGroupStorageTypeOutputWithContext(ctx context.Context) FeatureGroupStorageTypeOutput { + return o +} + +func (o FeatureGroupStorageTypeOutput) ToFeatureGroupStorageTypePtrOutput() FeatureGroupStorageTypePtrOutput { + return o.ToFeatureGroupStorageTypePtrOutputWithContext(context.Background()) +} + +func (o FeatureGroupStorageTypeOutput) ToFeatureGroupStorageTypePtrOutputWithContext(ctx context.Context) FeatureGroupStorageTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FeatureGroupStorageType) *FeatureGroupStorageType { + return &v + }).(FeatureGroupStorageTypePtrOutput) +} + +func (o FeatureGroupStorageTypeOutput) ToOutput(ctx context.Context) pulumix.Output[FeatureGroupStorageType] { + return pulumix.Output[FeatureGroupStorageType]{ + OutputState: o.OutputState, + } +} + +func (o FeatureGroupStorageTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o FeatureGroupStorageTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FeatureGroupStorageType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o FeatureGroupStorageTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FeatureGroupStorageTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e FeatureGroupStorageType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type FeatureGroupStorageTypePtrOutput struct{ *pulumi.OutputState } + +func (FeatureGroupStorageTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FeatureGroupStorageType)(nil)).Elem() +} + +func (o FeatureGroupStorageTypePtrOutput) ToFeatureGroupStorageTypePtrOutput() FeatureGroupStorageTypePtrOutput { + return o +} + +func (o FeatureGroupStorageTypePtrOutput) ToFeatureGroupStorageTypePtrOutputWithContext(ctx context.Context) FeatureGroupStorageTypePtrOutput { + return o +} + +func (o FeatureGroupStorageTypePtrOutput) ToOutput(ctx context.Context) pulumix.Output[*FeatureGroupStorageType] { + return pulumix.Output[*FeatureGroupStorageType]{ + OutputState: o.OutputState, + } +} + +func (o FeatureGroupStorageTypePtrOutput) Elem() FeatureGroupStorageTypeOutput { + return o.ApplyT(func(v *FeatureGroupStorageType) FeatureGroupStorageType { + if v != nil { + return *v + } + var ret FeatureGroupStorageType + return ret + }).(FeatureGroupStorageTypeOutput) +} + +func (o FeatureGroupStorageTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o FeatureGroupStorageTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *FeatureGroupStorageType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// FeatureGroupStorageTypeInput is an input type that accepts FeatureGroupStorageTypeArgs and FeatureGroupStorageTypeOutput values. +// You can construct a concrete instance of `FeatureGroupStorageTypeInput` via: +// +// FeatureGroupStorageTypeArgs{...} +type FeatureGroupStorageTypeInput interface { + pulumi.Input + + ToFeatureGroupStorageTypeOutput() FeatureGroupStorageTypeOutput + ToFeatureGroupStorageTypeOutputWithContext(context.Context) FeatureGroupStorageTypeOutput +} + +var featureGroupStorageTypePtrType = reflect.TypeOf((**FeatureGroupStorageType)(nil)).Elem() + +type FeatureGroupStorageTypePtrInput interface { + pulumi.Input + + ToFeatureGroupStorageTypePtrOutput() FeatureGroupStorageTypePtrOutput + ToFeatureGroupStorageTypePtrOutputWithContext(context.Context) FeatureGroupStorageTypePtrOutput +} + +type featureGroupStorageTypePtr string + +func FeatureGroupStorageTypePtr(v string) FeatureGroupStorageTypePtrInput { + return (*featureGroupStorageTypePtr)(&v) +} + +func (*featureGroupStorageTypePtr) ElementType() reflect.Type { + return featureGroupStorageTypePtrType +} + +func (in *featureGroupStorageTypePtr) ToFeatureGroupStorageTypePtrOutput() FeatureGroupStorageTypePtrOutput { + return pulumi.ToOutput(in).(FeatureGroupStorageTypePtrOutput) +} + +func (in *featureGroupStorageTypePtr) ToFeatureGroupStorageTypePtrOutputWithContext(ctx context.Context) FeatureGroupStorageTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(FeatureGroupStorageTypePtrOutput) +} + +func (in *featureGroupStorageTypePtr) ToOutput(ctx context.Context) pulumix.Output[*FeatureGroupStorageType] { + return pulumix.Output[*FeatureGroupStorageType]{ + OutputState: in.ToFeatureGroupStorageTypePtrOutputWithContext(ctx).OutputState, + } +} + // Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores. type FeatureGroupTableFormat string @@ -12401,6 +12772,9 @@ const ( UserProfileResourceSpecInstanceTypeMlP4d24xlarge = UserProfileResourceSpecInstanceType("ml.p4d.24xlarge") UserProfileResourceSpecInstanceTypeMlP4de24xlarge = UserProfileResourceSpecInstanceType("ml.p4de.24xlarge") UserProfileResourceSpecInstanceTypeMlGeospatialInteractive = UserProfileResourceSpecInstanceType("ml.geospatial.interactive") + UserProfileResourceSpecInstanceTypeMlTrn12xlarge = UserProfileResourceSpecInstanceType("ml.trn1.2xlarge") + UserProfileResourceSpecInstanceTypeMlTrn132xlarge = UserProfileResourceSpecInstanceType("ml.trn1.32xlarge") + UserProfileResourceSpecInstanceTypeMlTrn1n32xlarge = UserProfileResourceSpecInstanceType("ml.trn1n.32xlarge") ) func (UserProfileResourceSpecInstanceType) ElementType() reflect.Type { @@ -12761,6 +13135,189 @@ func (in *userProfileSharingSettingsNotebookOutputOptionPtr) ToOutput(ctx contex } } +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +type UserProfileUserSettingsStudioWebPortal string + +const ( + UserProfileUserSettingsStudioWebPortalEnabled = UserProfileUserSettingsStudioWebPortal("ENABLED") + UserProfileUserSettingsStudioWebPortalDisabled = UserProfileUserSettingsStudioWebPortal("DISABLED") +) + +func (UserProfileUserSettingsStudioWebPortal) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (e UserProfileUserSettingsStudioWebPortal) ToUserProfileUserSettingsStudioWebPortalOutput() UserProfileUserSettingsStudioWebPortalOutput { + return pulumi.ToOutput(e).(UserProfileUserSettingsStudioWebPortalOutput) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToUserProfileUserSettingsStudioWebPortalOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalOutput { + return pulumi.ToOutputWithContext(ctx, e).(UserProfileUserSettingsStudioWebPortalOutput) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToUserProfileUserSettingsStudioWebPortalPtrOutput() UserProfileUserSettingsStudioWebPortalPtrOutput { + return e.ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(context.Background()) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalPtrOutput { + return UserProfileUserSettingsStudioWebPortal(e).ToUserProfileUserSettingsStudioWebPortalOutputWithContext(ctx).ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e UserProfileUserSettingsStudioWebPortal) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type UserProfileUserSettingsStudioWebPortalOutput struct{ *pulumi.OutputState } + +func (UserProfileUserSettingsStudioWebPortalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToUserProfileUserSettingsStudioWebPortalOutput() UserProfileUserSettingsStudioWebPortalOutput { + return o +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToUserProfileUserSettingsStudioWebPortalOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalOutput { + return o +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToUserProfileUserSettingsStudioWebPortalPtrOutput() UserProfileUserSettingsStudioWebPortalPtrOutput { + return o.ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(context.Background()) +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileUserSettingsStudioWebPortal) *UserProfileUserSettingsStudioWebPortal { + return &v + }).(UserProfileUserSettingsStudioWebPortalPtrOutput) +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileUserSettingsStudioWebPortal] { + return pulumix.Output[UserProfileUserSettingsStudioWebPortal]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserProfileUserSettingsStudioWebPortal) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserProfileUserSettingsStudioWebPortalOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e UserProfileUserSettingsStudioWebPortal) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type UserProfileUserSettingsStudioWebPortalPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileUserSettingsStudioWebPortalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileUserSettingsStudioWebPortal)(nil)).Elem() +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) ToUserProfileUserSettingsStudioWebPortalPtrOutput() UserProfileUserSettingsStudioWebPortalPtrOutput { + return o +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalPtrOutput { + return o +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileUserSettingsStudioWebPortal] { + return pulumix.Output[*UserProfileUserSettingsStudioWebPortal]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) Elem() UserProfileUserSettingsStudioWebPortalOutput { + return o.ApplyT(func(v *UserProfileUserSettingsStudioWebPortal) UserProfileUserSettingsStudioWebPortal { + if v != nil { + return *v + } + var ret UserProfileUserSettingsStudioWebPortal + return ret + }).(UserProfileUserSettingsStudioWebPortalOutput) +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o UserProfileUserSettingsStudioWebPortalPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *UserProfileUserSettingsStudioWebPortal) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// UserProfileUserSettingsStudioWebPortalInput is an input type that accepts UserProfileUserSettingsStudioWebPortalArgs and UserProfileUserSettingsStudioWebPortalOutput values. +// You can construct a concrete instance of `UserProfileUserSettingsStudioWebPortalInput` via: +// +// UserProfileUserSettingsStudioWebPortalArgs{...} +type UserProfileUserSettingsStudioWebPortalInput interface { + pulumi.Input + + ToUserProfileUserSettingsStudioWebPortalOutput() UserProfileUserSettingsStudioWebPortalOutput + ToUserProfileUserSettingsStudioWebPortalOutputWithContext(context.Context) UserProfileUserSettingsStudioWebPortalOutput +} + +var userProfileUserSettingsStudioWebPortalPtrType = reflect.TypeOf((**UserProfileUserSettingsStudioWebPortal)(nil)).Elem() + +type UserProfileUserSettingsStudioWebPortalPtrInput interface { + pulumi.Input + + ToUserProfileUserSettingsStudioWebPortalPtrOutput() UserProfileUserSettingsStudioWebPortalPtrOutput + ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(context.Context) UserProfileUserSettingsStudioWebPortalPtrOutput +} + +type userProfileUserSettingsStudioWebPortalPtr string + +func UserProfileUserSettingsStudioWebPortalPtr(v string) UserProfileUserSettingsStudioWebPortalPtrInput { + return (*userProfileUserSettingsStudioWebPortalPtr)(&v) +} + +func (*userProfileUserSettingsStudioWebPortalPtr) ElementType() reflect.Type { + return userProfileUserSettingsStudioWebPortalPtrType +} + +func (in *userProfileUserSettingsStudioWebPortalPtr) ToUserProfileUserSettingsStudioWebPortalPtrOutput() UserProfileUserSettingsStudioWebPortalPtrOutput { + return pulumi.ToOutput(in).(UserProfileUserSettingsStudioWebPortalPtrOutput) +} + +func (in *userProfileUserSettingsStudioWebPortalPtr) ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx context.Context) UserProfileUserSettingsStudioWebPortalPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(UserProfileUserSettingsStudioWebPortalPtrOutput) +} + +func (in *userProfileUserSettingsStudioWebPortalPtr) ToOutput(ctx context.Context) pulumix.Output[*UserProfileUserSettingsStudioWebPortal] { + return pulumix.Output[*UserProfileUserSettingsStudioWebPortal]{ + OutputState: in.ToUserProfileUserSettingsStudioWebPortalPtrOutputWithContext(ctx).OutputState, + } +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*AppResourceSpecInstanceTypeInput)(nil)).Elem(), AppResourceSpecInstanceType("system")) pulumi.RegisterInputType(reflect.TypeOf((*AppResourceSpecInstanceTypePtrInput)(nil)).Elem(), AppResourceSpecInstanceType("system")) @@ -12790,8 +13347,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DomainResourceSpecInstanceTypePtrInput)(nil)).Elem(), DomainResourceSpecInstanceType("system")) pulumi.RegisterInputType(reflect.TypeOf((*DomainSharingSettingsNotebookOutputOptionInput)(nil)).Elem(), DomainSharingSettingsNotebookOutputOption("Allowed")) pulumi.RegisterInputType(reflect.TypeOf((*DomainSharingSettingsNotebookOutputOptionPtrInput)(nil)).Elem(), DomainSharingSettingsNotebookOutputOption("Allowed")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainUserSettingsStudioWebPortalInput)(nil)).Elem(), DomainUserSettingsStudioWebPortal("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*DomainUserSettingsStudioWebPortalPtrInput)(nil)).Elem(), DomainUserSettingsStudioWebPortal("ENABLED")) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupFeatureDefinitionFeatureTypeInput)(nil)).Elem(), FeatureGroupFeatureDefinitionFeatureType("Integral")) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupFeatureDefinitionFeatureTypePtrInput)(nil)).Elem(), FeatureGroupFeatureDefinitionFeatureType("Integral")) + pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupStorageTypeInput)(nil)).Elem(), FeatureGroupStorageType("Standard")) + pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupStorageTypePtrInput)(nil)).Elem(), FeatureGroupStorageType("Standard")) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupTableFormatInput)(nil)).Elem(), FeatureGroupTableFormat("Iceberg")) pulumi.RegisterInputType(reflect.TypeOf((*FeatureGroupTableFormatPtrInput)(nil)).Elem(), FeatureGroupTableFormat("Iceberg")) pulumi.RegisterInputType(reflect.TypeOf((*ImageVersionJobTypeInput)(nil)).Elem(), ImageVersionJobType("TRAINING")) @@ -12890,6 +13451,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*UserProfileResourceSpecInstanceTypePtrInput)(nil)).Elem(), UserProfileResourceSpecInstanceType("system")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileSharingSettingsNotebookOutputOptionInput)(nil)).Elem(), UserProfileSharingSettingsNotebookOutputOption("Allowed")) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileSharingSettingsNotebookOutputOptionPtrInput)(nil)).Elem(), UserProfileSharingSettingsNotebookOutputOption("Allowed")) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileUserSettingsStudioWebPortalInput)(nil)).Elem(), UserProfileUserSettingsStudioWebPortal("ENABLED")) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileUserSettingsStudioWebPortalPtrInput)(nil)).Elem(), UserProfileUserSettingsStudioWebPortal("ENABLED")) pulumi.RegisterOutputType(AppResourceSpecInstanceTypeOutput{}) pulumi.RegisterOutputType(AppResourceSpecInstanceTypePtrOutput{}) pulumi.RegisterOutputType(AppTypeOutput{}) @@ -12918,8 +13481,12 @@ func init() { pulumi.RegisterOutputType(DomainResourceSpecInstanceTypePtrOutput{}) pulumi.RegisterOutputType(DomainSharingSettingsNotebookOutputOptionOutput{}) pulumi.RegisterOutputType(DomainSharingSettingsNotebookOutputOptionPtrOutput{}) + pulumi.RegisterOutputType(DomainUserSettingsStudioWebPortalOutput{}) + pulumi.RegisterOutputType(DomainUserSettingsStudioWebPortalPtrOutput{}) pulumi.RegisterOutputType(FeatureGroupFeatureDefinitionFeatureTypeOutput{}) pulumi.RegisterOutputType(FeatureGroupFeatureDefinitionFeatureTypePtrOutput{}) + pulumi.RegisterOutputType(FeatureGroupStorageTypeOutput{}) + pulumi.RegisterOutputType(FeatureGroupStorageTypePtrOutput{}) pulumi.RegisterOutputType(FeatureGroupTableFormatOutput{}) pulumi.RegisterOutputType(FeatureGroupTableFormatPtrOutput{}) pulumi.RegisterOutputType(ImageVersionJobTypeOutput{}) @@ -13032,4 +13599,6 @@ func init() { pulumi.RegisterOutputType(UserProfileResourceSpecInstanceTypePtrOutput{}) pulumi.RegisterOutputType(UserProfileSharingSettingsNotebookOutputOptionOutput{}) pulumi.RegisterOutputType(UserProfileSharingSettingsNotebookOutputOptionPtrOutput{}) + pulumi.RegisterOutputType(UserProfileUserSettingsStudioWebPortalOutput{}) + pulumi.RegisterOutputType(UserProfileUserSettingsStudioWebPortalPtrOutput{}) } diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index edc4aacf82..34fc89acfa 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -4675,6 +4675,428 @@ func (o DeviceTagArrayOutput) Index(i pulumi.IntInput) DeviceTagOutput { }).(DeviceTagOutput) } +// The CodeEditor app settings. +type DomainCodeEditorAppSettings struct { + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with CodeEditor apps. + LifecycleConfigArns []string `pulumi:"lifecycleConfigArns"` +} + +// DomainCodeEditorAppSettingsInput is an input type that accepts DomainCodeEditorAppSettingsArgs and DomainCodeEditorAppSettingsOutput values. +// You can construct a concrete instance of `DomainCodeEditorAppSettingsInput` via: +// +// DomainCodeEditorAppSettingsArgs{...} +type DomainCodeEditorAppSettingsInput interface { + pulumi.Input + + ToDomainCodeEditorAppSettingsOutput() DomainCodeEditorAppSettingsOutput + ToDomainCodeEditorAppSettingsOutputWithContext(context.Context) DomainCodeEditorAppSettingsOutput +} + +// The CodeEditor app settings. +type DomainCodeEditorAppSettingsArgs struct { + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with CodeEditor apps. + LifecycleConfigArns pulumi.StringArrayInput `pulumi:"lifecycleConfigArns"` +} + +func (DomainCodeEditorAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCodeEditorAppSettings)(nil)).Elem() +} + +func (i DomainCodeEditorAppSettingsArgs) ToDomainCodeEditorAppSettingsOutput() DomainCodeEditorAppSettingsOutput { + return i.ToDomainCodeEditorAppSettingsOutputWithContext(context.Background()) +} + +func (i DomainCodeEditorAppSettingsArgs) ToDomainCodeEditorAppSettingsOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCodeEditorAppSettingsOutput) +} + +func (i DomainCodeEditorAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainCodeEditorAppSettings] { + return pulumix.Output[DomainCodeEditorAppSettings]{ + OutputState: i.ToDomainCodeEditorAppSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i DomainCodeEditorAppSettingsArgs) ToDomainCodeEditorAppSettingsPtrOutput() DomainCodeEditorAppSettingsPtrOutput { + return i.ToDomainCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i DomainCodeEditorAppSettingsArgs) ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCodeEditorAppSettingsOutput).ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx) +} + +// DomainCodeEditorAppSettingsPtrInput is an input type that accepts DomainCodeEditorAppSettingsArgs, DomainCodeEditorAppSettingsPtr and DomainCodeEditorAppSettingsPtrOutput values. +// You can construct a concrete instance of `DomainCodeEditorAppSettingsPtrInput` via: +// +// DomainCodeEditorAppSettingsArgs{...} +// +// or: +// +// nil +type DomainCodeEditorAppSettingsPtrInput interface { + pulumi.Input + + ToDomainCodeEditorAppSettingsPtrOutput() DomainCodeEditorAppSettingsPtrOutput + ToDomainCodeEditorAppSettingsPtrOutputWithContext(context.Context) DomainCodeEditorAppSettingsPtrOutput +} + +type domainCodeEditorAppSettingsPtrType DomainCodeEditorAppSettingsArgs + +func DomainCodeEditorAppSettingsPtr(v *DomainCodeEditorAppSettingsArgs) DomainCodeEditorAppSettingsPtrInput { + return (*domainCodeEditorAppSettingsPtrType)(v) +} + +func (*domainCodeEditorAppSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainCodeEditorAppSettings)(nil)).Elem() +} + +func (i *domainCodeEditorAppSettingsPtrType) ToDomainCodeEditorAppSettingsPtrOutput() DomainCodeEditorAppSettingsPtrOutput { + return i.ToDomainCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i *domainCodeEditorAppSettingsPtrType) ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCodeEditorAppSettingsPtrOutput) +} + +func (i *domainCodeEditorAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainCodeEditorAppSettings] { + return pulumix.Output[*DomainCodeEditorAppSettings]{ + OutputState: i.ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// The CodeEditor app settings. +type DomainCodeEditorAppSettingsOutput struct{ *pulumi.OutputState } + +func (DomainCodeEditorAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCodeEditorAppSettings)(nil)).Elem() +} + +func (o DomainCodeEditorAppSettingsOutput) ToDomainCodeEditorAppSettingsOutput() DomainCodeEditorAppSettingsOutput { + return o +} + +func (o DomainCodeEditorAppSettingsOutput) ToDomainCodeEditorAppSettingsOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsOutput { + return o +} + +func (o DomainCodeEditorAppSettingsOutput) ToDomainCodeEditorAppSettingsPtrOutput() DomainCodeEditorAppSettingsPtrOutput { + return o.ToDomainCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o DomainCodeEditorAppSettingsOutput) ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainCodeEditorAppSettings) *DomainCodeEditorAppSettings { + return &v + }).(DomainCodeEditorAppSettingsPtrOutput) +} + +func (o DomainCodeEditorAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainCodeEditorAppSettings] { + return pulumix.Output[DomainCodeEditorAppSettings]{ + OutputState: o.OutputState, + } +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. +func (o DomainCodeEditorAppSettingsOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v DomainCodeEditorAppSettings) *DomainResourceSpec { return v.DefaultResourceSpec }).(DomainResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with CodeEditor apps. +func (o DomainCodeEditorAppSettingsOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v DomainCodeEditorAppSettings) []string { return v.LifecycleConfigArns }).(pulumi.StringArrayOutput) +} + +type DomainCodeEditorAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (DomainCodeEditorAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainCodeEditorAppSettings)(nil)).Elem() +} + +func (o DomainCodeEditorAppSettingsPtrOutput) ToDomainCodeEditorAppSettingsPtrOutput() DomainCodeEditorAppSettingsPtrOutput { + return o +} + +func (o DomainCodeEditorAppSettingsPtrOutput) ToDomainCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) DomainCodeEditorAppSettingsPtrOutput { + return o +} + +func (o DomainCodeEditorAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainCodeEditorAppSettings] { + return pulumix.Output[*DomainCodeEditorAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o DomainCodeEditorAppSettingsPtrOutput) Elem() DomainCodeEditorAppSettingsOutput { + return o.ApplyT(func(v *DomainCodeEditorAppSettings) DomainCodeEditorAppSettings { + if v != nil { + return *v + } + var ret DomainCodeEditorAppSettings + return ret + }).(DomainCodeEditorAppSettingsOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. +func (o DomainCodeEditorAppSettingsPtrOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v *DomainCodeEditorAppSettings) *DomainResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(DomainResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with CodeEditor apps. +func (o DomainCodeEditorAppSettingsPtrOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DomainCodeEditorAppSettings) []string { + if v == nil { + return nil + } + return v.LifecycleConfigArns + }).(pulumi.StringArrayOutput) +} + +type DomainCodeRepository struct { + // A CodeRepository (valid URL) to be used within Jupyter's Git extension. + RepositoryUrl string `pulumi:"repositoryUrl"` +} + +// DomainCodeRepositoryInput is an input type that accepts DomainCodeRepositoryArgs and DomainCodeRepositoryOutput values. +// You can construct a concrete instance of `DomainCodeRepositoryInput` via: +// +// DomainCodeRepositoryArgs{...} +type DomainCodeRepositoryInput interface { + pulumi.Input + + ToDomainCodeRepositoryOutput() DomainCodeRepositoryOutput + ToDomainCodeRepositoryOutputWithContext(context.Context) DomainCodeRepositoryOutput +} + +type DomainCodeRepositoryArgs struct { + // A CodeRepository (valid URL) to be used within Jupyter's Git extension. + RepositoryUrl pulumi.StringInput `pulumi:"repositoryUrl"` +} + +func (DomainCodeRepositoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCodeRepository)(nil)).Elem() +} + +func (i DomainCodeRepositoryArgs) ToDomainCodeRepositoryOutput() DomainCodeRepositoryOutput { + return i.ToDomainCodeRepositoryOutputWithContext(context.Background()) +} + +func (i DomainCodeRepositoryArgs) ToDomainCodeRepositoryOutputWithContext(ctx context.Context) DomainCodeRepositoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCodeRepositoryOutput) +} + +func (i DomainCodeRepositoryArgs) ToOutput(ctx context.Context) pulumix.Output[DomainCodeRepository] { + return pulumix.Output[DomainCodeRepository]{ + OutputState: i.ToDomainCodeRepositoryOutputWithContext(ctx).OutputState, + } +} + +// DomainCodeRepositoryArrayInput is an input type that accepts DomainCodeRepositoryArray and DomainCodeRepositoryArrayOutput values. +// You can construct a concrete instance of `DomainCodeRepositoryArrayInput` via: +// +// DomainCodeRepositoryArray{ DomainCodeRepositoryArgs{...} } +type DomainCodeRepositoryArrayInput interface { + pulumi.Input + + ToDomainCodeRepositoryArrayOutput() DomainCodeRepositoryArrayOutput + ToDomainCodeRepositoryArrayOutputWithContext(context.Context) DomainCodeRepositoryArrayOutput +} + +type DomainCodeRepositoryArray []DomainCodeRepositoryInput + +func (DomainCodeRepositoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DomainCodeRepository)(nil)).Elem() +} + +func (i DomainCodeRepositoryArray) ToDomainCodeRepositoryArrayOutput() DomainCodeRepositoryArrayOutput { + return i.ToDomainCodeRepositoryArrayOutputWithContext(context.Background()) +} + +func (i DomainCodeRepositoryArray) ToDomainCodeRepositoryArrayOutputWithContext(ctx context.Context) DomainCodeRepositoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCodeRepositoryArrayOutput) +} + +func (i DomainCodeRepositoryArray) ToOutput(ctx context.Context) pulumix.Output[[]DomainCodeRepository] { + return pulumix.Output[[]DomainCodeRepository]{ + OutputState: i.ToDomainCodeRepositoryArrayOutputWithContext(ctx).OutputState, + } +} + +type DomainCodeRepositoryOutput struct{ *pulumi.OutputState } + +func (DomainCodeRepositoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCodeRepository)(nil)).Elem() +} + +func (o DomainCodeRepositoryOutput) ToDomainCodeRepositoryOutput() DomainCodeRepositoryOutput { + return o +} + +func (o DomainCodeRepositoryOutput) ToDomainCodeRepositoryOutputWithContext(ctx context.Context) DomainCodeRepositoryOutput { + return o +} + +func (o DomainCodeRepositoryOutput) ToOutput(ctx context.Context) pulumix.Output[DomainCodeRepository] { + return pulumix.Output[DomainCodeRepository]{ + OutputState: o.OutputState, + } +} + +// A CodeRepository (valid URL) to be used within Jupyter's Git extension. +func (o DomainCodeRepositoryOutput) RepositoryUrl() pulumi.StringOutput { + return o.ApplyT(func(v DomainCodeRepository) string { return v.RepositoryUrl }).(pulumi.StringOutput) +} + +type DomainCodeRepositoryArrayOutput struct{ *pulumi.OutputState } + +func (DomainCodeRepositoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DomainCodeRepository)(nil)).Elem() +} + +func (o DomainCodeRepositoryArrayOutput) ToDomainCodeRepositoryArrayOutput() DomainCodeRepositoryArrayOutput { + return o +} + +func (o DomainCodeRepositoryArrayOutput) ToDomainCodeRepositoryArrayOutputWithContext(ctx context.Context) DomainCodeRepositoryArrayOutput { + return o +} + +func (o DomainCodeRepositoryArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]DomainCodeRepository] { + return pulumix.Output[[]DomainCodeRepository]{ + OutputState: o.OutputState, + } +} + +func (o DomainCodeRepositoryArrayOutput) Index(i pulumi.IntInput) DomainCodeRepositoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DomainCodeRepository { + return vs[0].([]DomainCodeRepository)[vs[1].(int)] + }).(DomainCodeRepositoryOutput) +} + +type DomainCustomFileSystemConfig struct { + EfsFileSystemConfig *DomainEfsFileSystemConfig `pulumi:"efsFileSystemConfig"` +} + +// DomainCustomFileSystemConfigInput is an input type that accepts DomainCustomFileSystemConfigArgs and DomainCustomFileSystemConfigOutput values. +// You can construct a concrete instance of `DomainCustomFileSystemConfigInput` via: +// +// DomainCustomFileSystemConfigArgs{...} +type DomainCustomFileSystemConfigInput interface { + pulumi.Input + + ToDomainCustomFileSystemConfigOutput() DomainCustomFileSystemConfigOutput + ToDomainCustomFileSystemConfigOutputWithContext(context.Context) DomainCustomFileSystemConfigOutput +} + +type DomainCustomFileSystemConfigArgs struct { + EfsFileSystemConfig DomainEfsFileSystemConfigPtrInput `pulumi:"efsFileSystemConfig"` +} + +func (DomainCustomFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCustomFileSystemConfig)(nil)).Elem() +} + +func (i DomainCustomFileSystemConfigArgs) ToDomainCustomFileSystemConfigOutput() DomainCustomFileSystemConfigOutput { + return i.ToDomainCustomFileSystemConfigOutputWithContext(context.Background()) +} + +func (i DomainCustomFileSystemConfigArgs) ToDomainCustomFileSystemConfigOutputWithContext(ctx context.Context) DomainCustomFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCustomFileSystemConfigOutput) +} + +func (i DomainCustomFileSystemConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DomainCustomFileSystemConfig] { + return pulumix.Output[DomainCustomFileSystemConfig]{ + OutputState: i.ToDomainCustomFileSystemConfigOutputWithContext(ctx).OutputState, + } +} + +// DomainCustomFileSystemConfigArrayInput is an input type that accepts DomainCustomFileSystemConfigArray and DomainCustomFileSystemConfigArrayOutput values. +// You can construct a concrete instance of `DomainCustomFileSystemConfigArrayInput` via: +// +// DomainCustomFileSystemConfigArray{ DomainCustomFileSystemConfigArgs{...} } +type DomainCustomFileSystemConfigArrayInput interface { + pulumi.Input + + ToDomainCustomFileSystemConfigArrayOutput() DomainCustomFileSystemConfigArrayOutput + ToDomainCustomFileSystemConfigArrayOutputWithContext(context.Context) DomainCustomFileSystemConfigArrayOutput +} + +type DomainCustomFileSystemConfigArray []DomainCustomFileSystemConfigInput + +func (DomainCustomFileSystemConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DomainCustomFileSystemConfig)(nil)).Elem() +} + +func (i DomainCustomFileSystemConfigArray) ToDomainCustomFileSystemConfigArrayOutput() DomainCustomFileSystemConfigArrayOutput { + return i.ToDomainCustomFileSystemConfigArrayOutputWithContext(context.Background()) +} + +func (i DomainCustomFileSystemConfigArray) ToDomainCustomFileSystemConfigArrayOutputWithContext(ctx context.Context) DomainCustomFileSystemConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCustomFileSystemConfigArrayOutput) +} + +func (i DomainCustomFileSystemConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]DomainCustomFileSystemConfig] { + return pulumix.Output[[]DomainCustomFileSystemConfig]{ + OutputState: i.ToDomainCustomFileSystemConfigArrayOutputWithContext(ctx).OutputState, + } +} + +type DomainCustomFileSystemConfigOutput struct{ *pulumi.OutputState } + +func (DomainCustomFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCustomFileSystemConfig)(nil)).Elem() +} + +func (o DomainCustomFileSystemConfigOutput) ToDomainCustomFileSystemConfigOutput() DomainCustomFileSystemConfigOutput { + return o +} + +func (o DomainCustomFileSystemConfigOutput) ToDomainCustomFileSystemConfigOutputWithContext(ctx context.Context) DomainCustomFileSystemConfigOutput { + return o +} + +func (o DomainCustomFileSystemConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DomainCustomFileSystemConfig] { + return pulumix.Output[DomainCustomFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainCustomFileSystemConfigOutput) EfsFileSystemConfig() DomainEfsFileSystemConfigPtrOutput { + return o.ApplyT(func(v DomainCustomFileSystemConfig) *DomainEfsFileSystemConfig { return v.EfsFileSystemConfig }).(DomainEfsFileSystemConfigPtrOutput) +} + +type DomainCustomFileSystemConfigArrayOutput struct{ *pulumi.OutputState } + +func (DomainCustomFileSystemConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DomainCustomFileSystemConfig)(nil)).Elem() +} + +func (o DomainCustomFileSystemConfigArrayOutput) ToDomainCustomFileSystemConfigArrayOutput() DomainCustomFileSystemConfigArrayOutput { + return o +} + +func (o DomainCustomFileSystemConfigArrayOutput) ToDomainCustomFileSystemConfigArrayOutputWithContext(ctx context.Context) DomainCustomFileSystemConfigArrayOutput { + return o +} + +func (o DomainCustomFileSystemConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]DomainCustomFileSystemConfig] { + return pulumix.Output[[]DomainCustomFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainCustomFileSystemConfigArrayOutput) Index(i pulumi.IntInput) DomainCustomFileSystemConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DomainCustomFileSystemConfig { + return vs[0].([]DomainCustomFileSystemConfig)[vs[1].(int)] + }).(DomainCustomFileSystemConfigOutput) +} + // A custom SageMaker image. type DomainCustomImage struct { // The Name of the AppImageConfig. @@ -4817,6 +5239,361 @@ func (o DomainCustomImageArrayOutput) Index(i pulumi.IntInput) DomainCustomImage }).(DomainCustomImageOutput) } +type DomainCustomPosixUserConfig struct { + Gid int `pulumi:"gid"` + Uid int `pulumi:"uid"` +} + +// DomainCustomPosixUserConfigInput is an input type that accepts DomainCustomPosixUserConfigArgs and DomainCustomPosixUserConfigOutput values. +// You can construct a concrete instance of `DomainCustomPosixUserConfigInput` via: +// +// DomainCustomPosixUserConfigArgs{...} +type DomainCustomPosixUserConfigInput interface { + pulumi.Input + + ToDomainCustomPosixUserConfigOutput() DomainCustomPosixUserConfigOutput + ToDomainCustomPosixUserConfigOutputWithContext(context.Context) DomainCustomPosixUserConfigOutput +} + +type DomainCustomPosixUserConfigArgs struct { + Gid pulumi.IntInput `pulumi:"gid"` + Uid pulumi.IntInput `pulumi:"uid"` +} + +func (DomainCustomPosixUserConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCustomPosixUserConfig)(nil)).Elem() +} + +func (i DomainCustomPosixUserConfigArgs) ToDomainCustomPosixUserConfigOutput() DomainCustomPosixUserConfigOutput { + return i.ToDomainCustomPosixUserConfigOutputWithContext(context.Background()) +} + +func (i DomainCustomPosixUserConfigArgs) ToDomainCustomPosixUserConfigOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCustomPosixUserConfigOutput) +} + +func (i DomainCustomPosixUserConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DomainCustomPosixUserConfig] { + return pulumix.Output[DomainCustomPosixUserConfig]{ + OutputState: i.ToDomainCustomPosixUserConfigOutputWithContext(ctx).OutputState, + } +} + +func (i DomainCustomPosixUserConfigArgs) ToDomainCustomPosixUserConfigPtrOutput() DomainCustomPosixUserConfigPtrOutput { + return i.ToDomainCustomPosixUserConfigPtrOutputWithContext(context.Background()) +} + +func (i DomainCustomPosixUserConfigArgs) ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCustomPosixUserConfigOutput).ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx) +} + +// DomainCustomPosixUserConfigPtrInput is an input type that accepts DomainCustomPosixUserConfigArgs, DomainCustomPosixUserConfigPtr and DomainCustomPosixUserConfigPtrOutput values. +// You can construct a concrete instance of `DomainCustomPosixUserConfigPtrInput` via: +// +// DomainCustomPosixUserConfigArgs{...} +// +// or: +// +// nil +type DomainCustomPosixUserConfigPtrInput interface { + pulumi.Input + + ToDomainCustomPosixUserConfigPtrOutput() DomainCustomPosixUserConfigPtrOutput + ToDomainCustomPosixUserConfigPtrOutputWithContext(context.Context) DomainCustomPosixUserConfigPtrOutput +} + +type domainCustomPosixUserConfigPtrType DomainCustomPosixUserConfigArgs + +func DomainCustomPosixUserConfigPtr(v *DomainCustomPosixUserConfigArgs) DomainCustomPosixUserConfigPtrInput { + return (*domainCustomPosixUserConfigPtrType)(v) +} + +func (*domainCustomPosixUserConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainCustomPosixUserConfig)(nil)).Elem() +} + +func (i *domainCustomPosixUserConfigPtrType) ToDomainCustomPosixUserConfigPtrOutput() DomainCustomPosixUserConfigPtrOutput { + return i.ToDomainCustomPosixUserConfigPtrOutputWithContext(context.Background()) +} + +func (i *domainCustomPosixUserConfigPtrType) ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainCustomPosixUserConfigPtrOutput) +} + +func (i *domainCustomPosixUserConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainCustomPosixUserConfig] { + return pulumix.Output[*DomainCustomPosixUserConfig]{ + OutputState: i.ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type DomainCustomPosixUserConfigOutput struct{ *pulumi.OutputState } + +func (DomainCustomPosixUserConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainCustomPosixUserConfig)(nil)).Elem() +} + +func (o DomainCustomPosixUserConfigOutput) ToDomainCustomPosixUserConfigOutput() DomainCustomPosixUserConfigOutput { + return o +} + +func (o DomainCustomPosixUserConfigOutput) ToDomainCustomPosixUserConfigOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigOutput { + return o +} + +func (o DomainCustomPosixUserConfigOutput) ToDomainCustomPosixUserConfigPtrOutput() DomainCustomPosixUserConfigPtrOutput { + return o.ToDomainCustomPosixUserConfigPtrOutputWithContext(context.Background()) +} + +func (o DomainCustomPosixUserConfigOutput) ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainCustomPosixUserConfig) *DomainCustomPosixUserConfig { + return &v + }).(DomainCustomPosixUserConfigPtrOutput) +} + +func (o DomainCustomPosixUserConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DomainCustomPosixUserConfig] { + return pulumix.Output[DomainCustomPosixUserConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainCustomPosixUserConfigOutput) Gid() pulumi.IntOutput { + return o.ApplyT(func(v DomainCustomPosixUserConfig) int { return v.Gid }).(pulumi.IntOutput) +} + +func (o DomainCustomPosixUserConfigOutput) Uid() pulumi.IntOutput { + return o.ApplyT(func(v DomainCustomPosixUserConfig) int { return v.Uid }).(pulumi.IntOutput) +} + +type DomainCustomPosixUserConfigPtrOutput struct{ *pulumi.OutputState } + +func (DomainCustomPosixUserConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainCustomPosixUserConfig)(nil)).Elem() +} + +func (o DomainCustomPosixUserConfigPtrOutput) ToDomainCustomPosixUserConfigPtrOutput() DomainCustomPosixUserConfigPtrOutput { + return o +} + +func (o DomainCustomPosixUserConfigPtrOutput) ToDomainCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) DomainCustomPosixUserConfigPtrOutput { + return o +} + +func (o DomainCustomPosixUserConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainCustomPosixUserConfig] { + return pulumix.Output[*DomainCustomPosixUserConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainCustomPosixUserConfigPtrOutput) Elem() DomainCustomPosixUserConfigOutput { + return o.ApplyT(func(v *DomainCustomPosixUserConfig) DomainCustomPosixUserConfig { + if v != nil { + return *v + } + var ret DomainCustomPosixUserConfig + return ret + }).(DomainCustomPosixUserConfigOutput) +} + +func (o DomainCustomPosixUserConfigPtrOutput) Gid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainCustomPosixUserConfig) *int { + if v == nil { + return nil + } + return &v.Gid + }).(pulumi.IntPtrOutput) +} + +func (o DomainCustomPosixUserConfigPtrOutput) Uid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainCustomPosixUserConfig) *int { + if v == nil { + return nil + } + return &v.Uid + }).(pulumi.IntPtrOutput) +} + +// 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 +type DomainDefaultEbsStorageSettings struct { + // Default size of the Amazon EBS volume in Gb + DefaultEbsVolumeSizeInGb int `pulumi:"defaultEbsVolumeSizeInGb"` + // Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + MaximumEbsVolumeSizeInGb int `pulumi:"maximumEbsVolumeSizeInGb"` +} + +// DomainDefaultEbsStorageSettingsInput is an input type that accepts DomainDefaultEbsStorageSettingsArgs and DomainDefaultEbsStorageSettingsOutput values. +// You can construct a concrete instance of `DomainDefaultEbsStorageSettingsInput` via: +// +// DomainDefaultEbsStorageSettingsArgs{...} +type DomainDefaultEbsStorageSettingsInput interface { + pulumi.Input + + ToDomainDefaultEbsStorageSettingsOutput() DomainDefaultEbsStorageSettingsOutput + ToDomainDefaultEbsStorageSettingsOutputWithContext(context.Context) DomainDefaultEbsStorageSettingsOutput +} + +// 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 +type DomainDefaultEbsStorageSettingsArgs struct { + // Default size of the Amazon EBS volume in Gb + DefaultEbsVolumeSizeInGb pulumi.IntInput `pulumi:"defaultEbsVolumeSizeInGb"` + // Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + MaximumEbsVolumeSizeInGb pulumi.IntInput `pulumi:"maximumEbsVolumeSizeInGb"` +} + +func (DomainDefaultEbsStorageSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainDefaultEbsStorageSettings)(nil)).Elem() +} + +func (i DomainDefaultEbsStorageSettingsArgs) ToDomainDefaultEbsStorageSettingsOutput() DomainDefaultEbsStorageSettingsOutput { + return i.ToDomainDefaultEbsStorageSettingsOutputWithContext(context.Background()) +} + +func (i DomainDefaultEbsStorageSettingsArgs) ToDomainDefaultEbsStorageSettingsOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultEbsStorageSettingsOutput) +} + +func (i DomainDefaultEbsStorageSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainDefaultEbsStorageSettings] { + return pulumix.Output[DomainDefaultEbsStorageSettings]{ + OutputState: i.ToDomainDefaultEbsStorageSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i DomainDefaultEbsStorageSettingsArgs) ToDomainDefaultEbsStorageSettingsPtrOutput() DomainDefaultEbsStorageSettingsPtrOutput { + return i.ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) +} + +func (i DomainDefaultEbsStorageSettingsArgs) ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultEbsStorageSettingsOutput).ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx) +} + +// DomainDefaultEbsStorageSettingsPtrInput is an input type that accepts DomainDefaultEbsStorageSettingsArgs, DomainDefaultEbsStorageSettingsPtr and DomainDefaultEbsStorageSettingsPtrOutput values. +// You can construct a concrete instance of `DomainDefaultEbsStorageSettingsPtrInput` via: +// +// DomainDefaultEbsStorageSettingsArgs{...} +// +// or: +// +// nil +type DomainDefaultEbsStorageSettingsPtrInput interface { + pulumi.Input + + ToDomainDefaultEbsStorageSettingsPtrOutput() DomainDefaultEbsStorageSettingsPtrOutput + ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(context.Context) DomainDefaultEbsStorageSettingsPtrOutput +} + +type domainDefaultEbsStorageSettingsPtrType DomainDefaultEbsStorageSettingsArgs + +func DomainDefaultEbsStorageSettingsPtr(v *DomainDefaultEbsStorageSettingsArgs) DomainDefaultEbsStorageSettingsPtrInput { + return (*domainDefaultEbsStorageSettingsPtrType)(v) +} + +func (*domainDefaultEbsStorageSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainDefaultEbsStorageSettings)(nil)).Elem() +} + +func (i *domainDefaultEbsStorageSettingsPtrType) ToDomainDefaultEbsStorageSettingsPtrOutput() DomainDefaultEbsStorageSettingsPtrOutput { + return i.ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) +} + +func (i *domainDefaultEbsStorageSettingsPtrType) ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultEbsStorageSettingsPtrOutput) +} + +func (i *domainDefaultEbsStorageSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainDefaultEbsStorageSettings] { + return pulumix.Output[*DomainDefaultEbsStorageSettings]{ + OutputState: i.ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// 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 +type DomainDefaultEbsStorageSettingsOutput struct{ *pulumi.OutputState } + +func (DomainDefaultEbsStorageSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainDefaultEbsStorageSettings)(nil)).Elem() +} + +func (o DomainDefaultEbsStorageSettingsOutput) ToDomainDefaultEbsStorageSettingsOutput() DomainDefaultEbsStorageSettingsOutput { + return o +} + +func (o DomainDefaultEbsStorageSettingsOutput) ToDomainDefaultEbsStorageSettingsOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsOutput { + return o +} + +func (o DomainDefaultEbsStorageSettingsOutput) ToDomainDefaultEbsStorageSettingsPtrOutput() DomainDefaultEbsStorageSettingsPtrOutput { + return o.ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) +} + +func (o DomainDefaultEbsStorageSettingsOutput) ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainDefaultEbsStorageSettings) *DomainDefaultEbsStorageSettings { + return &v + }).(DomainDefaultEbsStorageSettingsPtrOutput) +} + +func (o DomainDefaultEbsStorageSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainDefaultEbsStorageSettings] { + return pulumix.Output[DomainDefaultEbsStorageSettings]{ + OutputState: o.OutputState, + } +} + +// Default size of the Amazon EBS volume in Gb +func (o DomainDefaultEbsStorageSettingsOutput) DefaultEbsVolumeSizeInGb() pulumi.IntOutput { + return o.ApplyT(func(v DomainDefaultEbsStorageSettings) int { return v.DefaultEbsVolumeSizeInGb }).(pulumi.IntOutput) +} + +// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. +func (o DomainDefaultEbsStorageSettingsOutput) MaximumEbsVolumeSizeInGb() pulumi.IntOutput { + return o.ApplyT(func(v DomainDefaultEbsStorageSettings) int { return v.MaximumEbsVolumeSizeInGb }).(pulumi.IntOutput) +} + +type DomainDefaultEbsStorageSettingsPtrOutput struct{ *pulumi.OutputState } + +func (DomainDefaultEbsStorageSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainDefaultEbsStorageSettings)(nil)).Elem() +} + +func (o DomainDefaultEbsStorageSettingsPtrOutput) ToDomainDefaultEbsStorageSettingsPtrOutput() DomainDefaultEbsStorageSettingsPtrOutput { + return o +} + +func (o DomainDefaultEbsStorageSettingsPtrOutput) ToDomainDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultEbsStorageSettingsPtrOutput { + return o +} + +func (o DomainDefaultEbsStorageSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainDefaultEbsStorageSettings] { + return pulumix.Output[*DomainDefaultEbsStorageSettings]{ + OutputState: o.OutputState, + } +} + +func (o DomainDefaultEbsStorageSettingsPtrOutput) Elem() DomainDefaultEbsStorageSettingsOutput { + return o.ApplyT(func(v *DomainDefaultEbsStorageSettings) DomainDefaultEbsStorageSettings { + if v != nil { + return *v + } + var ret DomainDefaultEbsStorageSettings + return ret + }).(DomainDefaultEbsStorageSettingsOutput) +} + +// Default size of the Amazon EBS volume in Gb +func (o DomainDefaultEbsStorageSettingsPtrOutput) DefaultEbsVolumeSizeInGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainDefaultEbsStorageSettings) *int { + if v == nil { + return nil + } + return &v.DefaultEbsVolumeSizeInGb + }).(pulumi.IntPtrOutput) +} + +// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. +func (o DomainDefaultEbsStorageSettingsPtrOutput) MaximumEbsVolumeSizeInGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *DomainDefaultEbsStorageSettings) *int { + if v == nil { + return nil + } + return &v.MaximumEbsVolumeSizeInGb + }).(pulumi.IntPtrOutput) +} + // A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called. type DomainDefaultSpaceSettings struct { // The execution role for the space. @@ -5038,199 +5815,754 @@ func (o DomainDefaultSpaceSettingsPtrOutput) SecurityGroups() pulumi.StringArray }).(pulumi.StringArrayOutput) } -// The JupyterServer app settings. -type DomainJupyterServerAppSettings struct { - DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` +// Default storage settings for a space. +type DomainDefaultSpaceStorageSettings struct { + DefaultEbsStorageSettings *DomainDefaultEbsStorageSettings `pulumi:"defaultEbsStorageSettings"` } -// DomainJupyterServerAppSettingsInput is an input type that accepts DomainJupyterServerAppSettingsArgs and DomainJupyterServerAppSettingsOutput values. -// You can construct a concrete instance of `DomainJupyterServerAppSettingsInput` via: +// DomainDefaultSpaceStorageSettingsInput is an input type that accepts DomainDefaultSpaceStorageSettingsArgs and DomainDefaultSpaceStorageSettingsOutput values. +// You can construct a concrete instance of `DomainDefaultSpaceStorageSettingsInput` via: // -// DomainJupyterServerAppSettingsArgs{...} -type DomainJupyterServerAppSettingsInput interface { +// DomainDefaultSpaceStorageSettingsArgs{...} +type DomainDefaultSpaceStorageSettingsInput interface { pulumi.Input - ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput - ToDomainJupyterServerAppSettingsOutputWithContext(context.Context) DomainJupyterServerAppSettingsOutput + ToDomainDefaultSpaceStorageSettingsOutput() DomainDefaultSpaceStorageSettingsOutput + ToDomainDefaultSpaceStorageSettingsOutputWithContext(context.Context) DomainDefaultSpaceStorageSettingsOutput } -// The JupyterServer app settings. -type DomainJupyterServerAppSettingsArgs struct { - DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` +// Default storage settings for a space. +type DomainDefaultSpaceStorageSettingsArgs struct { + DefaultEbsStorageSettings DomainDefaultEbsStorageSettingsPtrInput `pulumi:"defaultEbsStorageSettings"` } -func (DomainJupyterServerAppSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DomainJupyterServerAppSettings)(nil)).Elem() +func (DomainDefaultSpaceStorageSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainDefaultSpaceStorageSettings)(nil)).Elem() } -func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput { - return i.ToDomainJupyterServerAppSettingsOutputWithContext(context.Background()) +func (i DomainDefaultSpaceStorageSettingsArgs) ToDomainDefaultSpaceStorageSettingsOutput() DomainDefaultSpaceStorageSettingsOutput { + return i.ToDomainDefaultSpaceStorageSettingsOutputWithContext(context.Background()) } -func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsOutput) +func (i DomainDefaultSpaceStorageSettingsArgs) ToDomainDefaultSpaceStorageSettingsOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultSpaceStorageSettingsOutput) } -func (i DomainJupyterServerAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterServerAppSettings] { - return pulumix.Output[DomainJupyterServerAppSettings]{ - OutputState: i.ToDomainJupyterServerAppSettingsOutputWithContext(ctx).OutputState, +func (i DomainDefaultSpaceStorageSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainDefaultSpaceStorageSettings] { + return pulumix.Output[DomainDefaultSpaceStorageSettings]{ + OutputState: i.ToDomainDefaultSpaceStorageSettingsOutputWithContext(ctx).OutputState, } } -func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { - return i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +func (i DomainDefaultSpaceStorageSettingsArgs) ToDomainDefaultSpaceStorageSettingsPtrOutput() DomainDefaultSpaceStorageSettingsPtrOutput { + return i.ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsOutput).ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx) +func (i DomainDefaultSpaceStorageSettingsArgs) ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultSpaceStorageSettingsOutput).ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx) } -// DomainJupyterServerAppSettingsPtrInput is an input type that accepts DomainJupyterServerAppSettingsArgs, DomainJupyterServerAppSettingsPtr and DomainJupyterServerAppSettingsPtrOutput values. -// You can construct a concrete instance of `DomainJupyterServerAppSettingsPtrInput` via: +// DomainDefaultSpaceStorageSettingsPtrInput is an input type that accepts DomainDefaultSpaceStorageSettingsArgs, DomainDefaultSpaceStorageSettingsPtr and DomainDefaultSpaceStorageSettingsPtrOutput values. +// You can construct a concrete instance of `DomainDefaultSpaceStorageSettingsPtrInput` via: // -// DomainJupyterServerAppSettingsArgs{...} +// DomainDefaultSpaceStorageSettingsArgs{...} // // or: // // nil -type DomainJupyterServerAppSettingsPtrInput interface { +type DomainDefaultSpaceStorageSettingsPtrInput interface { pulumi.Input - ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput - ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Context) DomainJupyterServerAppSettingsPtrOutput + ToDomainDefaultSpaceStorageSettingsPtrOutput() DomainDefaultSpaceStorageSettingsPtrOutput + ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(context.Context) DomainDefaultSpaceStorageSettingsPtrOutput } -type domainJupyterServerAppSettingsPtrType DomainJupyterServerAppSettingsArgs +type domainDefaultSpaceStorageSettingsPtrType DomainDefaultSpaceStorageSettingsArgs -func DomainJupyterServerAppSettingsPtr(v *DomainJupyterServerAppSettingsArgs) DomainJupyterServerAppSettingsPtrInput { - return (*domainJupyterServerAppSettingsPtrType)(v) +func DomainDefaultSpaceStorageSettingsPtr(v *DomainDefaultSpaceStorageSettingsArgs) DomainDefaultSpaceStorageSettingsPtrInput { + return (*domainDefaultSpaceStorageSettingsPtrType)(v) } -func (*domainJupyterServerAppSettingsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DomainJupyterServerAppSettings)(nil)).Elem() +func (*domainDefaultSpaceStorageSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainDefaultSpaceStorageSettings)(nil)).Elem() } -func (i *domainJupyterServerAppSettingsPtrType) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { - return i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +func (i *domainDefaultSpaceStorageSettingsPtrType) ToDomainDefaultSpaceStorageSettingsPtrOutput() DomainDefaultSpaceStorageSettingsPtrOutput { + return i.ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (i *domainJupyterServerAppSettingsPtrType) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsPtrOutput) +func (i *domainDefaultSpaceStorageSettingsPtrType) ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainDefaultSpaceStorageSettingsPtrOutput) } -func (i *domainJupyterServerAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterServerAppSettings] { - return pulumix.Output[*DomainJupyterServerAppSettings]{ - OutputState: i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx).OutputState, +func (i *domainDefaultSpaceStorageSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainDefaultSpaceStorageSettings] { + return pulumix.Output[*DomainDefaultSpaceStorageSettings]{ + OutputState: i.ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx).OutputState, } } -// The JupyterServer app settings. -type DomainJupyterServerAppSettingsOutput struct{ *pulumi.OutputState } +// Default storage settings for a space. +type DomainDefaultSpaceStorageSettingsOutput struct{ *pulumi.OutputState } -func (DomainJupyterServerAppSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DomainJupyterServerAppSettings)(nil)).Elem() +func (DomainDefaultSpaceStorageSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainDefaultSpaceStorageSettings)(nil)).Elem() } -func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput { +func (o DomainDefaultSpaceStorageSettingsOutput) ToDomainDefaultSpaceStorageSettingsOutput() DomainDefaultSpaceStorageSettingsOutput { return o } -func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsOutput { +func (o DomainDefaultSpaceStorageSettingsOutput) ToDomainDefaultSpaceStorageSettingsOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsOutput { return o } -func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { - return o.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +func (o DomainDefaultSpaceStorageSettingsOutput) ToDomainDefaultSpaceStorageSettingsPtrOutput() DomainDefaultSpaceStorageSettingsPtrOutput { + return o.ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainJupyterServerAppSettings) *DomainJupyterServerAppSettings { +func (o DomainDefaultSpaceStorageSettingsOutput) ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainDefaultSpaceStorageSettings) *DomainDefaultSpaceStorageSettings { return &v - }).(DomainJupyterServerAppSettingsPtrOutput) + }).(DomainDefaultSpaceStorageSettingsPtrOutput) } -func (o DomainJupyterServerAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterServerAppSettings] { - return pulumix.Output[DomainJupyterServerAppSettings]{ +func (o DomainDefaultSpaceStorageSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainDefaultSpaceStorageSettings] { + return pulumix.Output[DomainDefaultSpaceStorageSettings]{ OutputState: o.OutputState, } } -func (o DomainJupyterServerAppSettingsOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { - return o.ApplyT(func(v DomainJupyterServerAppSettings) *DomainResourceSpec { return v.DefaultResourceSpec }).(DomainResourceSpecPtrOutput) +func (o DomainDefaultSpaceStorageSettingsOutput) DefaultEbsStorageSettings() DomainDefaultEbsStorageSettingsPtrOutput { + return o.ApplyT(func(v DomainDefaultSpaceStorageSettings) *DomainDefaultEbsStorageSettings { + return v.DefaultEbsStorageSettings + }).(DomainDefaultEbsStorageSettingsPtrOutput) } -type DomainJupyterServerAppSettingsPtrOutput struct{ *pulumi.OutputState } +type DomainDefaultSpaceStorageSettingsPtrOutput struct{ *pulumi.OutputState } -func (DomainJupyterServerAppSettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DomainJupyterServerAppSettings)(nil)).Elem() +func (DomainDefaultSpaceStorageSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainDefaultSpaceStorageSettings)(nil)).Elem() } -func (o DomainJupyterServerAppSettingsPtrOutput) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { +func (o DomainDefaultSpaceStorageSettingsPtrOutput) ToDomainDefaultSpaceStorageSettingsPtrOutput() DomainDefaultSpaceStorageSettingsPtrOutput { return o } -func (o DomainJupyterServerAppSettingsPtrOutput) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { +func (o DomainDefaultSpaceStorageSettingsPtrOutput) ToDomainDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) DomainDefaultSpaceStorageSettingsPtrOutput { return o } -func (o DomainJupyterServerAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterServerAppSettings] { - return pulumix.Output[*DomainJupyterServerAppSettings]{ +func (o DomainDefaultSpaceStorageSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainDefaultSpaceStorageSettings] { + return pulumix.Output[*DomainDefaultSpaceStorageSettings]{ OutputState: o.OutputState, } } -func (o DomainJupyterServerAppSettingsPtrOutput) Elem() DomainJupyterServerAppSettingsOutput { - return o.ApplyT(func(v *DomainJupyterServerAppSettings) DomainJupyterServerAppSettings { +func (o DomainDefaultSpaceStorageSettingsPtrOutput) Elem() DomainDefaultSpaceStorageSettingsOutput { + return o.ApplyT(func(v *DomainDefaultSpaceStorageSettings) DomainDefaultSpaceStorageSettings { if v != nil { return *v } - var ret DomainJupyterServerAppSettings + var ret DomainDefaultSpaceStorageSettings return ret - }).(DomainJupyterServerAppSettingsOutput) + }).(DomainDefaultSpaceStorageSettingsOutput) } -func (o DomainJupyterServerAppSettingsPtrOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { - return o.ApplyT(func(v *DomainJupyterServerAppSettings) *DomainResourceSpec { +func (o DomainDefaultSpaceStorageSettingsPtrOutput) DefaultEbsStorageSettings() DomainDefaultEbsStorageSettingsPtrOutput { + return o.ApplyT(func(v *DomainDefaultSpaceStorageSettings) *DomainDefaultEbsStorageSettings { if v == nil { return nil } - return v.DefaultResourceSpec - }).(DomainResourceSpecPtrOutput) + return v.DefaultEbsStorageSettings + }).(DomainDefaultEbsStorageSettingsPtrOutput) } -// The kernel gateway app settings. -type DomainKernelGatewayAppSettings struct { - // A list of custom SageMaker images that are configured to run as a KernelGateway app. - CustomImages []DomainCustomImage `pulumi:"customImages"` - // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. - DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` +type DomainEfsFileSystemConfig struct { + FileSystemId string `pulumi:"fileSystemId"` + FileSystemPath *string `pulumi:"fileSystemPath"` } -// DomainKernelGatewayAppSettingsInput is an input type that accepts DomainKernelGatewayAppSettingsArgs and DomainKernelGatewayAppSettingsOutput values. -// You can construct a concrete instance of `DomainKernelGatewayAppSettingsInput` via: +// DomainEfsFileSystemConfigInput is an input type that accepts DomainEfsFileSystemConfigArgs and DomainEfsFileSystemConfigOutput values. +// You can construct a concrete instance of `DomainEfsFileSystemConfigInput` via: // -// DomainKernelGatewayAppSettingsArgs{...} -type DomainKernelGatewayAppSettingsInput interface { +// DomainEfsFileSystemConfigArgs{...} +type DomainEfsFileSystemConfigInput interface { pulumi.Input - ToDomainKernelGatewayAppSettingsOutput() DomainKernelGatewayAppSettingsOutput - ToDomainKernelGatewayAppSettingsOutputWithContext(context.Context) DomainKernelGatewayAppSettingsOutput + ToDomainEfsFileSystemConfigOutput() DomainEfsFileSystemConfigOutput + ToDomainEfsFileSystemConfigOutputWithContext(context.Context) DomainEfsFileSystemConfigOutput } -// The kernel gateway app settings. -type DomainKernelGatewayAppSettingsArgs struct { - // A list of custom SageMaker images that are configured to run as a KernelGateway app. - CustomImages DomainCustomImageArrayInput `pulumi:"customImages"` - // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. - DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` +type DomainEfsFileSystemConfigArgs struct { + FileSystemId pulumi.StringInput `pulumi:"fileSystemId"` + FileSystemPath pulumi.StringPtrInput `pulumi:"fileSystemPath"` } -func (DomainKernelGatewayAppSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DomainKernelGatewayAppSettings)(nil)).Elem() +func (DomainEfsFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainEfsFileSystemConfig)(nil)).Elem() } -func (i DomainKernelGatewayAppSettingsArgs) ToDomainKernelGatewayAppSettingsOutput() DomainKernelGatewayAppSettingsOutput { - return i.ToDomainKernelGatewayAppSettingsOutputWithContext(context.Background()) +func (i DomainEfsFileSystemConfigArgs) ToDomainEfsFileSystemConfigOutput() DomainEfsFileSystemConfigOutput { + return i.ToDomainEfsFileSystemConfigOutputWithContext(context.Background()) +} + +func (i DomainEfsFileSystemConfigArgs) ToDomainEfsFileSystemConfigOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainEfsFileSystemConfigOutput) +} + +func (i DomainEfsFileSystemConfigArgs) ToOutput(ctx context.Context) pulumix.Output[DomainEfsFileSystemConfig] { + return pulumix.Output[DomainEfsFileSystemConfig]{ + OutputState: i.ToDomainEfsFileSystemConfigOutputWithContext(ctx).OutputState, + } +} + +func (i DomainEfsFileSystemConfigArgs) ToDomainEfsFileSystemConfigPtrOutput() DomainEfsFileSystemConfigPtrOutput { + return i.ToDomainEfsFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i DomainEfsFileSystemConfigArgs) ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainEfsFileSystemConfigOutput).ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx) +} + +// DomainEfsFileSystemConfigPtrInput is an input type that accepts DomainEfsFileSystemConfigArgs, DomainEfsFileSystemConfigPtr and DomainEfsFileSystemConfigPtrOutput values. +// You can construct a concrete instance of `DomainEfsFileSystemConfigPtrInput` via: +// +// DomainEfsFileSystemConfigArgs{...} +// +// or: +// +// nil +type DomainEfsFileSystemConfigPtrInput interface { + pulumi.Input + + ToDomainEfsFileSystemConfigPtrOutput() DomainEfsFileSystemConfigPtrOutput + ToDomainEfsFileSystemConfigPtrOutputWithContext(context.Context) DomainEfsFileSystemConfigPtrOutput +} + +type domainEfsFileSystemConfigPtrType DomainEfsFileSystemConfigArgs + +func DomainEfsFileSystemConfigPtr(v *DomainEfsFileSystemConfigArgs) DomainEfsFileSystemConfigPtrInput { + return (*domainEfsFileSystemConfigPtrType)(v) +} + +func (*domainEfsFileSystemConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainEfsFileSystemConfig)(nil)).Elem() +} + +func (i *domainEfsFileSystemConfigPtrType) ToDomainEfsFileSystemConfigPtrOutput() DomainEfsFileSystemConfigPtrOutput { + return i.ToDomainEfsFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i *domainEfsFileSystemConfigPtrType) ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainEfsFileSystemConfigPtrOutput) +} + +func (i *domainEfsFileSystemConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainEfsFileSystemConfig] { + return pulumix.Output[*DomainEfsFileSystemConfig]{ + OutputState: i.ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type DomainEfsFileSystemConfigOutput struct{ *pulumi.OutputState } + +func (DomainEfsFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainEfsFileSystemConfig)(nil)).Elem() +} + +func (o DomainEfsFileSystemConfigOutput) ToDomainEfsFileSystemConfigOutput() DomainEfsFileSystemConfigOutput { + return o +} + +func (o DomainEfsFileSystemConfigOutput) ToDomainEfsFileSystemConfigOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigOutput { + return o +} + +func (o DomainEfsFileSystemConfigOutput) ToDomainEfsFileSystemConfigPtrOutput() DomainEfsFileSystemConfigPtrOutput { + return o.ToDomainEfsFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (o DomainEfsFileSystemConfigOutput) ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainEfsFileSystemConfig) *DomainEfsFileSystemConfig { + return &v + }).(DomainEfsFileSystemConfigPtrOutput) +} + +func (o DomainEfsFileSystemConfigOutput) ToOutput(ctx context.Context) pulumix.Output[DomainEfsFileSystemConfig] { + return pulumix.Output[DomainEfsFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainEfsFileSystemConfigOutput) FileSystemId() pulumi.StringOutput { + return o.ApplyT(func(v DomainEfsFileSystemConfig) string { return v.FileSystemId }).(pulumi.StringOutput) +} + +func (o DomainEfsFileSystemConfigOutput) FileSystemPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainEfsFileSystemConfig) *string { return v.FileSystemPath }).(pulumi.StringPtrOutput) +} + +type DomainEfsFileSystemConfigPtrOutput struct{ *pulumi.OutputState } + +func (DomainEfsFileSystemConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainEfsFileSystemConfig)(nil)).Elem() +} + +func (o DomainEfsFileSystemConfigPtrOutput) ToDomainEfsFileSystemConfigPtrOutput() DomainEfsFileSystemConfigPtrOutput { + return o +} + +func (o DomainEfsFileSystemConfigPtrOutput) ToDomainEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) DomainEfsFileSystemConfigPtrOutput { + return o +} + +func (o DomainEfsFileSystemConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainEfsFileSystemConfig] { + return pulumix.Output[*DomainEfsFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o DomainEfsFileSystemConfigPtrOutput) Elem() DomainEfsFileSystemConfigOutput { + return o.ApplyT(func(v *DomainEfsFileSystemConfig) DomainEfsFileSystemConfig { + if v != nil { + return *v + } + var ret DomainEfsFileSystemConfig + return ret + }).(DomainEfsFileSystemConfigOutput) +} + +func (o DomainEfsFileSystemConfigPtrOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainEfsFileSystemConfig) *string { + if v == nil { + return nil + } + return &v.FileSystemId + }).(pulumi.StringPtrOutput) +} + +func (o DomainEfsFileSystemConfigPtrOutput) FileSystemPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainEfsFileSystemConfig) *string { + if v == nil { + return nil + } + return v.FileSystemPath + }).(pulumi.StringPtrOutput) +} + +// The JupyterLab app settings. +type DomainJupyterLabAppSettings struct { + // A list of CodeRepositories available for use with JupyterLab apps. + CodeRepositories []DomainCodeRepository `pulumi:"codeRepositories"` + // A list of custom images for use for JupyterLab apps. + CustomImages []DomainCustomImage `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with JupyterLab apps. + LifecycleConfigArns []string `pulumi:"lifecycleConfigArns"` +} + +// DomainJupyterLabAppSettingsInput is an input type that accepts DomainJupyterLabAppSettingsArgs and DomainJupyterLabAppSettingsOutput values. +// You can construct a concrete instance of `DomainJupyterLabAppSettingsInput` via: +// +// DomainJupyterLabAppSettingsArgs{...} +type DomainJupyterLabAppSettingsInput interface { + pulumi.Input + + ToDomainJupyterLabAppSettingsOutput() DomainJupyterLabAppSettingsOutput + ToDomainJupyterLabAppSettingsOutputWithContext(context.Context) DomainJupyterLabAppSettingsOutput +} + +// The JupyterLab app settings. +type DomainJupyterLabAppSettingsArgs struct { + // A list of CodeRepositories available for use with JupyterLab apps. + CodeRepositories DomainCodeRepositoryArrayInput `pulumi:"codeRepositories"` + // A list of custom images for use for JupyterLab apps. + CustomImages DomainCustomImageArrayInput `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with JupyterLab apps. + LifecycleConfigArns pulumi.StringArrayInput `pulumi:"lifecycleConfigArns"` +} + +func (DomainJupyterLabAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainJupyterLabAppSettings)(nil)).Elem() +} + +func (i DomainJupyterLabAppSettingsArgs) ToDomainJupyterLabAppSettingsOutput() DomainJupyterLabAppSettingsOutput { + return i.ToDomainJupyterLabAppSettingsOutputWithContext(context.Background()) +} + +func (i DomainJupyterLabAppSettingsArgs) ToDomainJupyterLabAppSettingsOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterLabAppSettingsOutput) +} + +func (i DomainJupyterLabAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterLabAppSettings] { + return pulumix.Output[DomainJupyterLabAppSettings]{ + OutputState: i.ToDomainJupyterLabAppSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i DomainJupyterLabAppSettingsArgs) ToDomainJupyterLabAppSettingsPtrOutput() DomainJupyterLabAppSettingsPtrOutput { + return i.ToDomainJupyterLabAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i DomainJupyterLabAppSettingsArgs) ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterLabAppSettingsOutput).ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx) +} + +// DomainJupyterLabAppSettingsPtrInput is an input type that accepts DomainJupyterLabAppSettingsArgs, DomainJupyterLabAppSettingsPtr and DomainJupyterLabAppSettingsPtrOutput values. +// You can construct a concrete instance of `DomainJupyterLabAppSettingsPtrInput` via: +// +// DomainJupyterLabAppSettingsArgs{...} +// +// or: +// +// nil +type DomainJupyterLabAppSettingsPtrInput interface { + pulumi.Input + + ToDomainJupyterLabAppSettingsPtrOutput() DomainJupyterLabAppSettingsPtrOutput + ToDomainJupyterLabAppSettingsPtrOutputWithContext(context.Context) DomainJupyterLabAppSettingsPtrOutput +} + +type domainJupyterLabAppSettingsPtrType DomainJupyterLabAppSettingsArgs + +func DomainJupyterLabAppSettingsPtr(v *DomainJupyterLabAppSettingsArgs) DomainJupyterLabAppSettingsPtrInput { + return (*domainJupyterLabAppSettingsPtrType)(v) +} + +func (*domainJupyterLabAppSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainJupyterLabAppSettings)(nil)).Elem() +} + +func (i *domainJupyterLabAppSettingsPtrType) ToDomainJupyterLabAppSettingsPtrOutput() DomainJupyterLabAppSettingsPtrOutput { + return i.ToDomainJupyterLabAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i *domainJupyterLabAppSettingsPtrType) ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterLabAppSettingsPtrOutput) +} + +func (i *domainJupyterLabAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterLabAppSettings] { + return pulumix.Output[*DomainJupyterLabAppSettings]{ + OutputState: i.ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// The JupyterLab app settings. +type DomainJupyterLabAppSettingsOutput struct{ *pulumi.OutputState } + +func (DomainJupyterLabAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainJupyterLabAppSettings)(nil)).Elem() +} + +func (o DomainJupyterLabAppSettingsOutput) ToDomainJupyterLabAppSettingsOutput() DomainJupyterLabAppSettingsOutput { + return o +} + +func (o DomainJupyterLabAppSettingsOutput) ToDomainJupyterLabAppSettingsOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsOutput { + return o +} + +func (o DomainJupyterLabAppSettingsOutput) ToDomainJupyterLabAppSettingsPtrOutput() DomainJupyterLabAppSettingsPtrOutput { + return o.ToDomainJupyterLabAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o DomainJupyterLabAppSettingsOutput) ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainJupyterLabAppSettings) *DomainJupyterLabAppSettings { + return &v + }).(DomainJupyterLabAppSettingsPtrOutput) +} + +func (o DomainJupyterLabAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterLabAppSettings] { + return pulumix.Output[DomainJupyterLabAppSettings]{ + OutputState: o.OutputState, + } +} + +// A list of CodeRepositories available for use with JupyterLab apps. +func (o DomainJupyterLabAppSettingsOutput) CodeRepositories() DomainCodeRepositoryArrayOutput { + return o.ApplyT(func(v DomainJupyterLabAppSettings) []DomainCodeRepository { return v.CodeRepositories }).(DomainCodeRepositoryArrayOutput) +} + +// A list of custom images for use for JupyterLab apps. +func (o DomainJupyterLabAppSettingsOutput) CustomImages() DomainCustomImageArrayOutput { + return o.ApplyT(func(v DomainJupyterLabAppSettings) []DomainCustomImage { return v.CustomImages }).(DomainCustomImageArrayOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. +func (o DomainJupyterLabAppSettingsOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v DomainJupyterLabAppSettings) *DomainResourceSpec { return v.DefaultResourceSpec }).(DomainResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with JupyterLab apps. +func (o DomainJupyterLabAppSettingsOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v DomainJupyterLabAppSettings) []string { return v.LifecycleConfigArns }).(pulumi.StringArrayOutput) +} + +type DomainJupyterLabAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (DomainJupyterLabAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainJupyterLabAppSettings)(nil)).Elem() +} + +func (o DomainJupyterLabAppSettingsPtrOutput) ToDomainJupyterLabAppSettingsPtrOutput() DomainJupyterLabAppSettingsPtrOutput { + return o +} + +func (o DomainJupyterLabAppSettingsPtrOutput) ToDomainJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterLabAppSettingsPtrOutput { + return o +} + +func (o DomainJupyterLabAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterLabAppSettings] { + return pulumix.Output[*DomainJupyterLabAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o DomainJupyterLabAppSettingsPtrOutput) Elem() DomainJupyterLabAppSettingsOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) DomainJupyterLabAppSettings { + if v != nil { + return *v + } + var ret DomainJupyterLabAppSettings + return ret + }).(DomainJupyterLabAppSettingsOutput) +} + +// A list of CodeRepositories available for use with JupyterLab apps. +func (o DomainJupyterLabAppSettingsPtrOutput) CodeRepositories() DomainCodeRepositoryArrayOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) []DomainCodeRepository { + if v == nil { + return nil + } + return v.CodeRepositories + }).(DomainCodeRepositoryArrayOutput) +} + +// A list of custom images for use for JupyterLab apps. +func (o DomainJupyterLabAppSettingsPtrOutput) CustomImages() DomainCustomImageArrayOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) []DomainCustomImage { + if v == nil { + return nil + } + return v.CustomImages + }).(DomainCustomImageArrayOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. +func (o DomainJupyterLabAppSettingsPtrOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) *DomainResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(DomainResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with JupyterLab apps. +func (o DomainJupyterLabAppSettingsPtrOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *DomainJupyterLabAppSettings) []string { + if v == nil { + return nil + } + return v.LifecycleConfigArns + }).(pulumi.StringArrayOutput) +} + +// The JupyterServer app settings. +type DomainJupyterServerAppSettings struct { + DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` +} + +// DomainJupyterServerAppSettingsInput is an input type that accepts DomainJupyterServerAppSettingsArgs and DomainJupyterServerAppSettingsOutput values. +// You can construct a concrete instance of `DomainJupyterServerAppSettingsInput` via: +// +// DomainJupyterServerAppSettingsArgs{...} +type DomainJupyterServerAppSettingsInput interface { + pulumi.Input + + ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput + ToDomainJupyterServerAppSettingsOutputWithContext(context.Context) DomainJupyterServerAppSettingsOutput +} + +// The JupyterServer app settings. +type DomainJupyterServerAppSettingsArgs struct { + DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` +} + +func (DomainJupyterServerAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainJupyterServerAppSettings)(nil)).Elem() +} + +func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput { + return i.ToDomainJupyterServerAppSettingsOutputWithContext(context.Background()) +} + +func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsOutput) +} + +func (i DomainJupyterServerAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterServerAppSettings] { + return pulumix.Output[DomainJupyterServerAppSettings]{ + OutputState: i.ToDomainJupyterServerAppSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { + return i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i DomainJupyterServerAppSettingsArgs) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsOutput).ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx) +} + +// DomainJupyterServerAppSettingsPtrInput is an input type that accepts DomainJupyterServerAppSettingsArgs, DomainJupyterServerAppSettingsPtr and DomainJupyterServerAppSettingsPtrOutput values. +// You can construct a concrete instance of `DomainJupyterServerAppSettingsPtrInput` via: +// +// DomainJupyterServerAppSettingsArgs{...} +// +// or: +// +// nil +type DomainJupyterServerAppSettingsPtrInput interface { + pulumi.Input + + ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput + ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Context) DomainJupyterServerAppSettingsPtrOutput +} + +type domainJupyterServerAppSettingsPtrType DomainJupyterServerAppSettingsArgs + +func DomainJupyterServerAppSettingsPtr(v *DomainJupyterServerAppSettingsArgs) DomainJupyterServerAppSettingsPtrInput { + return (*domainJupyterServerAppSettingsPtrType)(v) +} + +func (*domainJupyterServerAppSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DomainJupyterServerAppSettings)(nil)).Elem() +} + +func (i *domainJupyterServerAppSettingsPtrType) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { + return i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i *domainJupyterServerAppSettingsPtrType) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DomainJupyterServerAppSettingsPtrOutput) +} + +func (i *domainJupyterServerAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterServerAppSettings] { + return pulumix.Output[*DomainJupyterServerAppSettings]{ + OutputState: i.ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// The JupyterServer app settings. +type DomainJupyterServerAppSettingsOutput struct{ *pulumi.OutputState } + +func (DomainJupyterServerAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DomainJupyterServerAppSettings)(nil)).Elem() +} + +func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsOutput() DomainJupyterServerAppSettingsOutput { + return o +} + +func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsOutput { + return o +} + +func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { + return o.ToDomainJupyterServerAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o DomainJupyterServerAppSettingsOutput) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DomainJupyterServerAppSettings) *DomainJupyterServerAppSettings { + return &v + }).(DomainJupyterServerAppSettingsPtrOutput) +} + +func (o DomainJupyterServerAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[DomainJupyterServerAppSettings] { + return pulumix.Output[DomainJupyterServerAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o DomainJupyterServerAppSettingsOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v DomainJupyterServerAppSettings) *DomainResourceSpec { return v.DefaultResourceSpec }).(DomainResourceSpecPtrOutput) +} + +type DomainJupyterServerAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (DomainJupyterServerAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DomainJupyterServerAppSettings)(nil)).Elem() +} + +func (o DomainJupyterServerAppSettingsPtrOutput) ToDomainJupyterServerAppSettingsPtrOutput() DomainJupyterServerAppSettingsPtrOutput { + return o +} + +func (o DomainJupyterServerAppSettingsPtrOutput) ToDomainJupyterServerAppSettingsPtrOutputWithContext(ctx context.Context) DomainJupyterServerAppSettingsPtrOutput { + return o +} + +func (o DomainJupyterServerAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*DomainJupyterServerAppSettings] { + return pulumix.Output[*DomainJupyterServerAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o DomainJupyterServerAppSettingsPtrOutput) Elem() DomainJupyterServerAppSettingsOutput { + return o.ApplyT(func(v *DomainJupyterServerAppSettings) DomainJupyterServerAppSettings { + if v != nil { + return *v + } + var ret DomainJupyterServerAppSettings + return ret + }).(DomainJupyterServerAppSettingsOutput) +} + +func (o DomainJupyterServerAppSettingsPtrOutput) DefaultResourceSpec() DomainResourceSpecPtrOutput { + return o.ApplyT(func(v *DomainJupyterServerAppSettings) *DomainResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(DomainResourceSpecPtrOutput) +} + +// The kernel gateway app settings. +type DomainKernelGatewayAppSettings struct { + // A list of custom SageMaker images that are configured to run as a KernelGateway app. + CustomImages []DomainCustomImage `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. + DefaultResourceSpec *DomainResourceSpec `pulumi:"defaultResourceSpec"` +} + +// DomainKernelGatewayAppSettingsInput is an input type that accepts DomainKernelGatewayAppSettingsArgs and DomainKernelGatewayAppSettingsOutput values. +// You can construct a concrete instance of `DomainKernelGatewayAppSettingsInput` via: +// +// DomainKernelGatewayAppSettingsArgs{...} +type DomainKernelGatewayAppSettingsInput interface { + pulumi.Input + + ToDomainKernelGatewayAppSettingsOutput() DomainKernelGatewayAppSettingsOutput + ToDomainKernelGatewayAppSettingsOutputWithContext(context.Context) DomainKernelGatewayAppSettingsOutput +} + +// The kernel gateway app settings. +type DomainKernelGatewayAppSettingsArgs struct { + // A list of custom SageMaker images that are configured to run as a KernelGateway app. + CustomImages DomainCustomImageArrayInput `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. + DefaultResourceSpec DomainResourceSpecPtrInput `pulumi:"defaultResourceSpec"` +} + +func (DomainKernelGatewayAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DomainKernelGatewayAppSettings)(nil)).Elem() +} + +func (i DomainKernelGatewayAppSettingsArgs) ToDomainKernelGatewayAppSettingsOutput() DomainKernelGatewayAppSettingsOutput { + return i.ToDomainKernelGatewayAppSettingsOutputWithContext(context.Background()) } func (i DomainKernelGatewayAppSettingsArgs) ToDomainKernelGatewayAppSettingsOutputWithContext(ctx context.Context) DomainKernelGatewayAppSettingsOutput { @@ -6691,8 +8023,14 @@ func (o DomainTagArrayOutput) Index(i pulumi.IntInput) DomainTagOutput { // 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. type DomainUserSettings struct { + CodeEditorAppSettings *DomainCodeEditorAppSettings `pulumi:"codeEditorAppSettings"` + CustomFileSystemConfigs []DomainCustomFileSystemConfig `pulumi:"customFileSystemConfigs"` + CustomPosixUserConfig *DomainCustomPosixUserConfig `pulumi:"customPosixUserConfig"` + // Defines which Amazon SageMaker application users are directed to by default. + DefaultLandingUri *string `pulumi:"defaultLandingUri"` // The execution role for the user. - ExecutionRole string `pulumi:"executionRole"` + ExecutionRole string `pulumi:"executionRole"` + JupyterLabAppSettings *DomainJupyterLabAppSettings `pulumi:"jupyterLabAppSettings"` // The Jupyter server's app settings. JupyterServerAppSettings *DomainJupyterServerAppSettings `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. @@ -6702,7 +8040,10 @@ type DomainUserSettings struct { // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. SecurityGroups []string `pulumi:"securityGroups"` // The sharing settings. - SharingSettings *DomainSharingSettings `pulumi:"sharingSettings"` + SharingSettings *DomainSharingSettings `pulumi:"sharingSettings"` + SpaceStorageSettings *DomainDefaultSpaceStorageSettings `pulumi:"spaceStorageSettings"` + // Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + StudioWebPortal *DomainUserSettingsStudioWebPortal `pulumi:"studioWebPortal"` } // DomainUserSettingsInput is an input type that accepts DomainUserSettingsArgs and DomainUserSettingsOutput values. @@ -6718,8 +8059,14 @@ type DomainUserSettingsInput interface { // 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. type DomainUserSettingsArgs struct { + CodeEditorAppSettings DomainCodeEditorAppSettingsPtrInput `pulumi:"codeEditorAppSettings"` + CustomFileSystemConfigs DomainCustomFileSystemConfigArrayInput `pulumi:"customFileSystemConfigs"` + CustomPosixUserConfig DomainCustomPosixUserConfigPtrInput `pulumi:"customPosixUserConfig"` + // Defines which Amazon SageMaker application users are directed to by default. + DefaultLandingUri pulumi.StringPtrInput `pulumi:"defaultLandingUri"` // The execution role for the user. - ExecutionRole pulumi.StringInput `pulumi:"executionRole"` + ExecutionRole pulumi.StringInput `pulumi:"executionRole"` + JupyterLabAppSettings DomainJupyterLabAppSettingsPtrInput `pulumi:"jupyterLabAppSettings"` // The Jupyter server's app settings. JupyterServerAppSettings DomainJupyterServerAppSettingsPtrInput `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. @@ -6729,7 +8076,10 @@ type DomainUserSettingsArgs struct { // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` // The sharing settings. - SharingSettings DomainSharingSettingsPtrInput `pulumi:"sharingSettings"` + SharingSettings DomainSharingSettingsPtrInput `pulumi:"sharingSettings"` + SpaceStorageSettings DomainDefaultSpaceStorageSettingsPtrInput `pulumi:"spaceStorageSettings"` + // Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + StudioWebPortal DomainUserSettingsStudioWebPortalPtrInput `pulumi:"studioWebPortal"` } func (DomainUserSettingsArgs) ElementType() reflect.Type { @@ -6771,11 +8121,32 @@ func (o DomainUserSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[D } } +func (o DomainUserSettingsOutput) CodeEditorAppSettings() DomainCodeEditorAppSettingsPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *DomainCodeEditorAppSettings { return v.CodeEditorAppSettings }).(DomainCodeEditorAppSettingsPtrOutput) +} + +func (o DomainUserSettingsOutput) CustomFileSystemConfigs() DomainCustomFileSystemConfigArrayOutput { + return o.ApplyT(func(v DomainUserSettings) []DomainCustomFileSystemConfig { return v.CustomFileSystemConfigs }).(DomainCustomFileSystemConfigArrayOutput) +} + +func (o DomainUserSettingsOutput) CustomPosixUserConfig() DomainCustomPosixUserConfigPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *DomainCustomPosixUserConfig { return v.CustomPosixUserConfig }).(DomainCustomPosixUserConfigPtrOutput) +} + +// Defines which Amazon SageMaker application users are directed to by default. +func (o DomainUserSettingsOutput) DefaultLandingUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *string { return v.DefaultLandingUri }).(pulumi.StringPtrOutput) +} + // The execution role for the user. func (o DomainUserSettingsOutput) ExecutionRole() pulumi.StringOutput { return o.ApplyT(func(v DomainUserSettings) string { return v.ExecutionRole }).(pulumi.StringOutput) } +func (o DomainUserSettingsOutput) JupyterLabAppSettings() DomainJupyterLabAppSettingsPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *DomainJupyterLabAppSettings { return v.JupyterLabAppSettings }).(DomainJupyterLabAppSettingsPtrOutput) +} + // The Jupyter server's app settings. func (o DomainUserSettingsOutput) JupyterServerAppSettings() DomainJupyterServerAppSettingsPtrOutput { return o.ApplyT(func(v DomainUserSettings) *DomainJupyterServerAppSettings { return v.JupyterServerAppSettings }).(DomainJupyterServerAppSettingsPtrOutput) @@ -6804,6 +8175,15 @@ func (o DomainUserSettingsOutput) SharingSettings() DomainSharingSettingsPtrOutp return o.ApplyT(func(v DomainUserSettings) *DomainSharingSettings { return v.SharingSettings }).(DomainSharingSettingsPtrOutput) } +func (o DomainUserSettingsOutput) SpaceStorageSettings() DomainDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *DomainDefaultSpaceStorageSettings { return v.SpaceStorageSettings }).(DomainDefaultSpaceStorageSettingsPtrOutput) +} + +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +func (o DomainUserSettingsOutput) StudioWebPortal() DomainUserSettingsStudioWebPortalPtrOutput { + return o.ApplyT(func(v DomainUserSettings) *DomainUserSettingsStudioWebPortal { return v.StudioWebPortal }).(DomainUserSettingsStudioWebPortalPtrOutput) +} + type DomainUserSettingsPtrOutput struct{ *pulumi.OutputState } func (DomainUserSettingsPtrOutput) ElementType() reflect.Type { @@ -6834,6 +8214,43 @@ func (o DomainUserSettingsPtrOutput) Elem() DomainUserSettingsOutput { }).(DomainUserSettingsOutput) } +func (o DomainUserSettingsPtrOutput) CodeEditorAppSettings() DomainCodeEditorAppSettingsPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *DomainCodeEditorAppSettings { + if v == nil { + return nil + } + return v.CodeEditorAppSettings + }).(DomainCodeEditorAppSettingsPtrOutput) +} + +func (o DomainUserSettingsPtrOutput) CustomFileSystemConfigs() DomainCustomFileSystemConfigArrayOutput { + return o.ApplyT(func(v *DomainUserSettings) []DomainCustomFileSystemConfig { + if v == nil { + return nil + } + return v.CustomFileSystemConfigs + }).(DomainCustomFileSystemConfigArrayOutput) +} + +func (o DomainUserSettingsPtrOutput) CustomPosixUserConfig() DomainCustomPosixUserConfigPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *DomainCustomPosixUserConfig { + if v == nil { + return nil + } + return v.CustomPosixUserConfig + }).(DomainCustomPosixUserConfigPtrOutput) +} + +// Defines which Amazon SageMaker application users are directed to by default. +func (o DomainUserSettingsPtrOutput) DefaultLandingUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *string { + if v == nil { + return nil + } + return v.DefaultLandingUri + }).(pulumi.StringPtrOutput) +} + // The execution role for the user. func (o DomainUserSettingsPtrOutput) ExecutionRole() pulumi.StringPtrOutput { return o.ApplyT(func(v *DomainUserSettings) *string { @@ -6844,6 +8261,15 @@ func (o DomainUserSettingsPtrOutput) ExecutionRole() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o DomainUserSettingsPtrOutput) JupyterLabAppSettings() DomainJupyterLabAppSettingsPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *DomainJupyterLabAppSettings { + if v == nil { + return nil + } + return v.JupyterLabAppSettings + }).(DomainJupyterLabAppSettingsPtrOutput) +} + // The Jupyter server's app settings. func (o DomainUserSettingsPtrOutput) JupyterServerAppSettings() DomainJupyterServerAppSettingsPtrOutput { return o.ApplyT(func(v *DomainUserSettings) *DomainJupyterServerAppSettings { @@ -6902,6 +8328,25 @@ func (o DomainUserSettingsPtrOutput) SharingSettings() DomainSharingSettingsPtrO }).(DomainSharingSettingsPtrOutput) } +func (o DomainUserSettingsPtrOutput) SpaceStorageSettings() DomainDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *DomainDefaultSpaceStorageSettings { + if v == nil { + return nil + } + return v.SpaceStorageSettings + }).(DomainDefaultSpaceStorageSettingsPtrOutput) +} + +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +func (o DomainUserSettingsPtrOutput) StudioWebPortal() DomainUserSettingsStudioWebPortalPtrOutput { + return o.ApplyT(func(v *DomainUserSettings) *DomainUserSettingsStudioWebPortal { + if v == nil { + return nil + } + return v.StudioWebPortal + }).(DomainUserSettingsStudioWebPortalPtrOutput) +} + type EndpointAlarm struct { AlarmName string `pulumi:"alarmName"` } @@ -40357,6 +41802,7 @@ func (o OfflineStoreConfigPropertiesPtrOutput) TableFormat() FeatureGroupTableFo type OnlineStoreConfigProperties struct { EnableOnlineStore *bool `pulumi:"enableOnlineStore"` SecurityConfig *FeatureGroupOnlineStoreSecurityConfig `pulumi:"securityConfig"` + StorageType *FeatureGroupStorageType `pulumi:"storageType"` } // OnlineStoreConfigPropertiesInput is an input type that accepts OnlineStoreConfigPropertiesArgs and OnlineStoreConfigPropertiesOutput values. @@ -40373,6 +41819,7 @@ type OnlineStoreConfigPropertiesInput interface { type OnlineStoreConfigPropertiesArgs struct { EnableOnlineStore pulumi.BoolPtrInput `pulumi:"enableOnlineStore"` SecurityConfig FeatureGroupOnlineStoreSecurityConfigPtrInput `pulumi:"securityConfig"` + StorageType FeatureGroupStorageTypePtrInput `pulumi:"storageType"` } func (OnlineStoreConfigPropertiesArgs) ElementType() reflect.Type { @@ -40478,6 +41925,10 @@ func (o OnlineStoreConfigPropertiesOutput) SecurityConfig() FeatureGroupOnlineSt return o.ApplyT(func(v OnlineStoreConfigProperties) *FeatureGroupOnlineStoreSecurityConfig { return v.SecurityConfig }).(FeatureGroupOnlineStoreSecurityConfigPtrOutput) } +func (o OnlineStoreConfigPropertiesOutput) StorageType() FeatureGroupStorageTypePtrOutput { + return o.ApplyT(func(v OnlineStoreConfigProperties) *FeatureGroupStorageType { return v.StorageType }).(FeatureGroupStorageTypePtrOutput) +} + type OnlineStoreConfigPropertiesPtrOutput struct{ *pulumi.OutputState } func (OnlineStoreConfigPropertiesPtrOutput) ElementType() reflect.Type { @@ -40526,6 +41977,15 @@ func (o OnlineStoreConfigPropertiesPtrOutput) SecurityConfig() FeatureGroupOnlin }).(FeatureGroupOnlineStoreSecurityConfigPtrOutput) } +func (o OnlineStoreConfigPropertiesPtrOutput) StorageType() FeatureGroupStorageTypePtrOutput { + return o.ApplyT(func(v *OnlineStoreConfigProperties) *FeatureGroupStorageType { + if v == nil { + return nil + } + return v.StorageType + }).(FeatureGroupStorageTypePtrOutput) +} + type ParallelismConfigurationProperties struct { // Maximum parallel execution steps MaxParallelExecutionSteps int `pulumi:"maxParallelExecutionSteps"` @@ -41755,743 +43215,2077 @@ func (i *spaceKernelGatewayAppSettingsPtrType) ToOutput(ctx context.Context) pul } } -// The kernel gateway app settings. -type SpaceKernelGatewayAppSettingsOutput struct{ *pulumi.OutputState } +// The kernel gateway app settings. +type SpaceKernelGatewayAppSettingsOutput struct{ *pulumi.OutputState } + +func (SpaceKernelGatewayAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceKernelGatewayAppSettings)(nil)).Elem() +} + +func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsOutput() SpaceKernelGatewayAppSettingsOutput { + return o +} + +func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsOutput { + return o +} + +func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsPtrOutput() SpaceKernelGatewayAppSettingsPtrOutput { + return o.ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceKernelGatewayAppSettings) *SpaceKernelGatewayAppSettings { + return &v + }).(SpaceKernelGatewayAppSettingsPtrOutput) +} + +func (o SpaceKernelGatewayAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceKernelGatewayAppSettings] { + return pulumix.Output[SpaceKernelGatewayAppSettings]{ + OutputState: o.OutputState, + } +} + +// A list of custom SageMaker images that are configured to run as a KernelGateway app. +func (o SpaceKernelGatewayAppSettingsOutput) CustomImages() SpaceCustomImageArrayOutput { + return o.ApplyT(func(v SpaceKernelGatewayAppSettings) []SpaceCustomImage { return v.CustomImages }).(SpaceCustomImageArrayOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. +func (o SpaceKernelGatewayAppSettingsOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { + return o.ApplyT(func(v SpaceKernelGatewayAppSettings) *SpaceResourceSpec { return v.DefaultResourceSpec }).(SpaceResourceSpecPtrOutput) +} + +type SpaceKernelGatewayAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (SpaceKernelGatewayAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceKernelGatewayAppSettings)(nil)).Elem() +} + +func (o SpaceKernelGatewayAppSettingsPtrOutput) ToSpaceKernelGatewayAppSettingsPtrOutput() SpaceKernelGatewayAppSettingsPtrOutput { + return o +} + +func (o SpaceKernelGatewayAppSettingsPtrOutput) ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsPtrOutput { + return o +} + +func (o SpaceKernelGatewayAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceKernelGatewayAppSettings] { + return pulumix.Output[*SpaceKernelGatewayAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o SpaceKernelGatewayAppSettingsPtrOutput) Elem() SpaceKernelGatewayAppSettingsOutput { + return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) SpaceKernelGatewayAppSettings { + if v != nil { + return *v + } + var ret SpaceKernelGatewayAppSettings + return ret + }).(SpaceKernelGatewayAppSettingsOutput) +} + +// A list of custom SageMaker images that are configured to run as a KernelGateway app. +func (o SpaceKernelGatewayAppSettingsPtrOutput) CustomImages() SpaceCustomImageArrayOutput { + return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) []SpaceCustomImage { + if v == nil { + return nil + } + return v.CustomImages + }).(SpaceCustomImageArrayOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. +func (o SpaceKernelGatewayAppSettingsPtrOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { + return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) *SpaceResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(SpaceResourceSpecPtrOutput) +} + +type SpaceResourceSpec struct { + // The instance type that the image version runs on. + InstanceType *SpaceResourceSpecInstanceType `pulumi:"instanceType"` + // The ARN of the SageMaker image that the image version belongs to. + SageMakerImageArn *string `pulumi:"sageMakerImageArn"` + // The ARN of the image version created on the instance. + SageMakerImageVersionArn *string `pulumi:"sageMakerImageVersionArn"` +} + +// SpaceResourceSpecInput is an input type that accepts SpaceResourceSpecArgs and SpaceResourceSpecOutput values. +// You can construct a concrete instance of `SpaceResourceSpecInput` via: +// +// SpaceResourceSpecArgs{...} +type SpaceResourceSpecInput interface { + pulumi.Input + + ToSpaceResourceSpecOutput() SpaceResourceSpecOutput + ToSpaceResourceSpecOutputWithContext(context.Context) SpaceResourceSpecOutput +} + +type SpaceResourceSpecArgs struct { + // The instance type that the image version runs on. + InstanceType SpaceResourceSpecInstanceTypePtrInput `pulumi:"instanceType"` + // The ARN of the SageMaker image that the image version belongs to. + SageMakerImageArn pulumi.StringPtrInput `pulumi:"sageMakerImageArn"` + // The ARN of the image version created on the instance. + SageMakerImageVersionArn pulumi.StringPtrInput `pulumi:"sageMakerImageVersionArn"` +} + +func (SpaceResourceSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceResourceSpec)(nil)).Elem() +} + +func (i SpaceResourceSpecArgs) ToSpaceResourceSpecOutput() SpaceResourceSpecOutput { + return i.ToSpaceResourceSpecOutputWithContext(context.Background()) +} + +func (i SpaceResourceSpecArgs) ToSpaceResourceSpecOutputWithContext(ctx context.Context) SpaceResourceSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecOutput) +} + +func (i SpaceResourceSpecArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceResourceSpec] { + return pulumix.Output[SpaceResourceSpec]{ + OutputState: i.ToSpaceResourceSpecOutputWithContext(ctx).OutputState, + } +} + +func (i SpaceResourceSpecArgs) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { + return i.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +} + +func (i SpaceResourceSpecArgs) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecOutput).ToSpaceResourceSpecPtrOutputWithContext(ctx) +} + +// SpaceResourceSpecPtrInput is an input type that accepts SpaceResourceSpecArgs, SpaceResourceSpecPtr and SpaceResourceSpecPtrOutput values. +// You can construct a concrete instance of `SpaceResourceSpecPtrInput` via: +// +// SpaceResourceSpecArgs{...} +// +// or: +// +// nil +type SpaceResourceSpecPtrInput interface { + pulumi.Input + + ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput + ToSpaceResourceSpecPtrOutputWithContext(context.Context) SpaceResourceSpecPtrOutput +} + +type spaceResourceSpecPtrType SpaceResourceSpecArgs + +func SpaceResourceSpecPtr(v *SpaceResourceSpecArgs) SpaceResourceSpecPtrInput { + return (*spaceResourceSpecPtrType)(v) +} + +func (*spaceResourceSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceResourceSpec)(nil)).Elem() +} + +func (i *spaceResourceSpecPtrType) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { + return i.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +} + +func (i *spaceResourceSpecPtrType) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecPtrOutput) +} + +func (i *spaceResourceSpecPtrType) ToOutput(ctx context.Context) pulumix.Output[*SpaceResourceSpec] { + return pulumix.Output[*SpaceResourceSpec]{ + OutputState: i.ToSpaceResourceSpecPtrOutputWithContext(ctx).OutputState, + } +} + +type SpaceResourceSpecOutput struct{ *pulumi.OutputState } + +func (SpaceResourceSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceResourceSpec)(nil)).Elem() +} + +func (o SpaceResourceSpecOutput) ToSpaceResourceSpecOutput() SpaceResourceSpecOutput { + return o +} + +func (o SpaceResourceSpecOutput) ToSpaceResourceSpecOutputWithContext(ctx context.Context) SpaceResourceSpecOutput { + return o +} + +func (o SpaceResourceSpecOutput) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { + return o.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +} + +func (o SpaceResourceSpecOutput) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceResourceSpec) *SpaceResourceSpec { + return &v + }).(SpaceResourceSpecPtrOutput) +} + +func (o SpaceResourceSpecOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceResourceSpec] { + return pulumix.Output[SpaceResourceSpec]{ + OutputState: o.OutputState, + } +} + +// The instance type that the image version runs on. +func (o SpaceResourceSpecOutput) InstanceType() SpaceResourceSpecInstanceTypePtrOutput { + return o.ApplyT(func(v SpaceResourceSpec) *SpaceResourceSpecInstanceType { return v.InstanceType }).(SpaceResourceSpecInstanceTypePtrOutput) +} + +// The ARN of the SageMaker image that the image version belongs to. +func (o SpaceResourceSpecOutput) SageMakerImageArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpaceResourceSpec) *string { return v.SageMakerImageArn }).(pulumi.StringPtrOutput) +} + +// The ARN of the image version created on the instance. +func (o SpaceResourceSpecOutput) SageMakerImageVersionArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpaceResourceSpec) *string { return v.SageMakerImageVersionArn }).(pulumi.StringPtrOutput) +} + +type SpaceResourceSpecPtrOutput struct{ *pulumi.OutputState } + +func (SpaceResourceSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceResourceSpec)(nil)).Elem() +} + +func (o SpaceResourceSpecPtrOutput) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { + return o +} + +func (o SpaceResourceSpecPtrOutput) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { + return o +} + +func (o SpaceResourceSpecPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceResourceSpec] { + return pulumix.Output[*SpaceResourceSpec]{ + OutputState: o.OutputState, + } +} + +func (o SpaceResourceSpecPtrOutput) Elem() SpaceResourceSpecOutput { + return o.ApplyT(func(v *SpaceResourceSpec) SpaceResourceSpec { + if v != nil { + return *v + } + var ret SpaceResourceSpec + return ret + }).(SpaceResourceSpecOutput) +} + +// The instance type that the image version runs on. +func (o SpaceResourceSpecPtrOutput) InstanceType() SpaceResourceSpecInstanceTypePtrOutput { + return o.ApplyT(func(v *SpaceResourceSpec) *SpaceResourceSpecInstanceType { + if v == nil { + return nil + } + return v.InstanceType + }).(SpaceResourceSpecInstanceTypePtrOutput) +} + +// The ARN of the SageMaker image that the image version belongs to. +func (o SpaceResourceSpecPtrOutput) SageMakerImageArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpaceResourceSpec) *string { + if v == nil { + return nil + } + return v.SageMakerImageArn + }).(pulumi.StringPtrOutput) +} + +// The ARN of the image version created on the instance. +func (o SpaceResourceSpecPtrOutput) SageMakerImageVersionArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SpaceResourceSpec) *string { + if v == nil { + return nil + } + return v.SageMakerImageVersionArn + }).(pulumi.StringPtrOutput) +} + +// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. +type SpaceSettings struct { + // The Jupyter server's app settings. + JupyterServerAppSettings *SpaceJupyterServerAppSettings `pulumi:"jupyterServerAppSettings"` + // The kernel gateway app settings. + KernelGatewayAppSettings *SpaceKernelGatewayAppSettings `pulumi:"kernelGatewayAppSettings"` +} + +// SpaceSettingsInput is an input type that accepts SpaceSettingsArgs and SpaceSettingsOutput values. +// You can construct a concrete instance of `SpaceSettingsInput` via: +// +// SpaceSettingsArgs{...} +type SpaceSettingsInput interface { + pulumi.Input + + ToSpaceSettingsOutput() SpaceSettingsOutput + ToSpaceSettingsOutputWithContext(context.Context) SpaceSettingsOutput +} + +// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. +type SpaceSettingsArgs struct { + // The Jupyter server's app settings. + JupyterServerAppSettings SpaceJupyterServerAppSettingsPtrInput `pulumi:"jupyterServerAppSettings"` + // The kernel gateway app settings. + KernelGatewayAppSettings SpaceKernelGatewayAppSettingsPtrInput `pulumi:"kernelGatewayAppSettings"` +} + +func (SpaceSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceSettings)(nil)).Elem() +} + +func (i SpaceSettingsArgs) ToSpaceSettingsOutput() SpaceSettingsOutput { + return i.ToSpaceSettingsOutputWithContext(context.Background()) +} + +func (i SpaceSettingsArgs) ToSpaceSettingsOutputWithContext(ctx context.Context) SpaceSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsOutput) +} + +func (i SpaceSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceSettings] { + return pulumix.Output[SpaceSettings]{ + OutputState: i.ToSpaceSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i SpaceSettingsArgs) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { + return i.ToSpaceSettingsPtrOutputWithContext(context.Background()) +} + +func (i SpaceSettingsArgs) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsOutput).ToSpaceSettingsPtrOutputWithContext(ctx) +} + +// SpaceSettingsPtrInput is an input type that accepts SpaceSettingsArgs, SpaceSettingsPtr and SpaceSettingsPtrOutput values. +// You can construct a concrete instance of `SpaceSettingsPtrInput` via: +// +// SpaceSettingsArgs{...} +// +// or: +// +// nil +type SpaceSettingsPtrInput interface { + pulumi.Input + + ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput + ToSpaceSettingsPtrOutputWithContext(context.Context) SpaceSettingsPtrOutput +} + +type spaceSettingsPtrType SpaceSettingsArgs + +func SpaceSettingsPtr(v *SpaceSettingsArgs) SpaceSettingsPtrInput { + return (*spaceSettingsPtrType)(v) +} + +func (*spaceSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceSettings)(nil)).Elem() +} + +func (i *spaceSettingsPtrType) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { + return i.ToSpaceSettingsPtrOutputWithContext(context.Background()) +} + +func (i *spaceSettingsPtrType) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsPtrOutput) +} + +func (i *spaceSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*SpaceSettings] { + return pulumix.Output[*SpaceSettings]{ + OutputState: i.ToSpaceSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. +type SpaceSettingsOutput struct{ *pulumi.OutputState } + +func (SpaceSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceSettings)(nil)).Elem() +} + +func (o SpaceSettingsOutput) ToSpaceSettingsOutput() SpaceSettingsOutput { + return o +} + +func (o SpaceSettingsOutput) ToSpaceSettingsOutputWithContext(ctx context.Context) SpaceSettingsOutput { + return o +} + +func (o SpaceSettingsOutput) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { + return o.ToSpaceSettingsPtrOutputWithContext(context.Background()) +} + +func (o SpaceSettingsOutput) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceSettings) *SpaceSettings { + return &v + }).(SpaceSettingsPtrOutput) +} + +func (o SpaceSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceSettings] { + return pulumix.Output[SpaceSettings]{ + OutputState: o.OutputState, + } +} + +// The Jupyter server's app settings. +func (o SpaceSettingsOutput) JupyterServerAppSettings() SpaceJupyterServerAppSettingsPtrOutput { + return o.ApplyT(func(v SpaceSettings) *SpaceJupyterServerAppSettings { return v.JupyterServerAppSettings }).(SpaceJupyterServerAppSettingsPtrOutput) +} + +// The kernel gateway app settings. +func (o SpaceSettingsOutput) KernelGatewayAppSettings() SpaceKernelGatewayAppSettingsPtrOutput { + return o.ApplyT(func(v SpaceSettings) *SpaceKernelGatewayAppSettings { return v.KernelGatewayAppSettings }).(SpaceKernelGatewayAppSettingsPtrOutput) +} + +type SpaceSettingsPtrOutput struct{ *pulumi.OutputState } + +func (SpaceSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpaceSettings)(nil)).Elem() +} + +func (o SpaceSettingsPtrOutput) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { + return o +} + +func (o SpaceSettingsPtrOutput) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { + return o +} + +func (o SpaceSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceSettings] { + return pulumix.Output[*SpaceSettings]{ + OutputState: o.OutputState, + } +} + +func (o SpaceSettingsPtrOutput) Elem() SpaceSettingsOutput { + return o.ApplyT(func(v *SpaceSettings) SpaceSettings { + if v != nil { + return *v + } + var ret SpaceSettings + return ret + }).(SpaceSettingsOutput) +} + +// The Jupyter server's app settings. +func (o SpaceSettingsPtrOutput) JupyterServerAppSettings() SpaceJupyterServerAppSettingsPtrOutput { + return o.ApplyT(func(v *SpaceSettings) *SpaceJupyterServerAppSettings { + if v == nil { + return nil + } + return v.JupyterServerAppSettings + }).(SpaceJupyterServerAppSettingsPtrOutput) +} + +// The kernel gateway app settings. +func (o SpaceSettingsPtrOutput) KernelGatewayAppSettings() SpaceKernelGatewayAppSettingsPtrOutput { + return o.ApplyT(func(v *SpaceSettings) *SpaceKernelGatewayAppSettings { + if v == nil { + return nil + } + return v.KernelGatewayAppSettings + }).(SpaceKernelGatewayAppSettingsPtrOutput) +} + +type SpaceTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + +// SpaceTagInput is an input type that accepts SpaceTagArgs and SpaceTagOutput values. +// You can construct a concrete instance of `SpaceTagInput` via: +// +// SpaceTagArgs{...} +type SpaceTagInput interface { + pulumi.Input + + ToSpaceTagOutput() SpaceTagOutput + ToSpaceTagOutputWithContext(context.Context) SpaceTagOutput +} + +type SpaceTagArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (SpaceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceTag)(nil)).Elem() +} + +func (i SpaceTagArgs) ToSpaceTagOutput() SpaceTagOutput { + return i.ToSpaceTagOutputWithContext(context.Background()) +} + +func (i SpaceTagArgs) ToSpaceTagOutputWithContext(ctx context.Context) SpaceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceTagOutput) +} + +func (i SpaceTagArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceTag] { + return pulumix.Output[SpaceTag]{ + OutputState: i.ToSpaceTagOutputWithContext(ctx).OutputState, + } +} + +// SpaceTagArrayInput is an input type that accepts SpaceTagArray and SpaceTagArrayOutput values. +// You can construct a concrete instance of `SpaceTagArrayInput` via: +// +// SpaceTagArray{ SpaceTagArgs{...} } +type SpaceTagArrayInput interface { + pulumi.Input + + ToSpaceTagArrayOutput() SpaceTagArrayOutput + ToSpaceTagArrayOutputWithContext(context.Context) SpaceTagArrayOutput +} + +type SpaceTagArray []SpaceTagInput + +func (SpaceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpaceTag)(nil)).Elem() +} + +func (i SpaceTagArray) ToSpaceTagArrayOutput() SpaceTagArrayOutput { + return i.ToSpaceTagArrayOutputWithContext(context.Background()) +} + +func (i SpaceTagArray) ToSpaceTagArrayOutputWithContext(ctx context.Context) SpaceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpaceTagArrayOutput) +} + +func (i SpaceTagArray) ToOutput(ctx context.Context) pulumix.Output[[]SpaceTag] { + return pulumix.Output[[]SpaceTag]{ + OutputState: i.ToSpaceTagArrayOutputWithContext(ctx).OutputState, + } +} + +type SpaceTagOutput struct{ *pulumi.OutputState } + +func (SpaceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpaceTag)(nil)).Elem() +} + +func (o SpaceTagOutput) ToSpaceTagOutput() SpaceTagOutput { + return o +} + +func (o SpaceTagOutput) ToSpaceTagOutputWithContext(ctx context.Context) SpaceTagOutput { + return o +} + +func (o SpaceTagOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceTag] { + return pulumix.Output[SpaceTag]{ + OutputState: o.OutputState, + } +} + +func (o SpaceTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v SpaceTag) string { return v.Key }).(pulumi.StringOutput) +} + +func (o SpaceTagOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v SpaceTag) string { return v.Value }).(pulumi.StringOutput) +} + +type SpaceTagArrayOutput struct{ *pulumi.OutputState } + +func (SpaceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpaceTag)(nil)).Elem() +} + +func (o SpaceTagArrayOutput) ToSpaceTagArrayOutput() SpaceTagArrayOutput { + return o +} + +func (o SpaceTagArrayOutput) ToSpaceTagArrayOutputWithContext(ctx context.Context) SpaceTagArrayOutput { + return o +} + +func (o SpaceTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]SpaceTag] { + return pulumix.Output[[]SpaceTag]{ + OutputState: o.OutputState, + } +} + +func (o SpaceTagArrayOutput) Index(i pulumi.IntInput) SpaceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpaceTag { + return vs[0].([]SpaceTag)[vs[1].(int)] + }).(SpaceTagOutput) +} + +// The CodeEditor app settings. +type UserProfileCodeEditorAppSettings struct { + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + DefaultResourceSpec *UserProfileResourceSpec `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with CodeEditor apps. + LifecycleConfigArns []string `pulumi:"lifecycleConfigArns"` +} + +// UserProfileCodeEditorAppSettingsInput is an input type that accepts UserProfileCodeEditorAppSettingsArgs and UserProfileCodeEditorAppSettingsOutput values. +// You can construct a concrete instance of `UserProfileCodeEditorAppSettingsInput` via: +// +// UserProfileCodeEditorAppSettingsArgs{...} +type UserProfileCodeEditorAppSettingsInput interface { + pulumi.Input + + ToUserProfileCodeEditorAppSettingsOutput() UserProfileCodeEditorAppSettingsOutput + ToUserProfileCodeEditorAppSettingsOutputWithContext(context.Context) UserProfileCodeEditorAppSettingsOutput +} + +// The CodeEditor app settings. +type UserProfileCodeEditorAppSettingsArgs struct { + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + DefaultResourceSpec UserProfileResourceSpecPtrInput `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with CodeEditor apps. + LifecycleConfigArns pulumi.StringArrayInput `pulumi:"lifecycleConfigArns"` +} + +func (UserProfileCodeEditorAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCodeEditorAppSettings)(nil)).Elem() +} + +func (i UserProfileCodeEditorAppSettingsArgs) ToUserProfileCodeEditorAppSettingsOutput() UserProfileCodeEditorAppSettingsOutput { + return i.ToUserProfileCodeEditorAppSettingsOutputWithContext(context.Background()) +} + +func (i UserProfileCodeEditorAppSettingsArgs) ToUserProfileCodeEditorAppSettingsOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCodeEditorAppSettingsOutput) +} + +func (i UserProfileCodeEditorAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCodeEditorAppSettings] { + return pulumix.Output[UserProfileCodeEditorAppSettings]{ + OutputState: i.ToUserProfileCodeEditorAppSettingsOutputWithContext(ctx).OutputState, + } +} + +func (i UserProfileCodeEditorAppSettingsArgs) ToUserProfileCodeEditorAppSettingsPtrOutput() UserProfileCodeEditorAppSettingsPtrOutput { + return i.ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i UserProfileCodeEditorAppSettingsArgs) ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCodeEditorAppSettingsOutput).ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx) +} + +// UserProfileCodeEditorAppSettingsPtrInput is an input type that accepts UserProfileCodeEditorAppSettingsArgs, UserProfileCodeEditorAppSettingsPtr and UserProfileCodeEditorAppSettingsPtrOutput values. +// You can construct a concrete instance of `UserProfileCodeEditorAppSettingsPtrInput` via: +// +// UserProfileCodeEditorAppSettingsArgs{...} +// +// or: +// +// nil +type UserProfileCodeEditorAppSettingsPtrInput interface { + pulumi.Input + + ToUserProfileCodeEditorAppSettingsPtrOutput() UserProfileCodeEditorAppSettingsPtrOutput + ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(context.Context) UserProfileCodeEditorAppSettingsPtrOutput +} + +type userProfileCodeEditorAppSettingsPtrType UserProfileCodeEditorAppSettingsArgs + +func UserProfileCodeEditorAppSettingsPtr(v *UserProfileCodeEditorAppSettingsArgs) UserProfileCodeEditorAppSettingsPtrInput { + return (*userProfileCodeEditorAppSettingsPtrType)(v) +} + +func (*userProfileCodeEditorAppSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileCodeEditorAppSettings)(nil)).Elem() +} + +func (i *userProfileCodeEditorAppSettingsPtrType) ToUserProfileCodeEditorAppSettingsPtrOutput() UserProfileCodeEditorAppSettingsPtrOutput { + return i.ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i *userProfileCodeEditorAppSettingsPtrType) ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCodeEditorAppSettingsPtrOutput) +} + +func (i *userProfileCodeEditorAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileCodeEditorAppSettings] { + return pulumix.Output[*UserProfileCodeEditorAppSettings]{ + OutputState: i.ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx).OutputState, + } +} + +// The CodeEditor app settings. +type UserProfileCodeEditorAppSettingsOutput struct{ *pulumi.OutputState } + +func (UserProfileCodeEditorAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCodeEditorAppSettings)(nil)).Elem() +} + +func (o UserProfileCodeEditorAppSettingsOutput) ToUserProfileCodeEditorAppSettingsOutput() UserProfileCodeEditorAppSettingsOutput { + return o +} + +func (o UserProfileCodeEditorAppSettingsOutput) ToUserProfileCodeEditorAppSettingsOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsOutput { + return o +} + +func (o UserProfileCodeEditorAppSettingsOutput) ToUserProfileCodeEditorAppSettingsPtrOutput() UserProfileCodeEditorAppSettingsPtrOutput { + return o.ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o UserProfileCodeEditorAppSettingsOutput) ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileCodeEditorAppSettings) *UserProfileCodeEditorAppSettings { + return &v + }).(UserProfileCodeEditorAppSettingsPtrOutput) +} + +func (o UserProfileCodeEditorAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCodeEditorAppSettings] { + return pulumix.Output[UserProfileCodeEditorAppSettings]{ + OutputState: o.OutputState, + } +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. +func (o UserProfileCodeEditorAppSettingsOutput) DefaultResourceSpec() UserProfileResourceSpecPtrOutput { + return o.ApplyT(func(v UserProfileCodeEditorAppSettings) *UserProfileResourceSpec { return v.DefaultResourceSpec }).(UserProfileResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with CodeEditor apps. +func (o UserProfileCodeEditorAppSettingsOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v UserProfileCodeEditorAppSettings) []string { return v.LifecycleConfigArns }).(pulumi.StringArrayOutput) +} + +type UserProfileCodeEditorAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileCodeEditorAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileCodeEditorAppSettings)(nil)).Elem() +} + +func (o UserProfileCodeEditorAppSettingsPtrOutput) ToUserProfileCodeEditorAppSettingsPtrOutput() UserProfileCodeEditorAppSettingsPtrOutput { + return o +} + +func (o UserProfileCodeEditorAppSettingsPtrOutput) ToUserProfileCodeEditorAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileCodeEditorAppSettingsPtrOutput { + return o +} + +func (o UserProfileCodeEditorAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileCodeEditorAppSettings] { + return pulumix.Output[*UserProfileCodeEditorAppSettings]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileCodeEditorAppSettingsPtrOutput) Elem() UserProfileCodeEditorAppSettingsOutput { + return o.ApplyT(func(v *UserProfileCodeEditorAppSettings) UserProfileCodeEditorAppSettings { + if v != nil { + return *v + } + var ret UserProfileCodeEditorAppSettings + return ret + }).(UserProfileCodeEditorAppSettingsOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. +func (o UserProfileCodeEditorAppSettingsPtrOutput) DefaultResourceSpec() UserProfileResourceSpecPtrOutput { + return o.ApplyT(func(v *UserProfileCodeEditorAppSettings) *UserProfileResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(UserProfileResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with CodeEditor apps. +func (o UserProfileCodeEditorAppSettingsPtrOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *UserProfileCodeEditorAppSettings) []string { + if v == nil { + return nil + } + return v.LifecycleConfigArns + }).(pulumi.StringArrayOutput) +} + +type UserProfileCodeRepository struct { + // A CodeRepository (valid URL) to be used within Jupyter's Git extension. + RepositoryUrl string `pulumi:"repositoryUrl"` +} + +// UserProfileCodeRepositoryInput is an input type that accepts UserProfileCodeRepositoryArgs and UserProfileCodeRepositoryOutput values. +// You can construct a concrete instance of `UserProfileCodeRepositoryInput` via: +// +// UserProfileCodeRepositoryArgs{...} +type UserProfileCodeRepositoryInput interface { + pulumi.Input + + ToUserProfileCodeRepositoryOutput() UserProfileCodeRepositoryOutput + ToUserProfileCodeRepositoryOutputWithContext(context.Context) UserProfileCodeRepositoryOutput +} + +type UserProfileCodeRepositoryArgs struct { + // A CodeRepository (valid URL) to be used within Jupyter's Git extension. + RepositoryUrl pulumi.StringInput `pulumi:"repositoryUrl"` +} + +func (UserProfileCodeRepositoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCodeRepository)(nil)).Elem() +} + +func (i UserProfileCodeRepositoryArgs) ToUserProfileCodeRepositoryOutput() UserProfileCodeRepositoryOutput { + return i.ToUserProfileCodeRepositoryOutputWithContext(context.Background()) +} + +func (i UserProfileCodeRepositoryArgs) ToUserProfileCodeRepositoryOutputWithContext(ctx context.Context) UserProfileCodeRepositoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCodeRepositoryOutput) +} + +func (i UserProfileCodeRepositoryArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCodeRepository] { + return pulumix.Output[UserProfileCodeRepository]{ + OutputState: i.ToUserProfileCodeRepositoryOutputWithContext(ctx).OutputState, + } +} + +// UserProfileCodeRepositoryArrayInput is an input type that accepts UserProfileCodeRepositoryArray and UserProfileCodeRepositoryArrayOutput values. +// You can construct a concrete instance of `UserProfileCodeRepositoryArrayInput` via: +// +// UserProfileCodeRepositoryArray{ UserProfileCodeRepositoryArgs{...} } +type UserProfileCodeRepositoryArrayInput interface { + pulumi.Input + + ToUserProfileCodeRepositoryArrayOutput() UserProfileCodeRepositoryArrayOutput + ToUserProfileCodeRepositoryArrayOutputWithContext(context.Context) UserProfileCodeRepositoryArrayOutput +} + +type UserProfileCodeRepositoryArray []UserProfileCodeRepositoryInput + +func (UserProfileCodeRepositoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCodeRepository)(nil)).Elem() +} + +func (i UserProfileCodeRepositoryArray) ToUserProfileCodeRepositoryArrayOutput() UserProfileCodeRepositoryArrayOutput { + return i.ToUserProfileCodeRepositoryArrayOutputWithContext(context.Background()) +} + +func (i UserProfileCodeRepositoryArray) ToUserProfileCodeRepositoryArrayOutputWithContext(ctx context.Context) UserProfileCodeRepositoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCodeRepositoryArrayOutput) +} + +func (i UserProfileCodeRepositoryArray) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCodeRepository] { + return pulumix.Output[[]UserProfileCodeRepository]{ + OutputState: i.ToUserProfileCodeRepositoryArrayOutputWithContext(ctx).OutputState, + } +} + +type UserProfileCodeRepositoryOutput struct{ *pulumi.OutputState } + +func (UserProfileCodeRepositoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCodeRepository)(nil)).Elem() +} + +func (o UserProfileCodeRepositoryOutput) ToUserProfileCodeRepositoryOutput() UserProfileCodeRepositoryOutput { + return o +} + +func (o UserProfileCodeRepositoryOutput) ToUserProfileCodeRepositoryOutputWithContext(ctx context.Context) UserProfileCodeRepositoryOutput { + return o +} + +func (o UserProfileCodeRepositoryOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCodeRepository] { + return pulumix.Output[UserProfileCodeRepository]{ + OutputState: o.OutputState, + } +} + +// A CodeRepository (valid URL) to be used within Jupyter's Git extension. +func (o UserProfileCodeRepositoryOutput) RepositoryUrl() pulumi.StringOutput { + return o.ApplyT(func(v UserProfileCodeRepository) string { return v.RepositoryUrl }).(pulumi.StringOutput) +} + +type UserProfileCodeRepositoryArrayOutput struct{ *pulumi.OutputState } + +func (UserProfileCodeRepositoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCodeRepository)(nil)).Elem() +} + +func (o UserProfileCodeRepositoryArrayOutput) ToUserProfileCodeRepositoryArrayOutput() UserProfileCodeRepositoryArrayOutput { + return o +} + +func (o UserProfileCodeRepositoryArrayOutput) ToUserProfileCodeRepositoryArrayOutputWithContext(ctx context.Context) UserProfileCodeRepositoryArrayOutput { + return o +} + +func (o UserProfileCodeRepositoryArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCodeRepository] { + return pulumix.Output[[]UserProfileCodeRepository]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileCodeRepositoryArrayOutput) Index(i pulumi.IntInput) UserProfileCodeRepositoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) UserProfileCodeRepository { + return vs[0].([]UserProfileCodeRepository)[vs[1].(int)] + }).(UserProfileCodeRepositoryOutput) +} + +type UserProfileCustomFileSystemConfig struct { + EfsFileSystemConfig *UserProfileEfsFileSystemConfig `pulumi:"efsFileSystemConfig"` +} + +// UserProfileCustomFileSystemConfigInput is an input type that accepts UserProfileCustomFileSystemConfigArgs and UserProfileCustomFileSystemConfigOutput values. +// You can construct a concrete instance of `UserProfileCustomFileSystemConfigInput` via: +// +// UserProfileCustomFileSystemConfigArgs{...} +type UserProfileCustomFileSystemConfigInput interface { + pulumi.Input + + ToUserProfileCustomFileSystemConfigOutput() UserProfileCustomFileSystemConfigOutput + ToUserProfileCustomFileSystemConfigOutputWithContext(context.Context) UserProfileCustomFileSystemConfigOutput +} + +type UserProfileCustomFileSystemConfigArgs struct { + EfsFileSystemConfig UserProfileEfsFileSystemConfigPtrInput `pulumi:"efsFileSystemConfig"` +} + +func (UserProfileCustomFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomFileSystemConfig)(nil)).Elem() +} + +func (i UserProfileCustomFileSystemConfigArgs) ToUserProfileCustomFileSystemConfigOutput() UserProfileCustomFileSystemConfigOutput { + return i.ToUserProfileCustomFileSystemConfigOutputWithContext(context.Background()) +} + +func (i UserProfileCustomFileSystemConfigArgs) ToUserProfileCustomFileSystemConfigOutputWithContext(ctx context.Context) UserProfileCustomFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomFileSystemConfigOutput) +} + +func (i UserProfileCustomFileSystemConfigArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomFileSystemConfig] { + return pulumix.Output[UserProfileCustomFileSystemConfig]{ + OutputState: i.ToUserProfileCustomFileSystemConfigOutputWithContext(ctx).OutputState, + } +} + +// UserProfileCustomFileSystemConfigArrayInput is an input type that accepts UserProfileCustomFileSystemConfigArray and UserProfileCustomFileSystemConfigArrayOutput values. +// You can construct a concrete instance of `UserProfileCustomFileSystemConfigArrayInput` via: +// +// UserProfileCustomFileSystemConfigArray{ UserProfileCustomFileSystemConfigArgs{...} } +type UserProfileCustomFileSystemConfigArrayInput interface { + pulumi.Input + + ToUserProfileCustomFileSystemConfigArrayOutput() UserProfileCustomFileSystemConfigArrayOutput + ToUserProfileCustomFileSystemConfigArrayOutputWithContext(context.Context) UserProfileCustomFileSystemConfigArrayOutput +} + +type UserProfileCustomFileSystemConfigArray []UserProfileCustomFileSystemConfigInput + +func (UserProfileCustomFileSystemConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCustomFileSystemConfig)(nil)).Elem() +} + +func (i UserProfileCustomFileSystemConfigArray) ToUserProfileCustomFileSystemConfigArrayOutput() UserProfileCustomFileSystemConfigArrayOutput { + return i.ToUserProfileCustomFileSystemConfigArrayOutputWithContext(context.Background()) +} + +func (i UserProfileCustomFileSystemConfigArray) ToUserProfileCustomFileSystemConfigArrayOutputWithContext(ctx context.Context) UserProfileCustomFileSystemConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomFileSystemConfigArrayOutput) +} + +func (i UserProfileCustomFileSystemConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomFileSystemConfig] { + return pulumix.Output[[]UserProfileCustomFileSystemConfig]{ + OutputState: i.ToUserProfileCustomFileSystemConfigArrayOutputWithContext(ctx).OutputState, + } +} + +type UserProfileCustomFileSystemConfigOutput struct{ *pulumi.OutputState } + +func (UserProfileCustomFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomFileSystemConfig)(nil)).Elem() +} + +func (o UserProfileCustomFileSystemConfigOutput) ToUserProfileCustomFileSystemConfigOutput() UserProfileCustomFileSystemConfigOutput { + return o +} + +func (o UserProfileCustomFileSystemConfigOutput) ToUserProfileCustomFileSystemConfigOutputWithContext(ctx context.Context) UserProfileCustomFileSystemConfigOutput { + return o +} + +func (o UserProfileCustomFileSystemConfigOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomFileSystemConfig] { + return pulumix.Output[UserProfileCustomFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileCustomFileSystemConfigOutput) EfsFileSystemConfig() UserProfileEfsFileSystemConfigPtrOutput { + return o.ApplyT(func(v UserProfileCustomFileSystemConfig) *UserProfileEfsFileSystemConfig { + return v.EfsFileSystemConfig + }).(UserProfileEfsFileSystemConfigPtrOutput) +} + +type UserProfileCustomFileSystemConfigArrayOutput struct{ *pulumi.OutputState } + +func (UserProfileCustomFileSystemConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCustomFileSystemConfig)(nil)).Elem() +} + +func (o UserProfileCustomFileSystemConfigArrayOutput) ToUserProfileCustomFileSystemConfigArrayOutput() UserProfileCustomFileSystemConfigArrayOutput { + return o +} + +func (o UserProfileCustomFileSystemConfigArrayOutput) ToUserProfileCustomFileSystemConfigArrayOutputWithContext(ctx context.Context) UserProfileCustomFileSystemConfigArrayOutput { + return o +} + +func (o UserProfileCustomFileSystemConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomFileSystemConfig] { + return pulumix.Output[[]UserProfileCustomFileSystemConfig]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileCustomFileSystemConfigArrayOutput) Index(i pulumi.IntInput) UserProfileCustomFileSystemConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) UserProfileCustomFileSystemConfig { + return vs[0].([]UserProfileCustomFileSystemConfig)[vs[1].(int)] + }).(UserProfileCustomFileSystemConfigOutput) +} + +// A custom SageMaker image. +type UserProfileCustomImage struct { + // The Name of the AppImageConfig. + AppImageConfigName string `pulumi:"appImageConfigName"` + // The name of the CustomImage. Must be unique to your account. + ImageName string `pulumi:"imageName"` + // The version number of the CustomImage. + ImageVersionNumber *int `pulumi:"imageVersionNumber"` +} + +// UserProfileCustomImageInput is an input type that accepts UserProfileCustomImageArgs and UserProfileCustomImageOutput values. +// You can construct a concrete instance of `UserProfileCustomImageInput` via: +// +// UserProfileCustomImageArgs{...} +type UserProfileCustomImageInput interface { + pulumi.Input + + ToUserProfileCustomImageOutput() UserProfileCustomImageOutput + ToUserProfileCustomImageOutputWithContext(context.Context) UserProfileCustomImageOutput +} + +// A custom SageMaker image. +type UserProfileCustomImageArgs struct { + // The Name of the AppImageConfig. + AppImageConfigName pulumi.StringInput `pulumi:"appImageConfigName"` + // The name of the CustomImage. Must be unique to your account. + ImageName pulumi.StringInput `pulumi:"imageName"` + // The version number of the CustomImage. + ImageVersionNumber pulumi.IntPtrInput `pulumi:"imageVersionNumber"` +} + +func (UserProfileCustomImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomImage)(nil)).Elem() +} + +func (i UserProfileCustomImageArgs) ToUserProfileCustomImageOutput() UserProfileCustomImageOutput { + return i.ToUserProfileCustomImageOutputWithContext(context.Background()) +} + +func (i UserProfileCustomImageArgs) ToUserProfileCustomImageOutputWithContext(ctx context.Context) UserProfileCustomImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomImageOutput) +} + +func (i UserProfileCustomImageArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomImage] { + return pulumix.Output[UserProfileCustomImage]{ + OutputState: i.ToUserProfileCustomImageOutputWithContext(ctx).OutputState, + } +} + +// UserProfileCustomImageArrayInput is an input type that accepts UserProfileCustomImageArray and UserProfileCustomImageArrayOutput values. +// You can construct a concrete instance of `UserProfileCustomImageArrayInput` via: +// +// UserProfileCustomImageArray{ UserProfileCustomImageArgs{...} } +type UserProfileCustomImageArrayInput interface { + pulumi.Input + + ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput + ToUserProfileCustomImageArrayOutputWithContext(context.Context) UserProfileCustomImageArrayOutput +} + +type UserProfileCustomImageArray []UserProfileCustomImageInput + +func (UserProfileCustomImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCustomImage)(nil)).Elem() +} + +func (i UserProfileCustomImageArray) ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput { + return i.ToUserProfileCustomImageArrayOutputWithContext(context.Background()) +} + +func (i UserProfileCustomImageArray) ToUserProfileCustomImageArrayOutputWithContext(ctx context.Context) UserProfileCustomImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomImageArrayOutput) +} + +func (i UserProfileCustomImageArray) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomImage] { + return pulumix.Output[[]UserProfileCustomImage]{ + OutputState: i.ToUserProfileCustomImageArrayOutputWithContext(ctx).OutputState, + } +} + +// A custom SageMaker image. +type UserProfileCustomImageOutput struct{ *pulumi.OutputState } + +func (UserProfileCustomImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomImage)(nil)).Elem() +} + +func (o UserProfileCustomImageOutput) ToUserProfileCustomImageOutput() UserProfileCustomImageOutput { + return o +} + +func (o UserProfileCustomImageOutput) ToUserProfileCustomImageOutputWithContext(ctx context.Context) UserProfileCustomImageOutput { + return o +} + +func (o UserProfileCustomImageOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomImage] { + return pulumix.Output[UserProfileCustomImage]{ + OutputState: o.OutputState, + } +} + +// The Name of the AppImageConfig. +func (o UserProfileCustomImageOutput) AppImageConfigName() pulumi.StringOutput { + return o.ApplyT(func(v UserProfileCustomImage) string { return v.AppImageConfigName }).(pulumi.StringOutput) +} + +// The name of the CustomImage. Must be unique to your account. +func (o UserProfileCustomImageOutput) ImageName() pulumi.StringOutput { + return o.ApplyT(func(v UserProfileCustomImage) string { return v.ImageName }).(pulumi.StringOutput) +} + +// The version number of the CustomImage. +func (o UserProfileCustomImageOutput) ImageVersionNumber() pulumi.IntPtrOutput { + return o.ApplyT(func(v UserProfileCustomImage) *int { return v.ImageVersionNumber }).(pulumi.IntPtrOutput) +} + +type UserProfileCustomImageArrayOutput struct{ *pulumi.OutputState } + +func (UserProfileCustomImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]UserProfileCustomImage)(nil)).Elem() +} + +func (o UserProfileCustomImageArrayOutput) ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput { + return o +} + +func (o UserProfileCustomImageArrayOutput) ToUserProfileCustomImageArrayOutputWithContext(ctx context.Context) UserProfileCustomImageArrayOutput { + return o +} + +func (o UserProfileCustomImageArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomImage] { + return pulumix.Output[[]UserProfileCustomImage]{ + OutputState: o.OutputState, + } +} + +func (o UserProfileCustomImageArrayOutput) Index(i pulumi.IntInput) UserProfileCustomImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) UserProfileCustomImage { + return vs[0].([]UserProfileCustomImage)[vs[1].(int)] + }).(UserProfileCustomImageOutput) +} + +type UserProfileCustomPosixUserConfig struct { + Gid int `pulumi:"gid"` + Uid int `pulumi:"uid"` +} + +// UserProfileCustomPosixUserConfigInput is an input type that accepts UserProfileCustomPosixUserConfigArgs and UserProfileCustomPosixUserConfigOutput values. +// You can construct a concrete instance of `UserProfileCustomPosixUserConfigInput` via: +// +// UserProfileCustomPosixUserConfigArgs{...} +type UserProfileCustomPosixUserConfigInput interface { + pulumi.Input + + ToUserProfileCustomPosixUserConfigOutput() UserProfileCustomPosixUserConfigOutput + ToUserProfileCustomPosixUserConfigOutputWithContext(context.Context) UserProfileCustomPosixUserConfigOutput +} + +type UserProfileCustomPosixUserConfigArgs struct { + Gid pulumi.IntInput `pulumi:"gid"` + Uid pulumi.IntInput `pulumi:"uid"` +} + +func (UserProfileCustomPosixUserConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomPosixUserConfig)(nil)).Elem() +} + +func (i UserProfileCustomPosixUserConfigArgs) ToUserProfileCustomPosixUserConfigOutput() UserProfileCustomPosixUserConfigOutput { + return i.ToUserProfileCustomPosixUserConfigOutputWithContext(context.Background()) +} + +func (i UserProfileCustomPosixUserConfigArgs) ToUserProfileCustomPosixUserConfigOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomPosixUserConfigOutput) +} + +func (i UserProfileCustomPosixUserConfigArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomPosixUserConfig] { + return pulumix.Output[UserProfileCustomPosixUserConfig]{ + OutputState: i.ToUserProfileCustomPosixUserConfigOutputWithContext(ctx).OutputState, + } +} + +func (i UserProfileCustomPosixUserConfigArgs) ToUserProfileCustomPosixUserConfigPtrOutput() UserProfileCustomPosixUserConfigPtrOutput { + return i.ToUserProfileCustomPosixUserConfigPtrOutputWithContext(context.Background()) +} + +func (i UserProfileCustomPosixUserConfigArgs) ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomPosixUserConfigOutput).ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx) +} + +// UserProfileCustomPosixUserConfigPtrInput is an input type that accepts UserProfileCustomPosixUserConfigArgs, UserProfileCustomPosixUserConfigPtr and UserProfileCustomPosixUserConfigPtrOutput values. +// You can construct a concrete instance of `UserProfileCustomPosixUserConfigPtrInput` via: +// +// UserProfileCustomPosixUserConfigArgs{...} +// +// or: +// +// nil +type UserProfileCustomPosixUserConfigPtrInput interface { + pulumi.Input + + ToUserProfileCustomPosixUserConfigPtrOutput() UserProfileCustomPosixUserConfigPtrOutput + ToUserProfileCustomPosixUserConfigPtrOutputWithContext(context.Context) UserProfileCustomPosixUserConfigPtrOutput +} + +type userProfileCustomPosixUserConfigPtrType UserProfileCustomPosixUserConfigArgs + +func UserProfileCustomPosixUserConfigPtr(v *UserProfileCustomPosixUserConfigArgs) UserProfileCustomPosixUserConfigPtrInput { + return (*userProfileCustomPosixUserConfigPtrType)(v) +} + +func (*userProfileCustomPosixUserConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileCustomPosixUserConfig)(nil)).Elem() +} + +func (i *userProfileCustomPosixUserConfigPtrType) ToUserProfileCustomPosixUserConfigPtrOutput() UserProfileCustomPosixUserConfigPtrOutput { + return i.ToUserProfileCustomPosixUserConfigPtrOutputWithContext(context.Background()) +} + +func (i *userProfileCustomPosixUserConfigPtrType) ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomPosixUserConfigPtrOutput) +} + +func (i *userProfileCustomPosixUserConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileCustomPosixUserConfig] { + return pulumix.Output[*UserProfileCustomPosixUserConfig]{ + OutputState: i.ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type UserProfileCustomPosixUserConfigOutput struct{ *pulumi.OutputState } -func (SpaceKernelGatewayAppSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceKernelGatewayAppSettings)(nil)).Elem() +func (UserProfileCustomPosixUserConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileCustomPosixUserConfig)(nil)).Elem() } -func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsOutput() SpaceKernelGatewayAppSettingsOutput { +func (o UserProfileCustomPosixUserConfigOutput) ToUserProfileCustomPosixUserConfigOutput() UserProfileCustomPosixUserConfigOutput { return o } -func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsOutput { +func (o UserProfileCustomPosixUserConfigOutput) ToUserProfileCustomPosixUserConfigOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigOutput { return o } -func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsPtrOutput() SpaceKernelGatewayAppSettingsPtrOutput { - return o.ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(context.Background()) +func (o UserProfileCustomPosixUserConfigOutput) ToUserProfileCustomPosixUserConfigPtrOutput() UserProfileCustomPosixUserConfigPtrOutput { + return o.ToUserProfileCustomPosixUserConfigPtrOutputWithContext(context.Background()) } -func (o SpaceKernelGatewayAppSettingsOutput) ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceKernelGatewayAppSettings) *SpaceKernelGatewayAppSettings { +func (o UserProfileCustomPosixUserConfigOutput) ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileCustomPosixUserConfig) *UserProfileCustomPosixUserConfig { return &v - }).(SpaceKernelGatewayAppSettingsPtrOutput) + }).(UserProfileCustomPosixUserConfigPtrOutput) } -func (o SpaceKernelGatewayAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceKernelGatewayAppSettings] { - return pulumix.Output[SpaceKernelGatewayAppSettings]{ +func (o UserProfileCustomPosixUserConfigOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomPosixUserConfig] { + return pulumix.Output[UserProfileCustomPosixUserConfig]{ OutputState: o.OutputState, } } -// A list of custom SageMaker images that are configured to run as a KernelGateway app. -func (o SpaceKernelGatewayAppSettingsOutput) CustomImages() SpaceCustomImageArrayOutput { - return o.ApplyT(func(v SpaceKernelGatewayAppSettings) []SpaceCustomImage { return v.CustomImages }).(SpaceCustomImageArrayOutput) +func (o UserProfileCustomPosixUserConfigOutput) Gid() pulumi.IntOutput { + return o.ApplyT(func(v UserProfileCustomPosixUserConfig) int { return v.Gid }).(pulumi.IntOutput) } -// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. -func (o SpaceKernelGatewayAppSettingsOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { - return o.ApplyT(func(v SpaceKernelGatewayAppSettings) *SpaceResourceSpec { return v.DefaultResourceSpec }).(SpaceResourceSpecPtrOutput) +func (o UserProfileCustomPosixUserConfigOutput) Uid() pulumi.IntOutput { + return o.ApplyT(func(v UserProfileCustomPosixUserConfig) int { return v.Uid }).(pulumi.IntOutput) } -type SpaceKernelGatewayAppSettingsPtrOutput struct{ *pulumi.OutputState } +type UserProfileCustomPosixUserConfigPtrOutput struct{ *pulumi.OutputState } -func (SpaceKernelGatewayAppSettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpaceKernelGatewayAppSettings)(nil)).Elem() +func (UserProfileCustomPosixUserConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileCustomPosixUserConfig)(nil)).Elem() } -func (o SpaceKernelGatewayAppSettingsPtrOutput) ToSpaceKernelGatewayAppSettingsPtrOutput() SpaceKernelGatewayAppSettingsPtrOutput { +func (o UserProfileCustomPosixUserConfigPtrOutput) ToUserProfileCustomPosixUserConfigPtrOutput() UserProfileCustomPosixUserConfigPtrOutput { return o } -func (o SpaceKernelGatewayAppSettingsPtrOutput) ToSpaceKernelGatewayAppSettingsPtrOutputWithContext(ctx context.Context) SpaceKernelGatewayAppSettingsPtrOutput { +func (o UserProfileCustomPosixUserConfigPtrOutput) ToUserProfileCustomPosixUserConfigPtrOutputWithContext(ctx context.Context) UserProfileCustomPosixUserConfigPtrOutput { return o } -func (o SpaceKernelGatewayAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceKernelGatewayAppSettings] { - return pulumix.Output[*SpaceKernelGatewayAppSettings]{ +func (o UserProfileCustomPosixUserConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileCustomPosixUserConfig] { + return pulumix.Output[*UserProfileCustomPosixUserConfig]{ OutputState: o.OutputState, } } -func (o SpaceKernelGatewayAppSettingsPtrOutput) Elem() SpaceKernelGatewayAppSettingsOutput { - return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) SpaceKernelGatewayAppSettings { +func (o UserProfileCustomPosixUserConfigPtrOutput) Elem() UserProfileCustomPosixUserConfigOutput { + return o.ApplyT(func(v *UserProfileCustomPosixUserConfig) UserProfileCustomPosixUserConfig { if v != nil { return *v } - var ret SpaceKernelGatewayAppSettings + var ret UserProfileCustomPosixUserConfig return ret - }).(SpaceKernelGatewayAppSettingsOutput) + }).(UserProfileCustomPosixUserConfigOutput) } -// A list of custom SageMaker images that are configured to run as a KernelGateway app. -func (o SpaceKernelGatewayAppSettingsPtrOutput) CustomImages() SpaceCustomImageArrayOutput { - return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) []SpaceCustomImage { +func (o UserProfileCustomPosixUserConfigPtrOutput) Gid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileCustomPosixUserConfig) *int { if v == nil { return nil } - return v.CustomImages - }).(SpaceCustomImageArrayOutput) + return &v.Gid + }).(pulumi.IntPtrOutput) } -// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app. -func (o SpaceKernelGatewayAppSettingsPtrOutput) DefaultResourceSpec() SpaceResourceSpecPtrOutput { - return o.ApplyT(func(v *SpaceKernelGatewayAppSettings) *SpaceResourceSpec { +func (o UserProfileCustomPosixUserConfigPtrOutput) Uid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileCustomPosixUserConfig) *int { if v == nil { return nil } - return v.DefaultResourceSpec - }).(SpaceResourceSpecPtrOutput) + return &v.Uid + }).(pulumi.IntPtrOutput) } -type SpaceResourceSpec struct { - // The instance type that the image version runs on. - InstanceType *SpaceResourceSpecInstanceType `pulumi:"instanceType"` - // The ARN of the SageMaker image that the image version belongs to. - SageMakerImageArn *string `pulumi:"sageMakerImageArn"` - // The ARN of the image version created on the instance. - SageMakerImageVersionArn *string `pulumi:"sageMakerImageVersionArn"` +// Properties related to the Amazon Elastic Block Store volume. +type UserProfileDefaultEbsStorageSettings struct { + // Default size of the Amazon EBS volume in Gb + DefaultEbsVolumeSizeInGb int `pulumi:"defaultEbsVolumeSizeInGb"` + // Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + MaximumEbsVolumeSizeInGb int `pulumi:"maximumEbsVolumeSizeInGb"` } -// SpaceResourceSpecInput is an input type that accepts SpaceResourceSpecArgs and SpaceResourceSpecOutput values. -// You can construct a concrete instance of `SpaceResourceSpecInput` via: +// UserProfileDefaultEbsStorageSettingsInput is an input type that accepts UserProfileDefaultEbsStorageSettingsArgs and UserProfileDefaultEbsStorageSettingsOutput values. +// You can construct a concrete instance of `UserProfileDefaultEbsStorageSettingsInput` via: // -// SpaceResourceSpecArgs{...} -type SpaceResourceSpecInput interface { +// UserProfileDefaultEbsStorageSettingsArgs{...} +type UserProfileDefaultEbsStorageSettingsInput interface { pulumi.Input - ToSpaceResourceSpecOutput() SpaceResourceSpecOutput - ToSpaceResourceSpecOutputWithContext(context.Context) SpaceResourceSpecOutput + ToUserProfileDefaultEbsStorageSettingsOutput() UserProfileDefaultEbsStorageSettingsOutput + ToUserProfileDefaultEbsStorageSettingsOutputWithContext(context.Context) UserProfileDefaultEbsStorageSettingsOutput } -type SpaceResourceSpecArgs struct { - // The instance type that the image version runs on. - InstanceType SpaceResourceSpecInstanceTypePtrInput `pulumi:"instanceType"` - // The ARN of the SageMaker image that the image version belongs to. - SageMakerImageArn pulumi.StringPtrInput `pulumi:"sageMakerImageArn"` - // The ARN of the image version created on the instance. - SageMakerImageVersionArn pulumi.StringPtrInput `pulumi:"sageMakerImageVersionArn"` +// Properties related to the Amazon Elastic Block Store volume. +type UserProfileDefaultEbsStorageSettingsArgs struct { + // Default size of the Amazon EBS volume in Gb + DefaultEbsVolumeSizeInGb pulumi.IntInput `pulumi:"defaultEbsVolumeSizeInGb"` + // Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + MaximumEbsVolumeSizeInGb pulumi.IntInput `pulumi:"maximumEbsVolumeSizeInGb"` } -func (SpaceResourceSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceResourceSpec)(nil)).Elem() +func (UserProfileDefaultEbsStorageSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileDefaultEbsStorageSettings)(nil)).Elem() } -func (i SpaceResourceSpecArgs) ToSpaceResourceSpecOutput() SpaceResourceSpecOutput { - return i.ToSpaceResourceSpecOutputWithContext(context.Background()) +func (i UserProfileDefaultEbsStorageSettingsArgs) ToUserProfileDefaultEbsStorageSettingsOutput() UserProfileDefaultEbsStorageSettingsOutput { + return i.ToUserProfileDefaultEbsStorageSettingsOutputWithContext(context.Background()) } -func (i SpaceResourceSpecArgs) ToSpaceResourceSpecOutputWithContext(ctx context.Context) SpaceResourceSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecOutput) +func (i UserProfileDefaultEbsStorageSettingsArgs) ToUserProfileDefaultEbsStorageSettingsOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultEbsStorageSettingsOutput) } -func (i SpaceResourceSpecArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceResourceSpec] { - return pulumix.Output[SpaceResourceSpec]{ - OutputState: i.ToSpaceResourceSpecOutputWithContext(ctx).OutputState, +func (i UserProfileDefaultEbsStorageSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileDefaultEbsStorageSettings] { + return pulumix.Output[UserProfileDefaultEbsStorageSettings]{ + OutputState: i.ToUserProfileDefaultEbsStorageSettingsOutputWithContext(ctx).OutputState, } } -func (i SpaceResourceSpecArgs) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { - return i.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +func (i UserProfileDefaultEbsStorageSettingsArgs) ToUserProfileDefaultEbsStorageSettingsPtrOutput() UserProfileDefaultEbsStorageSettingsPtrOutput { + return i.ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) } -func (i SpaceResourceSpecArgs) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecOutput).ToSpaceResourceSpecPtrOutputWithContext(ctx) +func (i UserProfileDefaultEbsStorageSettingsArgs) ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultEbsStorageSettingsOutput).ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx) } -// SpaceResourceSpecPtrInput is an input type that accepts SpaceResourceSpecArgs, SpaceResourceSpecPtr and SpaceResourceSpecPtrOutput values. -// You can construct a concrete instance of `SpaceResourceSpecPtrInput` via: +// UserProfileDefaultEbsStorageSettingsPtrInput is an input type that accepts UserProfileDefaultEbsStorageSettingsArgs, UserProfileDefaultEbsStorageSettingsPtr and UserProfileDefaultEbsStorageSettingsPtrOutput values. +// You can construct a concrete instance of `UserProfileDefaultEbsStorageSettingsPtrInput` via: // -// SpaceResourceSpecArgs{...} +// UserProfileDefaultEbsStorageSettingsArgs{...} // // or: // // nil -type SpaceResourceSpecPtrInput interface { +type UserProfileDefaultEbsStorageSettingsPtrInput interface { pulumi.Input - ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput - ToSpaceResourceSpecPtrOutputWithContext(context.Context) SpaceResourceSpecPtrOutput + ToUserProfileDefaultEbsStorageSettingsPtrOutput() UserProfileDefaultEbsStorageSettingsPtrOutput + ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(context.Context) UserProfileDefaultEbsStorageSettingsPtrOutput } -type spaceResourceSpecPtrType SpaceResourceSpecArgs +type userProfileDefaultEbsStorageSettingsPtrType UserProfileDefaultEbsStorageSettingsArgs -func SpaceResourceSpecPtr(v *SpaceResourceSpecArgs) SpaceResourceSpecPtrInput { - return (*spaceResourceSpecPtrType)(v) +func UserProfileDefaultEbsStorageSettingsPtr(v *UserProfileDefaultEbsStorageSettingsArgs) UserProfileDefaultEbsStorageSettingsPtrInput { + return (*userProfileDefaultEbsStorageSettingsPtrType)(v) } -func (*spaceResourceSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpaceResourceSpec)(nil)).Elem() +func (*userProfileDefaultEbsStorageSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileDefaultEbsStorageSettings)(nil)).Elem() } -func (i *spaceResourceSpecPtrType) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { - return i.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +func (i *userProfileDefaultEbsStorageSettingsPtrType) ToUserProfileDefaultEbsStorageSettingsPtrOutput() UserProfileDefaultEbsStorageSettingsPtrOutput { + return i.ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) } -func (i *spaceResourceSpecPtrType) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceResourceSpecPtrOutput) +func (i *userProfileDefaultEbsStorageSettingsPtrType) ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultEbsStorageSettingsPtrOutput) } -func (i *spaceResourceSpecPtrType) ToOutput(ctx context.Context) pulumix.Output[*SpaceResourceSpec] { - return pulumix.Output[*SpaceResourceSpec]{ - OutputState: i.ToSpaceResourceSpecPtrOutputWithContext(ctx).OutputState, +func (i *userProfileDefaultEbsStorageSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileDefaultEbsStorageSettings] { + return pulumix.Output[*UserProfileDefaultEbsStorageSettings]{ + OutputState: i.ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx).OutputState, } } -type SpaceResourceSpecOutput struct{ *pulumi.OutputState } +// Properties related to the Amazon Elastic Block Store volume. +type UserProfileDefaultEbsStorageSettingsOutput struct{ *pulumi.OutputState } -func (SpaceResourceSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceResourceSpec)(nil)).Elem() +func (UserProfileDefaultEbsStorageSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileDefaultEbsStorageSettings)(nil)).Elem() } -func (o SpaceResourceSpecOutput) ToSpaceResourceSpecOutput() SpaceResourceSpecOutput { +func (o UserProfileDefaultEbsStorageSettingsOutput) ToUserProfileDefaultEbsStorageSettingsOutput() UserProfileDefaultEbsStorageSettingsOutput { return o } -func (o SpaceResourceSpecOutput) ToSpaceResourceSpecOutputWithContext(ctx context.Context) SpaceResourceSpecOutput { +func (o UserProfileDefaultEbsStorageSettingsOutput) ToUserProfileDefaultEbsStorageSettingsOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsOutput { return o } -func (o SpaceResourceSpecOutput) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { - return o.ToSpaceResourceSpecPtrOutputWithContext(context.Background()) +func (o UserProfileDefaultEbsStorageSettingsOutput) ToUserProfileDefaultEbsStorageSettingsPtrOutput() UserProfileDefaultEbsStorageSettingsPtrOutput { + return o.ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(context.Background()) } -func (o SpaceResourceSpecOutput) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceResourceSpec) *SpaceResourceSpec { +func (o UserProfileDefaultEbsStorageSettingsOutput) ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileDefaultEbsStorageSettings) *UserProfileDefaultEbsStorageSettings { return &v - }).(SpaceResourceSpecPtrOutput) + }).(UserProfileDefaultEbsStorageSettingsPtrOutput) } -func (o SpaceResourceSpecOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceResourceSpec] { - return pulumix.Output[SpaceResourceSpec]{ +func (o UserProfileDefaultEbsStorageSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileDefaultEbsStorageSettings] { + return pulumix.Output[UserProfileDefaultEbsStorageSettings]{ OutputState: o.OutputState, } } -// The instance type that the image version runs on. -func (o SpaceResourceSpecOutput) InstanceType() SpaceResourceSpecInstanceTypePtrOutput { - return o.ApplyT(func(v SpaceResourceSpec) *SpaceResourceSpecInstanceType { return v.InstanceType }).(SpaceResourceSpecInstanceTypePtrOutput) -} - -// The ARN of the SageMaker image that the image version belongs to. -func (o SpaceResourceSpecOutput) SageMakerImageArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpaceResourceSpec) *string { return v.SageMakerImageArn }).(pulumi.StringPtrOutput) +// Default size of the Amazon EBS volume in Gb +func (o UserProfileDefaultEbsStorageSettingsOutput) DefaultEbsVolumeSizeInGb() pulumi.IntOutput { + return o.ApplyT(func(v UserProfileDefaultEbsStorageSettings) int { return v.DefaultEbsVolumeSizeInGb }).(pulumi.IntOutput) } -// The ARN of the image version created on the instance. -func (o SpaceResourceSpecOutput) SageMakerImageVersionArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v SpaceResourceSpec) *string { return v.SageMakerImageVersionArn }).(pulumi.StringPtrOutput) +// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. +func (o UserProfileDefaultEbsStorageSettingsOutput) MaximumEbsVolumeSizeInGb() pulumi.IntOutput { + return o.ApplyT(func(v UserProfileDefaultEbsStorageSettings) int { return v.MaximumEbsVolumeSizeInGb }).(pulumi.IntOutput) } -type SpaceResourceSpecPtrOutput struct{ *pulumi.OutputState } +type UserProfileDefaultEbsStorageSettingsPtrOutput struct{ *pulumi.OutputState } -func (SpaceResourceSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpaceResourceSpec)(nil)).Elem() +func (UserProfileDefaultEbsStorageSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileDefaultEbsStorageSettings)(nil)).Elem() } -func (o SpaceResourceSpecPtrOutput) ToSpaceResourceSpecPtrOutput() SpaceResourceSpecPtrOutput { +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) ToUserProfileDefaultEbsStorageSettingsPtrOutput() UserProfileDefaultEbsStorageSettingsPtrOutput { return o } -func (o SpaceResourceSpecPtrOutput) ToSpaceResourceSpecPtrOutputWithContext(ctx context.Context) SpaceResourceSpecPtrOutput { +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) ToUserProfileDefaultEbsStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultEbsStorageSettingsPtrOutput { return o } -func (o SpaceResourceSpecPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceResourceSpec] { - return pulumix.Output[*SpaceResourceSpec]{ +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileDefaultEbsStorageSettings] { + return pulumix.Output[*UserProfileDefaultEbsStorageSettings]{ OutputState: o.OutputState, } } -func (o SpaceResourceSpecPtrOutput) Elem() SpaceResourceSpecOutput { - return o.ApplyT(func(v *SpaceResourceSpec) SpaceResourceSpec { +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) Elem() UserProfileDefaultEbsStorageSettingsOutput { + return o.ApplyT(func(v *UserProfileDefaultEbsStorageSettings) UserProfileDefaultEbsStorageSettings { if v != nil { return *v } - var ret SpaceResourceSpec + var ret UserProfileDefaultEbsStorageSettings return ret - }).(SpaceResourceSpecOutput) + }).(UserProfileDefaultEbsStorageSettingsOutput) } -// The instance type that the image version runs on. -func (o SpaceResourceSpecPtrOutput) InstanceType() SpaceResourceSpecInstanceTypePtrOutput { - return o.ApplyT(func(v *SpaceResourceSpec) *SpaceResourceSpecInstanceType { - if v == nil { - return nil - } - return v.InstanceType - }).(SpaceResourceSpecInstanceTypePtrOutput) -} - -// The ARN of the SageMaker image that the image version belongs to. -func (o SpaceResourceSpecPtrOutput) SageMakerImageArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpaceResourceSpec) *string { +// Default size of the Amazon EBS volume in Gb +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) DefaultEbsVolumeSizeInGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileDefaultEbsStorageSettings) *int { if v == nil { return nil } - return v.SageMakerImageArn - }).(pulumi.StringPtrOutput) + return &v.DefaultEbsVolumeSizeInGb + }).(pulumi.IntPtrOutput) } -// The ARN of the image version created on the instance. -func (o SpaceResourceSpecPtrOutput) SageMakerImageVersionArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SpaceResourceSpec) *string { +// Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. +func (o UserProfileDefaultEbsStorageSettingsPtrOutput) MaximumEbsVolumeSizeInGb() pulumi.IntPtrOutput { + return o.ApplyT(func(v *UserProfileDefaultEbsStorageSettings) *int { if v == nil { return nil } - return v.SageMakerImageVersionArn - }).(pulumi.StringPtrOutput) + return &v.MaximumEbsVolumeSizeInGb + }).(pulumi.IntPtrOutput) } -// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. -type SpaceSettings struct { - // The Jupyter server's app settings. - JupyterServerAppSettings *SpaceJupyterServerAppSettings `pulumi:"jupyterServerAppSettings"` - // The kernel gateway app settings. - KernelGatewayAppSettings *SpaceKernelGatewayAppSettings `pulumi:"kernelGatewayAppSettings"` +// Default storage settings for a space. +type UserProfileDefaultSpaceStorageSettings struct { + DefaultEbsStorageSettings *UserProfileDefaultEbsStorageSettings `pulumi:"defaultEbsStorageSettings"` } -// SpaceSettingsInput is an input type that accepts SpaceSettingsArgs and SpaceSettingsOutput values. -// You can construct a concrete instance of `SpaceSettingsInput` via: +// UserProfileDefaultSpaceStorageSettingsInput is an input type that accepts UserProfileDefaultSpaceStorageSettingsArgs and UserProfileDefaultSpaceStorageSettingsOutput values. +// You can construct a concrete instance of `UserProfileDefaultSpaceStorageSettingsInput` via: // -// SpaceSettingsArgs{...} -type SpaceSettingsInput interface { +// UserProfileDefaultSpaceStorageSettingsArgs{...} +type UserProfileDefaultSpaceStorageSettingsInput interface { pulumi.Input - ToSpaceSettingsOutput() SpaceSettingsOutput - ToSpaceSettingsOutputWithContext(context.Context) SpaceSettingsOutput + ToUserProfileDefaultSpaceStorageSettingsOutput() UserProfileDefaultSpaceStorageSettingsOutput + ToUserProfileDefaultSpaceStorageSettingsOutputWithContext(context.Context) UserProfileDefaultSpaceStorageSettingsOutput } -// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. -type SpaceSettingsArgs struct { - // The Jupyter server's app settings. - JupyterServerAppSettings SpaceJupyterServerAppSettingsPtrInput `pulumi:"jupyterServerAppSettings"` - // The kernel gateway app settings. - KernelGatewayAppSettings SpaceKernelGatewayAppSettingsPtrInput `pulumi:"kernelGatewayAppSettings"` +// Default storage settings for a space. +type UserProfileDefaultSpaceStorageSettingsArgs struct { + DefaultEbsStorageSettings UserProfileDefaultEbsStorageSettingsPtrInput `pulumi:"defaultEbsStorageSettings"` } -func (SpaceSettingsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceSettings)(nil)).Elem() +func (UserProfileDefaultSpaceStorageSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileDefaultSpaceStorageSettings)(nil)).Elem() } -func (i SpaceSettingsArgs) ToSpaceSettingsOutput() SpaceSettingsOutput { - return i.ToSpaceSettingsOutputWithContext(context.Background()) +func (i UserProfileDefaultSpaceStorageSettingsArgs) ToUserProfileDefaultSpaceStorageSettingsOutput() UserProfileDefaultSpaceStorageSettingsOutput { + return i.ToUserProfileDefaultSpaceStorageSettingsOutputWithContext(context.Background()) } -func (i SpaceSettingsArgs) ToSpaceSettingsOutputWithContext(ctx context.Context) SpaceSettingsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsOutput) +func (i UserProfileDefaultSpaceStorageSettingsArgs) ToUserProfileDefaultSpaceStorageSettingsOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultSpaceStorageSettingsOutput) } -func (i SpaceSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceSettings] { - return pulumix.Output[SpaceSettings]{ - OutputState: i.ToSpaceSettingsOutputWithContext(ctx).OutputState, +func (i UserProfileDefaultSpaceStorageSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileDefaultSpaceStorageSettings] { + return pulumix.Output[UserProfileDefaultSpaceStorageSettings]{ + OutputState: i.ToUserProfileDefaultSpaceStorageSettingsOutputWithContext(ctx).OutputState, } } -func (i SpaceSettingsArgs) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { - return i.ToSpaceSettingsPtrOutputWithContext(context.Background()) +func (i UserProfileDefaultSpaceStorageSettingsArgs) ToUserProfileDefaultSpaceStorageSettingsPtrOutput() UserProfileDefaultSpaceStorageSettingsPtrOutput { + return i.ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (i SpaceSettingsArgs) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsOutput).ToSpaceSettingsPtrOutputWithContext(ctx) +func (i UserProfileDefaultSpaceStorageSettingsArgs) ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultSpaceStorageSettingsOutput).ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx) } -// SpaceSettingsPtrInput is an input type that accepts SpaceSettingsArgs, SpaceSettingsPtr and SpaceSettingsPtrOutput values. -// You can construct a concrete instance of `SpaceSettingsPtrInput` via: +// UserProfileDefaultSpaceStorageSettingsPtrInput is an input type that accepts UserProfileDefaultSpaceStorageSettingsArgs, UserProfileDefaultSpaceStorageSettingsPtr and UserProfileDefaultSpaceStorageSettingsPtrOutput values. +// You can construct a concrete instance of `UserProfileDefaultSpaceStorageSettingsPtrInput` via: // -// SpaceSettingsArgs{...} +// UserProfileDefaultSpaceStorageSettingsArgs{...} // // or: // // nil -type SpaceSettingsPtrInput interface { +type UserProfileDefaultSpaceStorageSettingsPtrInput interface { pulumi.Input - ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput - ToSpaceSettingsPtrOutputWithContext(context.Context) SpaceSettingsPtrOutput + ToUserProfileDefaultSpaceStorageSettingsPtrOutput() UserProfileDefaultSpaceStorageSettingsPtrOutput + ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(context.Context) UserProfileDefaultSpaceStorageSettingsPtrOutput } -type spaceSettingsPtrType SpaceSettingsArgs +type userProfileDefaultSpaceStorageSettingsPtrType UserProfileDefaultSpaceStorageSettingsArgs -func SpaceSettingsPtr(v *SpaceSettingsArgs) SpaceSettingsPtrInput { - return (*spaceSettingsPtrType)(v) +func UserProfileDefaultSpaceStorageSettingsPtr(v *UserProfileDefaultSpaceStorageSettingsArgs) UserProfileDefaultSpaceStorageSettingsPtrInput { + return (*userProfileDefaultSpaceStorageSettingsPtrType)(v) } -func (*spaceSettingsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SpaceSettings)(nil)).Elem() +func (*userProfileDefaultSpaceStorageSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileDefaultSpaceStorageSettings)(nil)).Elem() } -func (i *spaceSettingsPtrType) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { - return i.ToSpaceSettingsPtrOutputWithContext(context.Background()) +func (i *userProfileDefaultSpaceStorageSettingsPtrType) ToUserProfileDefaultSpaceStorageSettingsPtrOutput() UserProfileDefaultSpaceStorageSettingsPtrOutput { + return i.ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (i *spaceSettingsPtrType) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceSettingsPtrOutput) +func (i *userProfileDefaultSpaceStorageSettingsPtrType) ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileDefaultSpaceStorageSettingsPtrOutput) } -func (i *spaceSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*SpaceSettings] { - return pulumix.Output[*SpaceSettings]{ - OutputState: i.ToSpaceSettingsPtrOutputWithContext(ctx).OutputState, +func (i *userProfileDefaultSpaceStorageSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileDefaultSpaceStorageSettings] { + return pulumix.Output[*UserProfileDefaultSpaceStorageSettings]{ + OutputState: i.ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx).OutputState, } } -// A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the CreateSpace API is called. -type SpaceSettingsOutput struct{ *pulumi.OutputState } +// Default storage settings for a space. +type UserProfileDefaultSpaceStorageSettingsOutput struct{ *pulumi.OutputState } -func (SpaceSettingsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceSettings)(nil)).Elem() +func (UserProfileDefaultSpaceStorageSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileDefaultSpaceStorageSettings)(nil)).Elem() } -func (o SpaceSettingsOutput) ToSpaceSettingsOutput() SpaceSettingsOutput { +func (o UserProfileDefaultSpaceStorageSettingsOutput) ToUserProfileDefaultSpaceStorageSettingsOutput() UserProfileDefaultSpaceStorageSettingsOutput { return o } -func (o SpaceSettingsOutput) ToSpaceSettingsOutputWithContext(ctx context.Context) SpaceSettingsOutput { +func (o UserProfileDefaultSpaceStorageSettingsOutput) ToUserProfileDefaultSpaceStorageSettingsOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsOutput { return o } -func (o SpaceSettingsOutput) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { - return o.ToSpaceSettingsPtrOutputWithContext(context.Background()) +func (o UserProfileDefaultSpaceStorageSettingsOutput) ToUserProfileDefaultSpaceStorageSettingsPtrOutput() UserProfileDefaultSpaceStorageSettingsPtrOutput { + return o.ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(context.Background()) } -func (o SpaceSettingsOutput) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SpaceSettings) *SpaceSettings { +func (o UserProfileDefaultSpaceStorageSettingsOutput) ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileDefaultSpaceStorageSettings) *UserProfileDefaultSpaceStorageSettings { return &v - }).(SpaceSettingsPtrOutput) + }).(UserProfileDefaultSpaceStorageSettingsPtrOutput) } -func (o SpaceSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceSettings] { - return pulumix.Output[SpaceSettings]{ +func (o UserProfileDefaultSpaceStorageSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileDefaultSpaceStorageSettings] { + return pulumix.Output[UserProfileDefaultSpaceStorageSettings]{ OutputState: o.OutputState, } } -// The Jupyter server's app settings. -func (o SpaceSettingsOutput) JupyterServerAppSettings() SpaceJupyterServerAppSettingsPtrOutput { - return o.ApplyT(func(v SpaceSettings) *SpaceJupyterServerAppSettings { return v.JupyterServerAppSettings }).(SpaceJupyterServerAppSettingsPtrOutput) -} - -// The kernel gateway app settings. -func (o SpaceSettingsOutput) KernelGatewayAppSettings() SpaceKernelGatewayAppSettingsPtrOutput { - return o.ApplyT(func(v SpaceSettings) *SpaceKernelGatewayAppSettings { return v.KernelGatewayAppSettings }).(SpaceKernelGatewayAppSettingsPtrOutput) +func (o UserProfileDefaultSpaceStorageSettingsOutput) DefaultEbsStorageSettings() UserProfileDefaultEbsStorageSettingsPtrOutput { + return o.ApplyT(func(v UserProfileDefaultSpaceStorageSettings) *UserProfileDefaultEbsStorageSettings { + return v.DefaultEbsStorageSettings + }).(UserProfileDefaultEbsStorageSettingsPtrOutput) } -type SpaceSettingsPtrOutput struct{ *pulumi.OutputState } +type UserProfileDefaultSpaceStorageSettingsPtrOutput struct{ *pulumi.OutputState } -func (SpaceSettingsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SpaceSettings)(nil)).Elem() +func (UserProfileDefaultSpaceStorageSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileDefaultSpaceStorageSettings)(nil)).Elem() } -func (o SpaceSettingsPtrOutput) ToSpaceSettingsPtrOutput() SpaceSettingsPtrOutput { +func (o UserProfileDefaultSpaceStorageSettingsPtrOutput) ToUserProfileDefaultSpaceStorageSettingsPtrOutput() UserProfileDefaultSpaceStorageSettingsPtrOutput { return o } -func (o SpaceSettingsPtrOutput) ToSpaceSettingsPtrOutputWithContext(ctx context.Context) SpaceSettingsPtrOutput { +func (o UserProfileDefaultSpaceStorageSettingsPtrOutput) ToUserProfileDefaultSpaceStorageSettingsPtrOutputWithContext(ctx context.Context) UserProfileDefaultSpaceStorageSettingsPtrOutput { return o } -func (o SpaceSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*SpaceSettings] { - return pulumix.Output[*SpaceSettings]{ +func (o UserProfileDefaultSpaceStorageSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileDefaultSpaceStorageSettings] { + return pulumix.Output[*UserProfileDefaultSpaceStorageSettings]{ OutputState: o.OutputState, } } -func (o SpaceSettingsPtrOutput) Elem() SpaceSettingsOutput { - return o.ApplyT(func(v *SpaceSettings) SpaceSettings { +func (o UserProfileDefaultSpaceStorageSettingsPtrOutput) Elem() UserProfileDefaultSpaceStorageSettingsOutput { + return o.ApplyT(func(v *UserProfileDefaultSpaceStorageSettings) UserProfileDefaultSpaceStorageSettings { if v != nil { return *v } - var ret SpaceSettings + var ret UserProfileDefaultSpaceStorageSettings return ret - }).(SpaceSettingsOutput) -} - -// The Jupyter server's app settings. -func (o SpaceSettingsPtrOutput) JupyterServerAppSettings() SpaceJupyterServerAppSettingsPtrOutput { - return o.ApplyT(func(v *SpaceSettings) *SpaceJupyterServerAppSettings { - if v == nil { - return nil - } - return v.JupyterServerAppSettings - }).(SpaceJupyterServerAppSettingsPtrOutput) + }).(UserProfileDefaultSpaceStorageSettingsOutput) } -// The kernel gateway app settings. -func (o SpaceSettingsPtrOutput) KernelGatewayAppSettings() SpaceKernelGatewayAppSettingsPtrOutput { - return o.ApplyT(func(v *SpaceSettings) *SpaceKernelGatewayAppSettings { +func (o UserProfileDefaultSpaceStorageSettingsPtrOutput) DefaultEbsStorageSettings() UserProfileDefaultEbsStorageSettingsPtrOutput { + return o.ApplyT(func(v *UserProfileDefaultSpaceStorageSettings) *UserProfileDefaultEbsStorageSettings { if v == nil { return nil } - return v.KernelGatewayAppSettings - }).(SpaceKernelGatewayAppSettingsPtrOutput) + return v.DefaultEbsStorageSettings + }).(UserProfileDefaultEbsStorageSettingsPtrOutput) } -type SpaceTag struct { - Key string `pulumi:"key"` - Value string `pulumi:"value"` +type UserProfileEfsFileSystemConfig struct { + FileSystemId string `pulumi:"fileSystemId"` + FileSystemPath *string `pulumi:"fileSystemPath"` } -// SpaceTagInput is an input type that accepts SpaceTagArgs and SpaceTagOutput values. -// You can construct a concrete instance of `SpaceTagInput` via: +// UserProfileEfsFileSystemConfigInput is an input type that accepts UserProfileEfsFileSystemConfigArgs and UserProfileEfsFileSystemConfigOutput values. +// You can construct a concrete instance of `UserProfileEfsFileSystemConfigInput` via: // -// SpaceTagArgs{...} -type SpaceTagInput interface { +// UserProfileEfsFileSystemConfigArgs{...} +type UserProfileEfsFileSystemConfigInput interface { pulumi.Input - ToSpaceTagOutput() SpaceTagOutput - ToSpaceTagOutputWithContext(context.Context) SpaceTagOutput + ToUserProfileEfsFileSystemConfigOutput() UserProfileEfsFileSystemConfigOutput + ToUserProfileEfsFileSystemConfigOutputWithContext(context.Context) UserProfileEfsFileSystemConfigOutput } -type SpaceTagArgs struct { - Key pulumi.StringInput `pulumi:"key"` - Value pulumi.StringInput `pulumi:"value"` +type UserProfileEfsFileSystemConfigArgs struct { + FileSystemId pulumi.StringInput `pulumi:"fileSystemId"` + FileSystemPath pulumi.StringPtrInput `pulumi:"fileSystemPath"` } -func (SpaceTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceTag)(nil)).Elem() +func (UserProfileEfsFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileEfsFileSystemConfig)(nil)).Elem() } -func (i SpaceTagArgs) ToSpaceTagOutput() SpaceTagOutput { - return i.ToSpaceTagOutputWithContext(context.Background()) +func (i UserProfileEfsFileSystemConfigArgs) ToUserProfileEfsFileSystemConfigOutput() UserProfileEfsFileSystemConfigOutput { + return i.ToUserProfileEfsFileSystemConfigOutputWithContext(context.Background()) } -func (i SpaceTagArgs) ToSpaceTagOutputWithContext(ctx context.Context) SpaceTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceTagOutput) +func (i UserProfileEfsFileSystemConfigArgs) ToUserProfileEfsFileSystemConfigOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileEfsFileSystemConfigOutput) } -func (i SpaceTagArgs) ToOutput(ctx context.Context) pulumix.Output[SpaceTag] { - return pulumix.Output[SpaceTag]{ - OutputState: i.ToSpaceTagOutputWithContext(ctx).OutputState, +func (i UserProfileEfsFileSystemConfigArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileEfsFileSystemConfig] { + return pulumix.Output[UserProfileEfsFileSystemConfig]{ + OutputState: i.ToUserProfileEfsFileSystemConfigOutputWithContext(ctx).OutputState, } } -// SpaceTagArrayInput is an input type that accepts SpaceTagArray and SpaceTagArrayOutput values. -// You can construct a concrete instance of `SpaceTagArrayInput` via: +func (i UserProfileEfsFileSystemConfigArgs) ToUserProfileEfsFileSystemConfigPtrOutput() UserProfileEfsFileSystemConfigPtrOutput { + return i.ToUserProfileEfsFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i UserProfileEfsFileSystemConfigArgs) ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileEfsFileSystemConfigOutput).ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx) +} + +// UserProfileEfsFileSystemConfigPtrInput is an input type that accepts UserProfileEfsFileSystemConfigArgs, UserProfileEfsFileSystemConfigPtr and UserProfileEfsFileSystemConfigPtrOutput values. +// You can construct a concrete instance of `UserProfileEfsFileSystemConfigPtrInput` via: // -// SpaceTagArray{ SpaceTagArgs{...} } -type SpaceTagArrayInput interface { +// UserProfileEfsFileSystemConfigArgs{...} +// +// or: +// +// nil +type UserProfileEfsFileSystemConfigPtrInput interface { pulumi.Input - ToSpaceTagArrayOutput() SpaceTagArrayOutput - ToSpaceTagArrayOutputWithContext(context.Context) SpaceTagArrayOutput + ToUserProfileEfsFileSystemConfigPtrOutput() UserProfileEfsFileSystemConfigPtrOutput + ToUserProfileEfsFileSystemConfigPtrOutputWithContext(context.Context) UserProfileEfsFileSystemConfigPtrOutput } -type SpaceTagArray []SpaceTagInput +type userProfileEfsFileSystemConfigPtrType UserProfileEfsFileSystemConfigArgs -func (SpaceTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpaceTag)(nil)).Elem() +func UserProfileEfsFileSystemConfigPtr(v *UserProfileEfsFileSystemConfigArgs) UserProfileEfsFileSystemConfigPtrInput { + return (*userProfileEfsFileSystemConfigPtrType)(v) } -func (i SpaceTagArray) ToSpaceTagArrayOutput() SpaceTagArrayOutput { - return i.ToSpaceTagArrayOutputWithContext(context.Background()) +func (*userProfileEfsFileSystemConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileEfsFileSystemConfig)(nil)).Elem() } -func (i SpaceTagArray) ToSpaceTagArrayOutputWithContext(ctx context.Context) SpaceTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SpaceTagArrayOutput) +func (i *userProfileEfsFileSystemConfigPtrType) ToUserProfileEfsFileSystemConfigPtrOutput() UserProfileEfsFileSystemConfigPtrOutput { + return i.ToUserProfileEfsFileSystemConfigPtrOutputWithContext(context.Background()) } -func (i SpaceTagArray) ToOutput(ctx context.Context) pulumix.Output[[]SpaceTag] { - return pulumix.Output[[]SpaceTag]{ - OutputState: i.ToSpaceTagArrayOutputWithContext(ctx).OutputState, +func (i *userProfileEfsFileSystemConfigPtrType) ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileEfsFileSystemConfigPtrOutput) +} + +func (i *userProfileEfsFileSystemConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileEfsFileSystemConfig] { + return pulumix.Output[*UserProfileEfsFileSystemConfig]{ + OutputState: i.ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx).OutputState, } } -type SpaceTagOutput struct{ *pulumi.OutputState } +type UserProfileEfsFileSystemConfigOutput struct{ *pulumi.OutputState } -func (SpaceTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SpaceTag)(nil)).Elem() +func (UserProfileEfsFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileEfsFileSystemConfig)(nil)).Elem() } -func (o SpaceTagOutput) ToSpaceTagOutput() SpaceTagOutput { +func (o UserProfileEfsFileSystemConfigOutput) ToUserProfileEfsFileSystemConfigOutput() UserProfileEfsFileSystemConfigOutput { return o } -func (o SpaceTagOutput) ToSpaceTagOutputWithContext(ctx context.Context) SpaceTagOutput { +func (o UserProfileEfsFileSystemConfigOutput) ToUserProfileEfsFileSystemConfigOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigOutput { return o } -func (o SpaceTagOutput) ToOutput(ctx context.Context) pulumix.Output[SpaceTag] { - return pulumix.Output[SpaceTag]{ +func (o UserProfileEfsFileSystemConfigOutput) ToUserProfileEfsFileSystemConfigPtrOutput() UserProfileEfsFileSystemConfigPtrOutput { + return o.ToUserProfileEfsFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (o UserProfileEfsFileSystemConfigOutput) ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileEfsFileSystemConfig) *UserProfileEfsFileSystemConfig { + return &v + }).(UserProfileEfsFileSystemConfigPtrOutput) +} + +func (o UserProfileEfsFileSystemConfigOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileEfsFileSystemConfig] { + return pulumix.Output[UserProfileEfsFileSystemConfig]{ OutputState: o.OutputState, } } -func (o SpaceTagOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v SpaceTag) string { return v.Key }).(pulumi.StringOutput) +func (o UserProfileEfsFileSystemConfigOutput) FileSystemId() pulumi.StringOutput { + return o.ApplyT(func(v UserProfileEfsFileSystemConfig) string { return v.FileSystemId }).(pulumi.StringOutput) } -func (o SpaceTagOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v SpaceTag) string { return v.Value }).(pulumi.StringOutput) +func (o UserProfileEfsFileSystemConfigOutput) FileSystemPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserProfileEfsFileSystemConfig) *string { return v.FileSystemPath }).(pulumi.StringPtrOutput) } -type SpaceTagArrayOutput struct{ *pulumi.OutputState } +type UserProfileEfsFileSystemConfigPtrOutput struct{ *pulumi.OutputState } -func (SpaceTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SpaceTag)(nil)).Elem() +func (UserProfileEfsFileSystemConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileEfsFileSystemConfig)(nil)).Elem() } -func (o SpaceTagArrayOutput) ToSpaceTagArrayOutput() SpaceTagArrayOutput { +func (o UserProfileEfsFileSystemConfigPtrOutput) ToUserProfileEfsFileSystemConfigPtrOutput() UserProfileEfsFileSystemConfigPtrOutput { return o } -func (o SpaceTagArrayOutput) ToSpaceTagArrayOutputWithContext(ctx context.Context) SpaceTagArrayOutput { +func (o UserProfileEfsFileSystemConfigPtrOutput) ToUserProfileEfsFileSystemConfigPtrOutputWithContext(ctx context.Context) UserProfileEfsFileSystemConfigPtrOutput { return o } -func (o SpaceTagArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]SpaceTag] { - return pulumix.Output[[]SpaceTag]{ +func (o UserProfileEfsFileSystemConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileEfsFileSystemConfig] { + return pulumix.Output[*UserProfileEfsFileSystemConfig]{ OutputState: o.OutputState, } } -func (o SpaceTagArrayOutput) Index(i pulumi.IntInput) SpaceTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpaceTag { - return vs[0].([]SpaceTag)[vs[1].(int)] - }).(SpaceTagOutput) +func (o UserProfileEfsFileSystemConfigPtrOutput) Elem() UserProfileEfsFileSystemConfigOutput { + return o.ApplyT(func(v *UserProfileEfsFileSystemConfig) UserProfileEfsFileSystemConfig { + if v != nil { + return *v + } + var ret UserProfileEfsFileSystemConfig + return ret + }).(UserProfileEfsFileSystemConfigOutput) } -// A custom SageMaker image. -type UserProfileCustomImage struct { - // The Name of the AppImageConfig. - AppImageConfigName string `pulumi:"appImageConfigName"` - // The name of the CustomImage. Must be unique to your account. - ImageName string `pulumi:"imageName"` - // The version number of the CustomImage. - ImageVersionNumber *int `pulumi:"imageVersionNumber"` +func (o UserProfileEfsFileSystemConfigPtrOutput) FileSystemId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserProfileEfsFileSystemConfig) *string { + if v == nil { + return nil + } + return &v.FileSystemId + }).(pulumi.StringPtrOutput) } -// UserProfileCustomImageInput is an input type that accepts UserProfileCustomImageArgs and UserProfileCustomImageOutput values. -// You can construct a concrete instance of `UserProfileCustomImageInput` via: +func (o UserProfileEfsFileSystemConfigPtrOutput) FileSystemPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserProfileEfsFileSystemConfig) *string { + if v == nil { + return nil + } + return v.FileSystemPath + }).(pulumi.StringPtrOutput) +} + +// The JupyterLab app settings. +type UserProfileJupyterLabAppSettings struct { + // A list of CodeRepositories available for use with JupyterLab apps. + CodeRepositories []UserProfileCodeRepository `pulumi:"codeRepositories"` + // A list of custom images available for use for JupyterLab apps + CustomImages []UserProfileCustomImage `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + DefaultResourceSpec *UserProfileResourceSpec `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with JupyterLab apps. + LifecycleConfigArns []string `pulumi:"lifecycleConfigArns"` +} + +// UserProfileJupyterLabAppSettingsInput is an input type that accepts UserProfileJupyterLabAppSettingsArgs and UserProfileJupyterLabAppSettingsOutput values. +// You can construct a concrete instance of `UserProfileJupyterLabAppSettingsInput` via: // -// UserProfileCustomImageArgs{...} -type UserProfileCustomImageInput interface { +// UserProfileJupyterLabAppSettingsArgs{...} +type UserProfileJupyterLabAppSettingsInput interface { pulumi.Input - ToUserProfileCustomImageOutput() UserProfileCustomImageOutput - ToUserProfileCustomImageOutputWithContext(context.Context) UserProfileCustomImageOutput + ToUserProfileJupyterLabAppSettingsOutput() UserProfileJupyterLabAppSettingsOutput + ToUserProfileJupyterLabAppSettingsOutputWithContext(context.Context) UserProfileJupyterLabAppSettingsOutput } -// A custom SageMaker image. -type UserProfileCustomImageArgs struct { - // The Name of the AppImageConfig. - AppImageConfigName pulumi.StringInput `pulumi:"appImageConfigName"` - // The name of the CustomImage. Must be unique to your account. - ImageName pulumi.StringInput `pulumi:"imageName"` - // The version number of the CustomImage. - ImageVersionNumber pulumi.IntPtrInput `pulumi:"imageVersionNumber"` +// The JupyterLab app settings. +type UserProfileJupyterLabAppSettingsArgs struct { + // A list of CodeRepositories available for use with JupyterLab apps. + CodeRepositories UserProfileCodeRepositoryArrayInput `pulumi:"codeRepositories"` + // A list of custom images available for use for JupyterLab apps + CustomImages UserProfileCustomImageArrayInput `pulumi:"customImages"` + // The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + DefaultResourceSpec UserProfileResourceSpecPtrInput `pulumi:"defaultResourceSpec"` + // A list of LifecycleConfigArns available for use with JupyterLab apps. + LifecycleConfigArns pulumi.StringArrayInput `pulumi:"lifecycleConfigArns"` } -func (UserProfileCustomImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*UserProfileCustomImage)(nil)).Elem() +func (UserProfileJupyterLabAppSettingsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileJupyterLabAppSettings)(nil)).Elem() } -func (i UserProfileCustomImageArgs) ToUserProfileCustomImageOutput() UserProfileCustomImageOutput { - return i.ToUserProfileCustomImageOutputWithContext(context.Background()) +func (i UserProfileJupyterLabAppSettingsArgs) ToUserProfileJupyterLabAppSettingsOutput() UserProfileJupyterLabAppSettingsOutput { + return i.ToUserProfileJupyterLabAppSettingsOutputWithContext(context.Background()) } -func (i UserProfileCustomImageArgs) ToUserProfileCustomImageOutputWithContext(ctx context.Context) UserProfileCustomImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomImageOutput) +func (i UserProfileJupyterLabAppSettingsArgs) ToUserProfileJupyterLabAppSettingsOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileJupyterLabAppSettingsOutput) } -func (i UserProfileCustomImageArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomImage] { - return pulumix.Output[UserProfileCustomImage]{ - OutputState: i.ToUserProfileCustomImageOutputWithContext(ctx).OutputState, +func (i UserProfileJupyterLabAppSettingsArgs) ToOutput(ctx context.Context) pulumix.Output[UserProfileJupyterLabAppSettings] { + return pulumix.Output[UserProfileJupyterLabAppSettings]{ + OutputState: i.ToUserProfileJupyterLabAppSettingsOutputWithContext(ctx).OutputState, } } -// UserProfileCustomImageArrayInput is an input type that accepts UserProfileCustomImageArray and UserProfileCustomImageArrayOutput values. -// You can construct a concrete instance of `UserProfileCustomImageArrayInput` via: +func (i UserProfileJupyterLabAppSettingsArgs) ToUserProfileJupyterLabAppSettingsPtrOutput() UserProfileJupyterLabAppSettingsPtrOutput { + return i.ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(context.Background()) +} + +func (i UserProfileJupyterLabAppSettingsArgs) ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileJupyterLabAppSettingsOutput).ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx) +} + +// UserProfileJupyterLabAppSettingsPtrInput is an input type that accepts UserProfileJupyterLabAppSettingsArgs, UserProfileJupyterLabAppSettingsPtr and UserProfileJupyterLabAppSettingsPtrOutput values. +// You can construct a concrete instance of `UserProfileJupyterLabAppSettingsPtrInput` via: // -// UserProfileCustomImageArray{ UserProfileCustomImageArgs{...} } -type UserProfileCustomImageArrayInput interface { +// UserProfileJupyterLabAppSettingsArgs{...} +// +// or: +// +// nil +type UserProfileJupyterLabAppSettingsPtrInput interface { pulumi.Input - ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput - ToUserProfileCustomImageArrayOutputWithContext(context.Context) UserProfileCustomImageArrayOutput + ToUserProfileJupyterLabAppSettingsPtrOutput() UserProfileJupyterLabAppSettingsPtrOutput + ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(context.Context) UserProfileJupyterLabAppSettingsPtrOutput } -type UserProfileCustomImageArray []UserProfileCustomImageInput +type userProfileJupyterLabAppSettingsPtrType UserProfileJupyterLabAppSettingsArgs -func (UserProfileCustomImageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]UserProfileCustomImage)(nil)).Elem() +func UserProfileJupyterLabAppSettingsPtr(v *UserProfileJupyterLabAppSettingsArgs) UserProfileJupyterLabAppSettingsPtrInput { + return (*userProfileJupyterLabAppSettingsPtrType)(v) } -func (i UserProfileCustomImageArray) ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput { - return i.ToUserProfileCustomImageArrayOutputWithContext(context.Background()) +func (*userProfileJupyterLabAppSettingsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileJupyterLabAppSettings)(nil)).Elem() } -func (i UserProfileCustomImageArray) ToUserProfileCustomImageArrayOutputWithContext(ctx context.Context) UserProfileCustomImageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(UserProfileCustomImageArrayOutput) +func (i *userProfileJupyterLabAppSettingsPtrType) ToUserProfileJupyterLabAppSettingsPtrOutput() UserProfileJupyterLabAppSettingsPtrOutput { + return i.ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(context.Background()) } -func (i UserProfileCustomImageArray) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomImage] { - return pulumix.Output[[]UserProfileCustomImage]{ - OutputState: i.ToUserProfileCustomImageArrayOutputWithContext(ctx).OutputState, +func (i *userProfileJupyterLabAppSettingsPtrType) ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(UserProfileJupyterLabAppSettingsPtrOutput) +} + +func (i *userProfileJupyterLabAppSettingsPtrType) ToOutput(ctx context.Context) pulumix.Output[*UserProfileJupyterLabAppSettings] { + return pulumix.Output[*UserProfileJupyterLabAppSettings]{ + OutputState: i.ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx).OutputState, } } -// A custom SageMaker image. -type UserProfileCustomImageOutput struct{ *pulumi.OutputState } +// The JupyterLab app settings. +type UserProfileJupyterLabAppSettingsOutput struct{ *pulumi.OutputState } -func (UserProfileCustomImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*UserProfileCustomImage)(nil)).Elem() +func (UserProfileJupyterLabAppSettingsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*UserProfileJupyterLabAppSettings)(nil)).Elem() } -func (o UserProfileCustomImageOutput) ToUserProfileCustomImageOutput() UserProfileCustomImageOutput { +func (o UserProfileJupyterLabAppSettingsOutput) ToUserProfileJupyterLabAppSettingsOutput() UserProfileJupyterLabAppSettingsOutput { return o } -func (o UserProfileCustomImageOutput) ToUserProfileCustomImageOutputWithContext(ctx context.Context) UserProfileCustomImageOutput { +func (o UserProfileJupyterLabAppSettingsOutput) ToUserProfileJupyterLabAppSettingsOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsOutput { return o } -func (o UserProfileCustomImageOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileCustomImage] { - return pulumix.Output[UserProfileCustomImage]{ +func (o UserProfileJupyterLabAppSettingsOutput) ToUserProfileJupyterLabAppSettingsPtrOutput() UserProfileJupyterLabAppSettingsPtrOutput { + return o.ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(context.Background()) +} + +func (o UserProfileJupyterLabAppSettingsOutput) ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v UserProfileJupyterLabAppSettings) *UserProfileJupyterLabAppSettings { + return &v + }).(UserProfileJupyterLabAppSettingsPtrOutput) +} + +func (o UserProfileJupyterLabAppSettingsOutput) ToOutput(ctx context.Context) pulumix.Output[UserProfileJupyterLabAppSettings] { + return pulumix.Output[UserProfileJupyterLabAppSettings]{ OutputState: o.OutputState, } } -// The Name of the AppImageConfig. -func (o UserProfileCustomImageOutput) AppImageConfigName() pulumi.StringOutput { - return o.ApplyT(func(v UserProfileCustomImage) string { return v.AppImageConfigName }).(pulumi.StringOutput) +// A list of CodeRepositories available for use with JupyterLab apps. +func (o UserProfileJupyterLabAppSettingsOutput) CodeRepositories() UserProfileCodeRepositoryArrayOutput { + return o.ApplyT(func(v UserProfileJupyterLabAppSettings) []UserProfileCodeRepository { return v.CodeRepositories }).(UserProfileCodeRepositoryArrayOutput) } -// The name of the CustomImage. Must be unique to your account. -func (o UserProfileCustomImageOutput) ImageName() pulumi.StringOutput { - return o.ApplyT(func(v UserProfileCustomImage) string { return v.ImageName }).(pulumi.StringOutput) +// A list of custom images available for use for JupyterLab apps +func (o UserProfileJupyterLabAppSettingsOutput) CustomImages() UserProfileCustomImageArrayOutput { + return o.ApplyT(func(v UserProfileJupyterLabAppSettings) []UserProfileCustomImage { return v.CustomImages }).(UserProfileCustomImageArrayOutput) } -// The version number of the CustomImage. -func (o UserProfileCustomImageOutput) ImageVersionNumber() pulumi.IntPtrOutput { - return o.ApplyT(func(v UserProfileCustomImage) *int { return v.ImageVersionNumber }).(pulumi.IntPtrOutput) +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. +func (o UserProfileJupyterLabAppSettingsOutput) DefaultResourceSpec() UserProfileResourceSpecPtrOutput { + return o.ApplyT(func(v UserProfileJupyterLabAppSettings) *UserProfileResourceSpec { return v.DefaultResourceSpec }).(UserProfileResourceSpecPtrOutput) } -type UserProfileCustomImageArrayOutput struct{ *pulumi.OutputState } +// A list of LifecycleConfigArns available for use with JupyterLab apps. +func (o UserProfileJupyterLabAppSettingsOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v UserProfileJupyterLabAppSettings) []string { return v.LifecycleConfigArns }).(pulumi.StringArrayOutput) +} -func (UserProfileCustomImageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]UserProfileCustomImage)(nil)).Elem() +type UserProfileJupyterLabAppSettingsPtrOutput struct{ *pulumi.OutputState } + +func (UserProfileJupyterLabAppSettingsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**UserProfileJupyterLabAppSettings)(nil)).Elem() } -func (o UserProfileCustomImageArrayOutput) ToUserProfileCustomImageArrayOutput() UserProfileCustomImageArrayOutput { +func (o UserProfileJupyterLabAppSettingsPtrOutput) ToUserProfileJupyterLabAppSettingsPtrOutput() UserProfileJupyterLabAppSettingsPtrOutput { return o } -func (o UserProfileCustomImageArrayOutput) ToUserProfileCustomImageArrayOutputWithContext(ctx context.Context) UserProfileCustomImageArrayOutput { +func (o UserProfileJupyterLabAppSettingsPtrOutput) ToUserProfileJupyterLabAppSettingsPtrOutputWithContext(ctx context.Context) UserProfileJupyterLabAppSettingsPtrOutput { return o } -func (o UserProfileCustomImageArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]UserProfileCustomImage] { - return pulumix.Output[[]UserProfileCustomImage]{ +func (o UserProfileJupyterLabAppSettingsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*UserProfileJupyterLabAppSettings] { + return pulumix.Output[*UserProfileJupyterLabAppSettings]{ OutputState: o.OutputState, } } -func (o UserProfileCustomImageArrayOutput) Index(i pulumi.IntInput) UserProfileCustomImageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) UserProfileCustomImage { - return vs[0].([]UserProfileCustomImage)[vs[1].(int)] - }).(UserProfileCustomImageOutput) +func (o UserProfileJupyterLabAppSettingsPtrOutput) Elem() UserProfileJupyterLabAppSettingsOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) UserProfileJupyterLabAppSettings { + if v != nil { + return *v + } + var ret UserProfileJupyterLabAppSettings + return ret + }).(UserProfileJupyterLabAppSettingsOutput) +} + +// A list of CodeRepositories available for use with JupyterLab apps. +func (o UserProfileJupyterLabAppSettingsPtrOutput) CodeRepositories() UserProfileCodeRepositoryArrayOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) []UserProfileCodeRepository { + if v == nil { + return nil + } + return v.CodeRepositories + }).(UserProfileCodeRepositoryArrayOutput) +} + +// A list of custom images available for use for JupyterLab apps +func (o UserProfileJupyterLabAppSettingsPtrOutput) CustomImages() UserProfileCustomImageArrayOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) []UserProfileCustomImage { + if v == nil { + return nil + } + return v.CustomImages + }).(UserProfileCustomImageArrayOutput) +} + +// The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. +func (o UserProfileJupyterLabAppSettingsPtrOutput) DefaultResourceSpec() UserProfileResourceSpecPtrOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) *UserProfileResourceSpec { + if v == nil { + return nil + } + return v.DefaultResourceSpec + }).(UserProfileResourceSpecPtrOutput) +} + +// A list of LifecycleConfigArns available for use with JupyterLab apps. +func (o UserProfileJupyterLabAppSettingsPtrOutput) LifecycleConfigArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *UserProfileJupyterLabAppSettings) []string { + if v == nil { + return nil + } + return v.LifecycleConfigArns + }).(pulumi.StringArrayOutput) } // The JupyterServer app settings. @@ -43553,8 +46347,14 @@ func (o UserProfileTagArrayOutput) Index(i pulumi.IntInput) UserProfileTagOutput // 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. type UserProfileUserSettings struct { + CodeEditorAppSettings *UserProfileCodeEditorAppSettings `pulumi:"codeEditorAppSettings"` + CustomFileSystemConfigs []UserProfileCustomFileSystemConfig `pulumi:"customFileSystemConfigs"` + CustomPosixUserConfig *UserProfileCustomPosixUserConfig `pulumi:"customPosixUserConfig"` + // Defines which Amazon SageMaker application users are directed to by default. + DefaultLandingUri *string `pulumi:"defaultLandingUri"` // The user profile Amazon Resource Name (ARN). - ExecutionRole *string `pulumi:"executionRole"` + ExecutionRole *string `pulumi:"executionRole"` + JupyterLabAppSettings *UserProfileJupyterLabAppSettings `pulumi:"jupyterLabAppSettings"` // The Jupyter server's app settings. JupyterServerAppSettings *UserProfileJupyterServerAppSettings `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. @@ -43563,7 +46363,10 @@ type UserProfileUserSettings struct { // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. SecurityGroups []string `pulumi:"securityGroups"` // The sharing settings. - SharingSettings *UserProfileSharingSettings `pulumi:"sharingSettings"` + SharingSettings *UserProfileSharingSettings `pulumi:"sharingSettings"` + SpaceStorageSettings *UserProfileDefaultSpaceStorageSettings `pulumi:"spaceStorageSettings"` + // Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + StudioWebPortal *UserProfileUserSettingsStudioWebPortal `pulumi:"studioWebPortal"` } // UserProfileUserSettingsInput is an input type that accepts UserProfileUserSettingsArgs and UserProfileUserSettingsOutput values. @@ -43579,8 +46382,14 @@ type UserProfileUserSettingsInput interface { // 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. type UserProfileUserSettingsArgs struct { + CodeEditorAppSettings UserProfileCodeEditorAppSettingsPtrInput `pulumi:"codeEditorAppSettings"` + CustomFileSystemConfigs UserProfileCustomFileSystemConfigArrayInput `pulumi:"customFileSystemConfigs"` + CustomPosixUserConfig UserProfileCustomPosixUserConfigPtrInput `pulumi:"customPosixUserConfig"` + // Defines which Amazon SageMaker application users are directed to by default. + DefaultLandingUri pulumi.StringPtrInput `pulumi:"defaultLandingUri"` // The user profile Amazon Resource Name (ARN). - ExecutionRole pulumi.StringPtrInput `pulumi:"executionRole"` + ExecutionRole pulumi.StringPtrInput `pulumi:"executionRole"` + JupyterLabAppSettings UserProfileJupyterLabAppSettingsPtrInput `pulumi:"jupyterLabAppSettings"` // The Jupyter server's app settings. JupyterServerAppSettings UserProfileJupyterServerAppSettingsPtrInput `pulumi:"jupyterServerAppSettings"` // The kernel gateway app settings. @@ -43589,7 +46398,10 @@ type UserProfileUserSettingsArgs struct { // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"` // The sharing settings. - SharingSettings UserProfileSharingSettingsPtrInput `pulumi:"sharingSettings"` + SharingSettings UserProfileSharingSettingsPtrInput `pulumi:"sharingSettings"` + SpaceStorageSettings UserProfileDefaultSpaceStorageSettingsPtrInput `pulumi:"spaceStorageSettings"` + // Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + StudioWebPortal UserProfileUserSettingsStudioWebPortalPtrInput `pulumi:"studioWebPortal"` } func (UserProfileUserSettingsArgs) ElementType() reflect.Type { @@ -43688,11 +46500,32 @@ func (o UserProfileUserSettingsOutput) ToOutput(ctx context.Context) pulumix.Out } } +func (o UserProfileUserSettingsOutput) CodeEditorAppSettings() UserProfileCodeEditorAppSettingsPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *UserProfileCodeEditorAppSettings { return v.CodeEditorAppSettings }).(UserProfileCodeEditorAppSettingsPtrOutput) +} + +func (o UserProfileUserSettingsOutput) CustomFileSystemConfigs() UserProfileCustomFileSystemConfigArrayOutput { + return o.ApplyT(func(v UserProfileUserSettings) []UserProfileCustomFileSystemConfig { return v.CustomFileSystemConfigs }).(UserProfileCustomFileSystemConfigArrayOutput) +} + +func (o UserProfileUserSettingsOutput) CustomPosixUserConfig() UserProfileCustomPosixUserConfigPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *UserProfileCustomPosixUserConfig { return v.CustomPosixUserConfig }).(UserProfileCustomPosixUserConfigPtrOutput) +} + +// Defines which Amazon SageMaker application users are directed to by default. +func (o UserProfileUserSettingsOutput) DefaultLandingUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *string { return v.DefaultLandingUri }).(pulumi.StringPtrOutput) +} + // The user profile Amazon Resource Name (ARN). func (o UserProfileUserSettingsOutput) ExecutionRole() pulumi.StringPtrOutput { return o.ApplyT(func(v UserProfileUserSettings) *string { return v.ExecutionRole }).(pulumi.StringPtrOutput) } +func (o UserProfileUserSettingsOutput) JupyterLabAppSettings() UserProfileJupyterLabAppSettingsPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *UserProfileJupyterLabAppSettings { return v.JupyterLabAppSettings }).(UserProfileJupyterLabAppSettingsPtrOutput) +} + // The Jupyter server's app settings. func (o UserProfileUserSettingsOutput) JupyterServerAppSettings() UserProfileJupyterServerAppSettingsPtrOutput { return o.ApplyT(func(v UserProfileUserSettings) *UserProfileJupyterServerAppSettings { @@ -43723,6 +46556,15 @@ func (o UserProfileUserSettingsOutput) SharingSettings() UserProfileSharingSetti return o.ApplyT(func(v UserProfileUserSettings) *UserProfileSharingSettings { return v.SharingSettings }).(UserProfileSharingSettingsPtrOutput) } +func (o UserProfileUserSettingsOutput) SpaceStorageSettings() UserProfileDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *UserProfileDefaultSpaceStorageSettings { return v.SpaceStorageSettings }).(UserProfileDefaultSpaceStorageSettingsPtrOutput) +} + +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +func (o UserProfileUserSettingsOutput) StudioWebPortal() UserProfileUserSettingsStudioWebPortalPtrOutput { + return o.ApplyT(func(v UserProfileUserSettings) *UserProfileUserSettingsStudioWebPortal { return v.StudioWebPortal }).(UserProfileUserSettingsStudioWebPortalPtrOutput) +} + type UserProfileUserSettingsPtrOutput struct{ *pulumi.OutputState } func (UserProfileUserSettingsPtrOutput) ElementType() reflect.Type { @@ -43753,6 +46595,43 @@ func (o UserProfileUserSettingsPtrOutput) Elem() UserProfileUserSettingsOutput { }).(UserProfileUserSettingsOutput) } +func (o UserProfileUserSettingsPtrOutput) CodeEditorAppSettings() UserProfileCodeEditorAppSettingsPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileCodeEditorAppSettings { + if v == nil { + return nil + } + return v.CodeEditorAppSettings + }).(UserProfileCodeEditorAppSettingsPtrOutput) +} + +func (o UserProfileUserSettingsPtrOutput) CustomFileSystemConfigs() UserProfileCustomFileSystemConfigArrayOutput { + return o.ApplyT(func(v *UserProfileUserSettings) []UserProfileCustomFileSystemConfig { + if v == nil { + return nil + } + return v.CustomFileSystemConfigs + }).(UserProfileCustomFileSystemConfigArrayOutput) +} + +func (o UserProfileUserSettingsPtrOutput) CustomPosixUserConfig() UserProfileCustomPosixUserConfigPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileCustomPosixUserConfig { + if v == nil { + return nil + } + return v.CustomPosixUserConfig + }).(UserProfileCustomPosixUserConfigPtrOutput) +} + +// Defines which Amazon SageMaker application users are directed to by default. +func (o UserProfileUserSettingsPtrOutput) DefaultLandingUri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *string { + if v == nil { + return nil + } + return v.DefaultLandingUri + }).(pulumi.StringPtrOutput) +} + // The user profile Amazon Resource Name (ARN). func (o UserProfileUserSettingsPtrOutput) ExecutionRole() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserProfileUserSettings) *string { @@ -43763,6 +46642,15 @@ func (o UserProfileUserSettingsPtrOutput) ExecutionRole() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } +func (o UserProfileUserSettingsPtrOutput) JupyterLabAppSettings() UserProfileJupyterLabAppSettingsPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileJupyterLabAppSettings { + if v == nil { + return nil + } + return v.JupyterLabAppSettings + }).(UserProfileJupyterLabAppSettingsPtrOutput) +} + // The Jupyter server's app settings. func (o UserProfileUserSettingsPtrOutput) JupyterServerAppSettings() UserProfileJupyterServerAppSettingsPtrOutput { return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileJupyterServerAppSettings { @@ -43812,6 +46700,25 @@ func (o UserProfileUserSettingsPtrOutput) SharingSettings() UserProfileSharingSe }).(UserProfileSharingSettingsPtrOutput) } +func (o UserProfileUserSettingsPtrOutput) SpaceStorageSettings() UserProfileDefaultSpaceStorageSettingsPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileDefaultSpaceStorageSettings { + if v == nil { + return nil + } + return v.SpaceStorageSettings + }).(UserProfileDefaultSpaceStorageSettingsPtrOutput) +} + +// Indicates whether the Studio experience is available to users. If not, users cannot access Studio. +func (o UserProfileUserSettingsPtrOutput) StudioWebPortal() UserProfileUserSettingsStudioWebPortalPtrOutput { + return o.ApplyT(func(v *UserProfileUserSettings) *UserProfileUserSettingsStudioWebPortal { + if v == nil { + return nil + } + return v.StudioWebPortal + }).(UserProfileUserSettingsStudioWebPortalPtrOutput) +} + type WorkteamCognitoMemberDefinition struct { CognitoClientId string `pulumi:"cognitoClientId"` CognitoUserGroup string `pulumi:"cognitoUserGroup"` @@ -44616,10 +47523,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DeviceFleetTagArrayInput)(nil)).Elem(), DeviceFleetTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DeviceTagInput)(nil)).Elem(), DeviceTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DeviceTagArrayInput)(nil)).Elem(), DeviceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeEditorAppSettingsInput)(nil)).Elem(), DomainCodeEditorAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeEditorAppSettingsPtrInput)(nil)).Elem(), DomainCodeEditorAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeRepositoryInput)(nil)).Elem(), DomainCodeRepositoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCodeRepositoryArrayInput)(nil)).Elem(), DomainCodeRepositoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomFileSystemConfigInput)(nil)).Elem(), DomainCustomFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomFileSystemConfigArrayInput)(nil)).Elem(), DomainCustomFileSystemConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomImageInput)(nil)).Elem(), DomainCustomImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomImageArrayInput)(nil)).Elem(), DomainCustomImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomPosixUserConfigInput)(nil)).Elem(), DomainCustomPosixUserConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainCustomPosixUserConfigPtrInput)(nil)).Elem(), DomainCustomPosixUserConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultEbsStorageSettingsInput)(nil)).Elem(), DomainDefaultEbsStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultEbsStorageSettingsPtrInput)(nil)).Elem(), DomainDefaultEbsStorageSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultSpaceSettingsInput)(nil)).Elem(), DomainDefaultSpaceSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultSpaceSettingsPtrInput)(nil)).Elem(), DomainDefaultSpaceSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultSpaceStorageSettingsInput)(nil)).Elem(), DomainDefaultSpaceStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainDefaultSpaceStorageSettingsPtrInput)(nil)).Elem(), DomainDefaultSpaceStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainEfsFileSystemConfigInput)(nil)).Elem(), DomainEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainEfsFileSystemConfigPtrInput)(nil)).Elem(), DomainEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterLabAppSettingsInput)(nil)).Elem(), DomainJupyterLabAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterLabAppSettingsPtrInput)(nil)).Elem(), DomainJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterServerAppSettingsInput)(nil)).Elem(), DomainJupyterServerAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainJupyterServerAppSettingsPtrInput)(nil)).Elem(), DomainJupyterServerAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DomainKernelGatewayAppSettingsInput)(nil)).Elem(), DomainKernelGatewayAppSettingsArgs{}) @@ -45033,8 +47956,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpaceSettingsPtrInput)(nil)).Elem(), SpaceSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceTagInput)(nil)).Elem(), SpaceTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpaceTagArrayInput)(nil)).Elem(), SpaceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeEditorAppSettingsInput)(nil)).Elem(), UserProfileCodeEditorAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeEditorAppSettingsPtrInput)(nil)).Elem(), UserProfileCodeEditorAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeRepositoryInput)(nil)).Elem(), UserProfileCodeRepositoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCodeRepositoryArrayInput)(nil)).Elem(), UserProfileCodeRepositoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomFileSystemConfigInput)(nil)).Elem(), UserProfileCustomFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomFileSystemConfigArrayInput)(nil)).Elem(), UserProfileCustomFileSystemConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomImageInput)(nil)).Elem(), UserProfileCustomImageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomImageArrayInput)(nil)).Elem(), UserProfileCustomImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomPosixUserConfigInput)(nil)).Elem(), UserProfileCustomPosixUserConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileCustomPosixUserConfigPtrInput)(nil)).Elem(), UserProfileCustomPosixUserConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileDefaultEbsStorageSettingsInput)(nil)).Elem(), UserProfileDefaultEbsStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileDefaultEbsStorageSettingsPtrInput)(nil)).Elem(), UserProfileDefaultEbsStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileDefaultSpaceStorageSettingsInput)(nil)).Elem(), UserProfileDefaultSpaceStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileDefaultSpaceStorageSettingsPtrInput)(nil)).Elem(), UserProfileDefaultSpaceStorageSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileEfsFileSystemConfigInput)(nil)).Elem(), UserProfileEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileEfsFileSystemConfigPtrInput)(nil)).Elem(), UserProfileEfsFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterLabAppSettingsInput)(nil)).Elem(), UserProfileJupyterLabAppSettingsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterLabAppSettingsPtrInput)(nil)).Elem(), UserProfileJupyterLabAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterServerAppSettingsInput)(nil)).Elem(), UserProfileJupyterServerAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileJupyterServerAppSettingsPtrInput)(nil)).Elem(), UserProfileJupyterServerAppSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*UserProfileKernelGatewayAppSettingsInput)(nil)).Elem(), UserProfileKernelGatewayAppSettingsArgs{}) @@ -45115,10 +48054,26 @@ func init() { pulumi.RegisterOutputType(DeviceFleetTagArrayOutput{}) pulumi.RegisterOutputType(DeviceTagOutput{}) pulumi.RegisterOutputType(DeviceTagArrayOutput{}) + pulumi.RegisterOutputType(DomainCodeEditorAppSettingsOutput{}) + pulumi.RegisterOutputType(DomainCodeEditorAppSettingsPtrOutput{}) + pulumi.RegisterOutputType(DomainCodeRepositoryOutput{}) + pulumi.RegisterOutputType(DomainCodeRepositoryArrayOutput{}) + pulumi.RegisterOutputType(DomainCustomFileSystemConfigOutput{}) + pulumi.RegisterOutputType(DomainCustomFileSystemConfigArrayOutput{}) pulumi.RegisterOutputType(DomainCustomImageOutput{}) pulumi.RegisterOutputType(DomainCustomImageArrayOutput{}) + pulumi.RegisterOutputType(DomainCustomPosixUserConfigOutput{}) + pulumi.RegisterOutputType(DomainCustomPosixUserConfigPtrOutput{}) + pulumi.RegisterOutputType(DomainDefaultEbsStorageSettingsOutput{}) + pulumi.RegisterOutputType(DomainDefaultEbsStorageSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainDefaultSpaceSettingsOutput{}) pulumi.RegisterOutputType(DomainDefaultSpaceSettingsPtrOutput{}) + pulumi.RegisterOutputType(DomainDefaultSpaceStorageSettingsOutput{}) + pulumi.RegisterOutputType(DomainDefaultSpaceStorageSettingsPtrOutput{}) + pulumi.RegisterOutputType(DomainEfsFileSystemConfigOutput{}) + pulumi.RegisterOutputType(DomainEfsFileSystemConfigPtrOutput{}) + pulumi.RegisterOutputType(DomainJupyterLabAppSettingsOutput{}) + pulumi.RegisterOutputType(DomainJupyterLabAppSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainJupyterServerAppSettingsOutput{}) pulumi.RegisterOutputType(DomainJupyterServerAppSettingsPtrOutput{}) pulumi.RegisterOutputType(DomainKernelGatewayAppSettingsOutput{}) @@ -45540,8 +48495,24 @@ func init() { pulumi.RegisterOutputType(SpaceSettingsPtrOutput{}) pulumi.RegisterOutputType(SpaceTagOutput{}) pulumi.RegisterOutputType(SpaceTagArrayOutput{}) + pulumi.RegisterOutputType(UserProfileCodeEditorAppSettingsOutput{}) + pulumi.RegisterOutputType(UserProfileCodeEditorAppSettingsPtrOutput{}) + pulumi.RegisterOutputType(UserProfileCodeRepositoryOutput{}) + pulumi.RegisterOutputType(UserProfileCodeRepositoryArrayOutput{}) + pulumi.RegisterOutputType(UserProfileCustomFileSystemConfigOutput{}) + pulumi.RegisterOutputType(UserProfileCustomFileSystemConfigArrayOutput{}) pulumi.RegisterOutputType(UserProfileCustomImageOutput{}) pulumi.RegisterOutputType(UserProfileCustomImageArrayOutput{}) + pulumi.RegisterOutputType(UserProfileCustomPosixUserConfigOutput{}) + pulumi.RegisterOutputType(UserProfileCustomPosixUserConfigPtrOutput{}) + pulumi.RegisterOutputType(UserProfileDefaultEbsStorageSettingsOutput{}) + pulumi.RegisterOutputType(UserProfileDefaultEbsStorageSettingsPtrOutput{}) + pulumi.RegisterOutputType(UserProfileDefaultSpaceStorageSettingsOutput{}) + pulumi.RegisterOutputType(UserProfileDefaultSpaceStorageSettingsPtrOutput{}) + pulumi.RegisterOutputType(UserProfileEfsFileSystemConfigOutput{}) + pulumi.RegisterOutputType(UserProfileEfsFileSystemConfigPtrOutput{}) + pulumi.RegisterOutputType(UserProfileJupyterLabAppSettingsOutput{}) + pulumi.RegisterOutputType(UserProfileJupyterLabAppSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileJupyterServerAppSettingsOutput{}) pulumi.RegisterOutputType(UserProfileJupyterServerAppSettingsPtrOutput{}) pulumi.RegisterOutputType(UserProfileKernelGatewayAppSettingsOutput{}) diff --git a/sdk/go/aws/sns/getSubscription.go b/sdk/go/aws/sns/getSubscription.go index 033d604194..f5326299c3 100644 --- a/sdk/go/aws/sns/getSubscription.go +++ b/sdk/go/aws/sns/getSubscription.go @@ -35,6 +35,7 @@ type LookupSubscriptionResult struct { RawMessageDelivery *bool `pulumi:"rawMessageDelivery"` RedrivePolicy interface{} `pulumi:"redrivePolicy"` Region *string `pulumi:"region"` + ReplayPolicy interface{} `pulumi:"replayPolicy"` SubscriptionRoleArn *string `pulumi:"subscriptionRoleArn"` } @@ -107,6 +108,10 @@ func (o LookupSubscriptionResultOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSubscriptionResult) *string { return v.Region }).(pulumi.StringPtrOutput) } +func (o LookupSubscriptionResultOutput) ReplayPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v LookupSubscriptionResult) interface{} { return v.ReplayPolicy }).(pulumi.AnyOutput) +} + func (o LookupSubscriptionResultOutput) SubscriptionRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupSubscriptionResult) *string { return v.SubscriptionRoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/sns/subscription.go b/sdk/go/aws/sns/subscription.go index ebf092de17..129d663694 100644 --- a/sdk/go/aws/sns/subscription.go +++ b/sdk/go/aws/sns/subscription.go @@ -27,6 +27,7 @@ type Subscription struct { RawMessageDelivery pulumi.BoolPtrOutput `pulumi:"rawMessageDelivery"` RedrivePolicy pulumi.AnyOutput `pulumi:"redrivePolicy"` Region pulumi.StringPtrOutput `pulumi:"region"` + ReplayPolicy pulumi.AnyOutput `pulumi:"replayPolicy"` SubscriptionRoleArn pulumi.StringPtrOutput `pulumi:"subscriptionRoleArn"` TopicArn pulumi.StringOutput `pulumi:"topicArn"` } @@ -91,6 +92,7 @@ type subscriptionArgs struct { RawMessageDelivery *bool `pulumi:"rawMessageDelivery"` RedrivePolicy interface{} `pulumi:"redrivePolicy"` Region *string `pulumi:"region"` + ReplayPolicy interface{} `pulumi:"replayPolicy"` SubscriptionRoleArn *string `pulumi:"subscriptionRoleArn"` TopicArn string `pulumi:"topicArn"` } @@ -105,6 +107,7 @@ type SubscriptionArgs struct { RawMessageDelivery pulumi.BoolPtrInput RedrivePolicy pulumi.Input Region pulumi.StringPtrInput + ReplayPolicy pulumi.Input SubscriptionRoleArn pulumi.StringPtrInput TopicArn pulumi.StringInput } @@ -190,6 +193,10 @@ func (o SubscriptionOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.Region }).(pulumi.StringPtrOutput) } +func (o SubscriptionOutput) ReplayPolicy() pulumi.AnyOutput { + return o.ApplyT(func(v *Subscription) pulumi.AnyOutput { return v.ReplayPolicy }).(pulumi.AnyOutput) +} + func (o SubscriptionOutput) SubscriptionRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *Subscription) pulumi.StringPtrOutput { return v.SubscriptionRoleArn }).(pulumi.StringPtrOutput) } diff --git a/sdk/nodejs/appsync/getGraphQlApi.ts b/sdk/nodejs/appsync/getGraphQlApi.ts index 5485a10dee..c811ae01ca 100644 --- a/sdk/nodejs/appsync/getGraphQlApi.ts +++ b/sdk/nodejs/appsync/getGraphQlApi.ts @@ -29,6 +29,7 @@ export interface GetGraphQlApiResult { readonly arn?: string; readonly authenticationType?: string; readonly graphQlDns?: string; + readonly graphQlEndpointArn?: string; readonly graphQlUrl?: string; readonly id?: string; readonly lambdaAuthorizerConfig?: outputs.appsync.GraphQlApiLambdaAuthorizerConfig; diff --git a/sdk/nodejs/appsync/graphQlApi.ts b/sdk/nodejs/appsync/graphQlApi.ts index 54d62f3c97..d3eaca3c1c 100644 --- a/sdk/nodejs/appsync/graphQlApi.ts +++ b/sdk/nodejs/appsync/graphQlApi.ts @@ -46,6 +46,7 @@ export class GraphQlApi extends pulumi.CustomResource { public /*out*/ readonly arn!: pulumi.Output; public readonly authenticationType!: pulumi.Output; public /*out*/ readonly graphQlDns!: pulumi.Output; + public /*out*/ readonly graphQlEndpointArn!: pulumi.Output; public /*out*/ readonly graphQlUrl!: pulumi.Output; public readonly lambdaAuthorizerConfig!: pulumi.Output; public readonly logConfig!: pulumi.Output; @@ -92,6 +93,7 @@ export class GraphQlApi extends pulumi.CustomResource { resourceInputs["apiId"] = undefined /*out*/; resourceInputs["arn"] = undefined /*out*/; resourceInputs["graphQlDns"] = undefined /*out*/; + resourceInputs["graphQlEndpointArn"] = undefined /*out*/; resourceInputs["graphQlUrl"] = undefined /*out*/; resourceInputs["realtimeDns"] = undefined /*out*/; resourceInputs["realtimeUrl"] = undefined /*out*/; @@ -102,6 +104,7 @@ export class GraphQlApi extends pulumi.CustomResource { resourceInputs["arn"] = undefined /*out*/; resourceInputs["authenticationType"] = undefined /*out*/; resourceInputs["graphQlDns"] = undefined /*out*/; + resourceInputs["graphQlEndpointArn"] = undefined /*out*/; resourceInputs["graphQlUrl"] = undefined /*out*/; resourceInputs["lambdaAuthorizerConfig"] = undefined /*out*/; resourceInputs["logConfig"] = undefined /*out*/; diff --git a/sdk/nodejs/billingconductor/customLineItem.ts b/sdk/nodejs/billingconductor/customLineItem.ts index c6aa315554..69646816d0 100644 --- a/sdk/nodejs/billingconductor/customLineItem.ts +++ b/sdk/nodejs/billingconductor/customLineItem.ts @@ -40,6 +40,10 @@ export class CustomLineItem extends pulumi.CustomResource { return obj['__pulumiType'] === CustomLineItem.__pulumiType; } + /** + * The account which this custom line item will be charged to + */ + public readonly accountId!: pulumi.Output; /** * ARN */ @@ -84,6 +88,7 @@ export class CustomLineItem extends pulumi.CustomResource { if ((!args || args.billingGroupArn === undefined) && !opts.urn) { throw new Error("Missing required property 'billingGroupArn'"); } + resourceInputs["accountId"] = args ? args.accountId : undefined; resourceInputs["billingGroupArn"] = args ? args.billingGroupArn : undefined; resourceInputs["billingPeriodRange"] = args ? args.billingPeriodRange : undefined; resourceInputs["customLineItemChargeDetails"] = args ? args.customLineItemChargeDetails : undefined; @@ -97,6 +102,7 @@ export class CustomLineItem extends pulumi.CustomResource { resourceInputs["lastModifiedTime"] = undefined /*out*/; resourceInputs["productCode"] = undefined /*out*/; } else { + resourceInputs["accountId"] = undefined /*out*/; resourceInputs["arn"] = undefined /*out*/; resourceInputs["associationSize"] = undefined /*out*/; resourceInputs["billingGroupArn"] = undefined /*out*/; @@ -111,7 +117,7 @@ export class CustomLineItem extends pulumi.CustomResource { resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["billingGroupArn", "billingPeriodRange.exclusiveEndBillingPeriod", "billingPeriodRange.inclusiveStartBillingPeriod", "customLineItemChargeDetails.type"] }; + const replaceOnChanges = { replaceOnChanges: ["accountId", "billingGroupArn", "billingPeriodRange.exclusiveEndBillingPeriod", "billingPeriodRange.inclusiveStartBillingPeriod", "customLineItemChargeDetails.type"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(CustomLineItem.__pulumiType, name, resourceInputs, opts); } @@ -121,6 +127,10 @@ export class CustomLineItem extends pulumi.CustomResource { * The set of arguments for constructing a CustomLineItem resource. */ export interface CustomLineItemArgs { + /** + * The account which this custom line item will be charged to + */ + accountId?: pulumi.Input; /** * Billing Group ARN */ diff --git a/sdk/nodejs/ce/anomalyMonitor.ts b/sdk/nodejs/ce/anomalyMonitor.ts index 8dcd99228b..0d0058615b 100644 --- a/sdk/nodejs/ce/anomalyMonitor.ts +++ b/sdk/nodejs/ce/anomalyMonitor.ts @@ -9,8 +9,6 @@ import * as utilities from "../utilities"; /** * 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. - * - * @deprecated AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class AnomalyMonitor extends pulumi.CustomResource { /** @@ -22,7 +20,6 @@ export class AnomalyMonitor extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AnomalyMonitor { - pulumi.log.warn("AnomalyMonitor is deprecated: AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new AnomalyMonitor(name, undefined as any, { ...opts, id: id }); } @@ -79,9 +76,7 @@ export class AnomalyMonitor extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args: AnomalyMonitorArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("AnomalyMonitor is deprecated: AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { diff --git a/sdk/nodejs/ce/anomalySubscription.ts b/sdk/nodejs/ce/anomalySubscription.ts index b0bef4760b..7f7fe63490 100644 --- a/sdk/nodejs/ce/anomalySubscription.ts +++ b/sdk/nodejs/ce/anomalySubscription.ts @@ -9,8 +9,6 @@ import * as utilities from "../utilities"; /** * 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 - * - * @deprecated AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class AnomalySubscription extends pulumi.CustomResource { /** @@ -22,7 +20,6 @@ export class AnomalySubscription extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): AnomalySubscription { - pulumi.log.warn("AnomalySubscription is deprecated: AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new AnomalySubscription(name, undefined as any, { ...opts, id: id }); } @@ -81,9 +78,7 @@ export class AnomalySubscription extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args: AnomalySubscriptionArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("AnomalySubscription is deprecated: AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { diff --git a/sdk/nodejs/cleanrooms/collaboration.ts b/sdk/nodejs/cleanrooms/collaboration.ts index af7222bd31..da104c8dd6 100644 --- a/sdk/nodejs/cleanrooms/collaboration.ts +++ b/sdk/nodejs/cleanrooms/collaboration.ts @@ -41,6 +41,7 @@ export class Collaboration extends pulumi.CustomResource { public /*out*/ readonly collaborationIdentifier!: pulumi.Output; public readonly creatorDisplayName!: pulumi.Output; public readonly creatorMemberAbilities!: pulumi.Output; + public readonly creatorPaymentConfiguration!: pulumi.Output; public readonly dataEncryptionMetadata!: pulumi.Output; public readonly description!: pulumi.Output; public readonly members!: pulumi.Output; @@ -79,6 +80,7 @@ export class Collaboration extends pulumi.CustomResource { } resourceInputs["creatorDisplayName"] = args ? args.creatorDisplayName : undefined; resourceInputs["creatorMemberAbilities"] = args ? args.creatorMemberAbilities : undefined; + resourceInputs["creatorPaymentConfiguration"] = args ? args.creatorPaymentConfiguration : undefined; resourceInputs["dataEncryptionMetadata"] = args ? args.dataEncryptionMetadata : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["members"] = args ? args.members : undefined; @@ -92,6 +94,7 @@ export class Collaboration extends pulumi.CustomResource { resourceInputs["collaborationIdentifier"] = undefined /*out*/; resourceInputs["creatorDisplayName"] = undefined /*out*/; resourceInputs["creatorMemberAbilities"] = undefined /*out*/; + resourceInputs["creatorPaymentConfiguration"] = undefined /*out*/; resourceInputs["dataEncryptionMetadata"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; resourceInputs["members"] = undefined /*out*/; @@ -100,7 +103,7 @@ export class Collaboration extends pulumi.CustomResource { resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["creatorDisplayName", "creatorMemberAbilities[*]", "dataEncryptionMetadata", "members[*]", "queryLogStatus"] }; + const replaceOnChanges = { replaceOnChanges: ["creatorDisplayName", "creatorMemberAbilities[*]", "creatorPaymentConfiguration", "dataEncryptionMetadata", "members[*]", "queryLogStatus"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Collaboration.__pulumiType, name, resourceInputs, opts); } @@ -112,6 +115,7 @@ export class Collaboration extends pulumi.CustomResource { export interface CollaborationArgs { creatorDisplayName: pulumi.Input; creatorMemberAbilities: pulumi.Input[]>; + creatorPaymentConfiguration?: pulumi.Input; dataEncryptionMetadata?: pulumi.Input; description: pulumi.Input; members: pulumi.Input[]>; diff --git a/sdk/nodejs/cleanrooms/getMembership.ts b/sdk/nodejs/cleanrooms/getMembership.ts index 3f668562b7..dde006dbe9 100644 --- a/sdk/nodejs/cleanrooms/getMembership.ts +++ b/sdk/nodejs/cleanrooms/getMembership.ts @@ -28,6 +28,7 @@ export interface GetMembershipResult { readonly collaborationCreatorAccountId?: string; readonly defaultResultConfiguration?: outputs.cleanrooms.MembershipProtectedQueryResultConfiguration; readonly membershipIdentifier?: string; + readonly paymentConfiguration?: outputs.cleanrooms.MembershipPaymentConfiguration; readonly queryLogStatus?: enums.cleanrooms.MembershipQueryLogStatus; /** * An arbitrary set of tags (key-value pairs) for this cleanrooms membership. diff --git a/sdk/nodejs/cleanrooms/membership.ts b/sdk/nodejs/cleanrooms/membership.ts index 9949257644..24a9f895c1 100644 --- a/sdk/nodejs/cleanrooms/membership.ts +++ b/sdk/nodejs/cleanrooms/membership.ts @@ -43,6 +43,7 @@ export class Membership extends pulumi.CustomResource { public readonly collaborationIdentifier!: pulumi.Output; public readonly defaultResultConfiguration!: pulumi.Output; public /*out*/ readonly membershipIdentifier!: pulumi.Output; + public readonly paymentConfiguration!: pulumi.Output; public readonly queryLogStatus!: pulumi.Output; /** * An arbitrary set of tags (key-value pairs) for this cleanrooms membership. @@ -68,6 +69,7 @@ export class Membership extends pulumi.CustomResource { } resourceInputs["collaborationIdentifier"] = args ? args.collaborationIdentifier : undefined; resourceInputs["defaultResultConfiguration"] = args ? args.defaultResultConfiguration : undefined; + resourceInputs["paymentConfiguration"] = args ? args.paymentConfiguration : undefined; resourceInputs["queryLogStatus"] = args ? args.queryLogStatus : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -81,6 +83,7 @@ export class Membership extends pulumi.CustomResource { resourceInputs["collaborationIdentifier"] = undefined /*out*/; resourceInputs["defaultResultConfiguration"] = undefined /*out*/; resourceInputs["membershipIdentifier"] = undefined /*out*/; + resourceInputs["paymentConfiguration"] = undefined /*out*/; resourceInputs["queryLogStatus"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } @@ -97,6 +100,7 @@ export class Membership extends pulumi.CustomResource { export interface MembershipArgs { collaborationIdentifier: pulumi.Input; defaultResultConfiguration?: pulumi.Input; + paymentConfiguration?: pulumi.Input; queryLogStatus: pulumi.Input; /** * An arbitrary set of tags (key-value pairs) for this cleanrooms membership. diff --git a/sdk/nodejs/cloud9/environmentEc2.ts b/sdk/nodejs/cloud9/environmentEc2.ts index 0e4fcdd458..2d38b5aea6 100644 --- a/sdk/nodejs/cloud9/environmentEc2.ts +++ b/sdk/nodejs/cloud9/environmentEc2.ts @@ -44,7 +44,7 @@ export class EnvironmentEc2 extends pulumi.CustomResource { public readonly automaticStopTimeMinutes!: pulumi.Output; public readonly connectionType!: pulumi.Output; public readonly description!: pulumi.Output; - public readonly imageId!: pulumi.Output; + public readonly imageId!: pulumi.Output; public readonly instanceType!: pulumi.Output; public readonly name!: pulumi.Output; public readonly ownerArn!: pulumi.Output; @@ -65,6 +65,9 @@ export class EnvironmentEc2 extends pulumi.CustomResource { let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { + if ((!args || args.imageId === undefined) && !opts.urn) { + throw new Error("Missing required property 'imageId'"); + } if ((!args || args.instanceType === undefined) && !opts.urn) { throw new Error("Missing required property 'instanceType'"); } @@ -106,7 +109,7 @@ export interface EnvironmentEc2Args { automaticStopTimeMinutes?: pulumi.Input; connectionType?: pulumi.Input; description?: pulumi.Input; - imageId?: pulumi.Input; + imageId: pulumi.Input; instanceType: pulumi.Input; name?: pulumi.Input; ownerArn?: pulumi.Input; diff --git a/sdk/nodejs/cloudfront/getKeyValueStore.ts b/sdk/nodejs/cloudfront/getKeyValueStore.ts new file mode 100644 index 0000000000..f0fa6e2f9e --- /dev/null +++ b/sdk/nodejs/cloudfront/getKeyValueStore.ts @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::CloudFront::KeyValueStore + */ +export function getKeyValueStore(args: GetKeyValueStoreArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:cloudfront:getKeyValueStore", { + "name": args.name, + }, opts); +} + +export interface GetKeyValueStoreArgs { + name: string; +} + +export interface GetKeyValueStoreResult { + readonly arn?: string; + readonly comment?: string; + readonly id?: string; + readonly status?: string; +} +/** + * Resource Type definition for AWS::CloudFront::KeyValueStore + */ +export function getKeyValueStoreOutput(args: GetKeyValueStoreOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getKeyValueStore(a, opts)) +} + +export interface GetKeyValueStoreOutputArgs { + name: pulumi.Input; +} diff --git a/sdk/nodejs/cloudfront/index.ts b/sdk/nodejs/cloudfront/index.ts index 6ded774675..da2f589a1f 100644 --- a/sdk/nodejs/cloudfront/index.ts +++ b/sdk/nodejs/cloudfront/index.ts @@ -60,6 +60,11 @@ export const getKeyGroup: typeof import("./getKeyGroup").getKeyGroup = null as a export const getKeyGroupOutput: typeof import("./getKeyGroup").getKeyGroupOutput = null as any; utilities.lazyLoad(exports, ["getKeyGroup","getKeyGroupOutput"], () => require("./getKeyGroup")); +export { GetKeyValueStoreArgs, GetKeyValueStoreResult, GetKeyValueStoreOutputArgs } from "./getKeyValueStore"; +export const getKeyValueStore: typeof import("./getKeyValueStore").getKeyValueStore = null as any; +export const getKeyValueStoreOutput: typeof import("./getKeyValueStore").getKeyValueStoreOutput = null as any; +utilities.lazyLoad(exports, ["getKeyValueStore","getKeyValueStoreOutput"], () => require("./getKeyValueStore")); + export { GetMonitoringSubscriptionArgs, GetMonitoringSubscriptionResult, GetMonitoringSubscriptionOutputArgs } from "./getMonitoringSubscription"; export const getMonitoringSubscription: typeof import("./getMonitoringSubscription").getMonitoringSubscription = null as any; export const getMonitoringSubscriptionOutput: typeof import("./getMonitoringSubscription").getMonitoringSubscriptionOutput = null as any; @@ -100,6 +105,11 @@ export type KeyGroup = import("./keyGroup").KeyGroup; export const KeyGroup: typeof import("./keyGroup").KeyGroup = null as any; utilities.lazyLoad(exports, ["KeyGroup"], () => require("./keyGroup")); +export { KeyValueStoreArgs } from "./keyValueStore"; +export type KeyValueStore = import("./keyValueStore").KeyValueStore; +export const KeyValueStore: typeof import("./keyValueStore").KeyValueStore = null as any; +utilities.lazyLoad(exports, ["KeyValueStore"], () => require("./keyValueStore")); + export { MonitoringSubscriptionArgs } from "./monitoringSubscription"; export type MonitoringSubscription = import("./monitoringSubscription").MonitoringSubscription; export const MonitoringSubscription: typeof import("./monitoringSubscription").MonitoringSubscription = null as any; @@ -155,6 +165,8 @@ const _module = { return new Function(name, undefined, { urn }) case "aws-native:cloudfront:KeyGroup": return new KeyGroup(name, undefined, { urn }) + case "aws-native:cloudfront:KeyValueStore": + return new KeyValueStore(name, undefined, { urn }) case "aws-native:cloudfront:MonitoringSubscription": return new MonitoringSubscription(name, undefined, { urn }) case "aws-native:cloudfront:OriginAccessControl": diff --git a/sdk/nodejs/cloudfront/keyValueStore.ts b/sdk/nodejs/cloudfront/keyValueStore.ts new file mode 100644 index 0000000000..9cbaf43b85 --- /dev/null +++ b/sdk/nodejs/cloudfront/keyValueStore.ts @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource Type definition for AWS::CloudFront::KeyValueStore + * + * @deprecated KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. + */ +export class KeyValueStore extends pulumi.CustomResource { + /** + * Get an existing KeyValueStore resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): KeyValueStore { + pulumi.log.warn("KeyValueStore is deprecated: KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") + return new KeyValueStore(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:cloudfront:KeyValueStore'; + + /** + * Returns true if the given object is an instance of KeyValueStore. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is KeyValueStore { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === KeyValueStore.__pulumiType; + } + + public /*out*/ readonly arn!: pulumi.Output; + public readonly comment!: pulumi.Output; + public readonly importSource!: pulumi.Output; + public readonly name!: pulumi.Output; + public /*out*/ readonly status!: pulumi.Output; + + /** + * Create a KeyValueStore resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + /** @deprecated KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ + constructor(name: string, args?: KeyValueStoreArgs, opts?: pulumi.CustomResourceOptions) { + pulumi.log.warn("KeyValueStore is deprecated: KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["comment"] = args ? args.comment : undefined; + resourceInputs["importSource"] = args ? args.importSource : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["comment"] = undefined /*out*/; + resourceInputs["importSource"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["name"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(KeyValueStore.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a KeyValueStore resource. + */ +export interface KeyValueStoreArgs { + comment?: pulumi.Input; + importSource?: pulumi.Input; + name?: pulumi.Input; +} diff --git a/sdk/nodejs/cloudtrail/eventDataStore.ts b/sdk/nodejs/cloudtrail/eventDataStore.ts index c9087b2c05..2347e327fc 100644 --- a/sdk/nodejs/cloudtrail/eventDataStore.ts +++ b/sdk/nodejs/cloudtrail/eventDataStore.ts @@ -53,6 +53,14 @@ export class EventDataStore extends pulumi.CustomResource { * The ARN of the event data store. */ public /*out*/ readonly eventDataStoreArn!: pulumi.Output; + /** + * Indicates whether federation is enabled on an event data store. + */ + public readonly federationEnabled!: pulumi.Output; + /** + * The ARN of the role used for event data store federation. + */ + public readonly federationRoleArn!: pulumi.Output; /** * Indicates whether the event data store is ingesting events. */ @@ -112,6 +120,8 @@ export class EventDataStore extends pulumi.CustomResource { if (!opts.id) { resourceInputs["advancedEventSelectors"] = args ? args.advancedEventSelectors : undefined; resourceInputs["billingMode"] = args ? args.billingMode : undefined; + resourceInputs["federationEnabled"] = args ? args.federationEnabled : undefined; + resourceInputs["federationRoleArn"] = args ? args.federationRoleArn : undefined; resourceInputs["ingestionEnabled"] = args ? args.ingestionEnabled : undefined; resourceInputs["insightSelectors"] = args ? args.insightSelectors : undefined; resourceInputs["insightsDestination"] = args ? args.insightsDestination : undefined; @@ -131,6 +141,8 @@ export class EventDataStore extends pulumi.CustomResource { resourceInputs["billingMode"] = undefined /*out*/; resourceInputs["createdTimestamp"] = undefined /*out*/; resourceInputs["eventDataStoreArn"] = undefined /*out*/; + resourceInputs["federationEnabled"] = undefined /*out*/; + resourceInputs["federationRoleArn"] = undefined /*out*/; resourceInputs["ingestionEnabled"] = undefined /*out*/; resourceInputs["insightSelectors"] = undefined /*out*/; resourceInputs["insightsDestination"] = undefined /*out*/; @@ -161,6 +173,14 @@ export interface EventDataStoreArgs { * The mode that the event data store will use to charge for event storage. */ billingMode?: pulumi.Input; + /** + * Indicates whether federation is enabled on an event data store. + */ + federationEnabled?: pulumi.Input; + /** + * The ARN of the role used for event data store federation. + */ + federationRoleArn?: pulumi.Input; /** * Indicates whether the event data store is ingesting events. */ diff --git a/sdk/nodejs/cloudtrail/getEventDataStore.ts b/sdk/nodejs/cloudtrail/getEventDataStore.ts index 59a6030541..66816b2c49 100644 --- a/sdk/nodejs/cloudtrail/getEventDataStore.ts +++ b/sdk/nodejs/cloudtrail/getEventDataStore.ts @@ -42,6 +42,14 @@ export interface GetEventDataStoreResult { * The ARN of the event data store. */ readonly eventDataStoreArn?: string; + /** + * Indicates whether federation is enabled on an event data store. + */ + readonly federationEnabled?: boolean; + /** + * The ARN of the role used for event data store federation. + */ + readonly federationRoleArn?: string; /** * Indicates whether the event data store is ingesting events. */ diff --git a/sdk/nodejs/codedeploy/deploymentConfig.ts b/sdk/nodejs/codedeploy/deploymentConfig.ts index 45e31662ca..3407a923b0 100644 --- a/sdk/nodejs/codedeploy/deploymentConfig.ts +++ b/sdk/nodejs/codedeploy/deploymentConfig.ts @@ -53,6 +53,10 @@ export class DeploymentConfig extends pulumi.CustomResource { * The configuration that specifies how the deployment traffic is routed. */ public readonly trafficRoutingConfig!: pulumi.Output; + /** + * The zonal deployment config that specifies how the zonal deployment behaves + */ + public readonly zonalConfig!: pulumi.Output; /** * Create a DeploymentConfig resource with the given unique name, arguments, and options. @@ -69,14 +73,16 @@ export class DeploymentConfig extends pulumi.CustomResource { resourceInputs["deploymentConfigName"] = args ? args.deploymentConfigName : undefined; resourceInputs["minimumHealthyHosts"] = args ? args.minimumHealthyHosts : undefined; resourceInputs["trafficRoutingConfig"] = args ? args.trafficRoutingConfig : undefined; + resourceInputs["zonalConfig"] = args ? args.zonalConfig : undefined; } else { resourceInputs["computePlatform"] = undefined /*out*/; resourceInputs["deploymentConfigName"] = undefined /*out*/; resourceInputs["minimumHealthyHosts"] = undefined /*out*/; resourceInputs["trafficRoutingConfig"] = undefined /*out*/; + resourceInputs["zonalConfig"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["computePlatform", "deploymentConfigName", "minimumHealthyHosts", "trafficRoutingConfig"] }; + const replaceOnChanges = { replaceOnChanges: ["computePlatform", "deploymentConfigName", "minimumHealthyHosts", "trafficRoutingConfig", "zonalConfig"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(DeploymentConfig.__pulumiType, name, resourceInputs, opts); } @@ -102,4 +108,8 @@ export interface DeploymentConfigArgs { * The configuration that specifies how the deployment traffic is routed. */ trafficRoutingConfig?: pulumi.Input; + /** + * The zonal deployment config that specifies how the zonal deployment behaves + */ + zonalConfig?: pulumi.Input; } diff --git a/sdk/nodejs/codepipeline/getPipeline.ts b/sdk/nodejs/codepipeline/getPipeline.ts index e6cdb2b535..7d113f39b3 100644 --- a/sdk/nodejs/codepipeline/getPipeline.ts +++ b/sdk/nodejs/codepipeline/getPipeline.ts @@ -27,10 +27,13 @@ export interface GetPipelineResult { readonly artifactStores?: outputs.codepipeline.PipelineArtifactStoreMap[]; readonly disableInboundStageTransitions?: outputs.codepipeline.PipelineStageTransition[]; readonly id?: string; + readonly pipelineType?: string; readonly restartExecutionOnUpdate?: boolean; readonly roleArn?: string; readonly stages?: outputs.codepipeline.PipelineStageDeclaration[]; readonly tags?: outputs.codepipeline.PipelineTag[]; + readonly triggers?: outputs.codepipeline.PipelineTriggerDeclaration[]; + readonly variables?: outputs.codepipeline.PipelineVariableDeclaration[]; readonly version?: string; } /** diff --git a/sdk/nodejs/codepipeline/pipeline.ts b/sdk/nodejs/codepipeline/pipeline.ts index 67039fe0e0..e9390f9302 100644 --- a/sdk/nodejs/codepipeline/pipeline.ts +++ b/sdk/nodejs/codepipeline/pipeline.ts @@ -44,10 +44,13 @@ export class Pipeline extends pulumi.CustomResource { public readonly artifactStores!: pulumi.Output; public readonly disableInboundStageTransitions!: pulumi.Output; public readonly name!: pulumi.Output; + public readonly pipelineType!: pulumi.Output; public readonly restartExecutionOnUpdate!: pulumi.Output; public readonly roleArn!: pulumi.Output; public readonly stages!: pulumi.Output; public readonly tags!: pulumi.Output; + public readonly triggers!: pulumi.Output; + public readonly variables!: pulumi.Output; public /*out*/ readonly version!: pulumi.Output; /** @@ -73,20 +76,26 @@ export class Pipeline extends pulumi.CustomResource { resourceInputs["artifactStores"] = args ? args.artifactStores : undefined; resourceInputs["disableInboundStageTransitions"] = args ? args.disableInboundStageTransitions : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["pipelineType"] = args ? args.pipelineType : undefined; resourceInputs["restartExecutionOnUpdate"] = args ? args.restartExecutionOnUpdate : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; resourceInputs["stages"] = args ? args.stages : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["triggers"] = args ? args.triggers : undefined; + resourceInputs["variables"] = args ? args.variables : undefined; resourceInputs["version"] = undefined /*out*/; } else { resourceInputs["artifactStore"] = undefined /*out*/; resourceInputs["artifactStores"] = undefined /*out*/; resourceInputs["disableInboundStageTransitions"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; + resourceInputs["pipelineType"] = undefined /*out*/; resourceInputs["restartExecutionOnUpdate"] = undefined /*out*/; resourceInputs["roleArn"] = undefined /*out*/; resourceInputs["stages"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; + resourceInputs["triggers"] = undefined /*out*/; + resourceInputs["variables"] = undefined /*out*/; resourceInputs["version"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -104,8 +113,11 @@ export interface PipelineArgs { artifactStores?: pulumi.Input[]>; disableInboundStageTransitions?: pulumi.Input[]>; name?: pulumi.Input; + pipelineType?: pulumi.Input; restartExecutionOnUpdate?: pulumi.Input; roleArn: pulumi.Input; stages: pulumi.Input[]>; tags?: pulumi.Input[]>; + triggers?: pulumi.Input[]>; + variables?: pulumi.Input[]>; } diff --git a/sdk/nodejs/configuration/configurationRecorder.ts b/sdk/nodejs/configuration/configurationRecorder.ts index 7788e5aa6f..cf967bc149 100644 --- a/sdk/nodejs/configuration/configurationRecorder.ts +++ b/sdk/nodejs/configuration/configurationRecorder.ts @@ -42,6 +42,7 @@ export class ConfigurationRecorder extends pulumi.CustomResource { public readonly name!: pulumi.Output; public readonly recordingGroup!: pulumi.Output; + public readonly recordingMode!: pulumi.Output; public readonly roleArn!: pulumi.Output; /** @@ -62,10 +63,12 @@ export class ConfigurationRecorder extends pulumi.CustomResource { } resourceInputs["name"] = args ? args.name : undefined; resourceInputs["recordingGroup"] = args ? args.recordingGroup : undefined; + resourceInputs["recordingMode"] = args ? args.recordingMode : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; } else { resourceInputs["name"] = undefined /*out*/; resourceInputs["recordingGroup"] = undefined /*out*/; + resourceInputs["recordingMode"] = undefined /*out*/; resourceInputs["roleArn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -81,5 +84,6 @@ export class ConfigurationRecorder extends pulumi.CustomResource { export interface ConfigurationRecorderArgs { name?: pulumi.Input; recordingGroup?: pulumi.Input; + recordingMode?: pulumi.Input; roleArn: pulumi.Input; } diff --git a/sdk/nodejs/configuration/getConfigurationRecorder.ts b/sdk/nodejs/configuration/getConfigurationRecorder.ts index e79cfc8a2f..72c9528fa3 100644 --- a/sdk/nodejs/configuration/getConfigurationRecorder.ts +++ b/sdk/nodejs/configuration/getConfigurationRecorder.ts @@ -25,6 +25,7 @@ export interface GetConfigurationRecorderArgs { export interface GetConfigurationRecorderResult { readonly id?: string; readonly recordingGroup?: outputs.configuration.ConfigurationRecorderRecordingGroup; + readonly recordingMode?: outputs.configuration.ConfigurationRecorderRecordingMode; readonly roleArn?: string; } /** diff --git a/sdk/nodejs/connect/getInstance.ts b/sdk/nodejs/connect/getInstance.ts index 237f97de72..324f20befd 100644 --- a/sdk/nodejs/connect/getInstance.ts +++ b/sdk/nodejs/connect/getInstance.ts @@ -50,6 +50,10 @@ export interface GetInstanceResult { * Service linked role created as part of instance creation. */ readonly serviceRole?: string; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.connect.InstanceTag[]; } /** * Resource Type definition for AWS::Connect::Instance diff --git a/sdk/nodejs/connect/instance.ts b/sdk/nodejs/connect/instance.ts index fdafa97b46..a0f461fe77 100644 --- a/sdk/nodejs/connect/instance.ts +++ b/sdk/nodejs/connect/instance.ts @@ -69,6 +69,10 @@ export class Instance extends pulumi.CustomResource { * Service linked role created as part of instance creation. */ public /*out*/ readonly serviceRole!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; /** * Create a Instance resource with the given unique name, arguments, and options. @@ -91,6 +95,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["directoryId"] = args ? args.directoryId : undefined; resourceInputs["identityManagementType"] = args ? args.identityManagementType : undefined; resourceInputs["instanceAlias"] = args ? args.instanceAlias : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; resourceInputs["instanceStatus"] = undefined /*out*/; @@ -104,6 +109,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["instanceAlias"] = undefined /*out*/; resourceInputs["instanceStatus"] = undefined /*out*/; resourceInputs["serviceRole"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const replaceOnChanges = { replaceOnChanges: ["directoryId", "identityManagementType", "instanceAlias"] }; @@ -132,4 +138,8 @@ export interface InstanceArgs { * Alias of the new directory created as part of new instance creation. */ instanceAlias?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/dms/dataProvider.ts b/sdk/nodejs/dms/dataProvider.ts new file mode 100644 index 0000000000..aaa07c1f19 --- /dev/null +++ b/sdk/nodejs/dms/dataProvider.ts @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::DataProvider + */ +export class DataProvider extends pulumi.CustomResource { + /** + * Get an existing DataProvider resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): DataProvider { + return new DataProvider(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:dms:DataProvider'; + + /** + * Returns true if the given object is an instance of DataProvider. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DataProvider { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DataProvider.__pulumiType; + } + + /** + * The data provider ARN. + */ + public /*out*/ readonly dataProviderArn!: pulumi.Output; + /** + * The data provider creation time. + */ + public /*out*/ readonly dataProviderCreationTime!: pulumi.Output; + /** + * The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + */ + public readonly dataProviderIdentifier!: pulumi.Output; + /** + * The property describes a name to identify the data provider. + */ + public readonly dataProviderName!: pulumi.Output; + /** + * The optional description of the data provider. + */ + public readonly description!: pulumi.Output; + /** + * The property describes a data engine for the data provider. + */ + public readonly engine!: pulumi.Output; + /** + * The property describes the exact settings which can be modified + */ + public readonly exactSettings!: pulumi.Output; + /** + * The property identifies the exact type of settings for the data provider. + */ + public readonly settings!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + + /** + * Create a DataProvider resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DataProviderArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.engine === undefined) && !opts.urn) { + throw new Error("Missing required property 'engine'"); + } + resourceInputs["dataProviderIdentifier"] = args ? args.dataProviderIdentifier : undefined; + resourceInputs["dataProviderName"] = args ? args.dataProviderName : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["engine"] = args ? args.engine : undefined; + resourceInputs["exactSettings"] = args ? args.exactSettings : undefined; + resourceInputs["settings"] = args ? args.settings : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["dataProviderArn"] = undefined /*out*/; + resourceInputs["dataProviderCreationTime"] = undefined /*out*/; + } else { + resourceInputs["dataProviderArn"] = undefined /*out*/; + resourceInputs["dataProviderCreationTime"] = undefined /*out*/; + resourceInputs["dataProviderIdentifier"] = undefined /*out*/; + resourceInputs["dataProviderName"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["engine"] = undefined /*out*/; + resourceInputs["exactSettings"] = undefined /*out*/; + resourceInputs["settings"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DataProvider.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a DataProvider resource. + */ +export interface DataProviderArgs { + /** + * The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + */ + dataProviderIdentifier?: pulumi.Input; + /** + * The property describes a name to identify the data provider. + */ + dataProviderName?: pulumi.Input; + /** + * The optional description of the data provider. + */ + description?: pulumi.Input; + /** + * The property describes a data engine for the data provider. + */ + engine: pulumi.Input; + /** + * The property describes the exact settings which can be modified + */ + exactSettings?: pulumi.Input; + /** + * The property identifies the exact type of settings for the data provider. + */ + settings?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/dms/getDataProvider.ts b/sdk/nodejs/dms/getDataProvider.ts new file mode 100644 index 0000000000..a4536507ce --- /dev/null +++ b/sdk/nodejs/dms/getDataProvider.ts @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::DataProvider + */ +export function getDataProvider(args: GetDataProviderArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:dms:getDataProvider", { + "dataProviderArn": args.dataProviderArn, + }, opts); +} + +export interface GetDataProviderArgs { + /** + * The data provider ARN. + */ + dataProviderArn: string; +} + +export interface GetDataProviderResult { + /** + * The data provider ARN. + */ + readonly dataProviderArn?: string; + /** + * The data provider creation time. + */ + readonly dataProviderCreationTime?: string; + /** + * The property describes a name to identify the data provider. + */ + readonly dataProviderName?: string; + /** + * The optional description of the data provider. + */ + readonly description?: string; + /** + * The property describes a data engine for the data provider. + */ + readonly engine?: enums.dms.DataProviderEngine; + /** + * The property identifies the exact type of settings for the data provider. + */ + readonly settings?: outputs.dms.Settings0Properties | outputs.dms.Settings1Properties | outputs.dms.Settings2Properties | outputs.dms.Settings3Properties; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.dms.DataProviderTag[]; +} +/** + * Resource schema for AWS::DMS::DataProvider + */ +export function getDataProviderOutput(args: GetDataProviderOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getDataProvider(a, opts)) +} + +export interface GetDataProviderOutputArgs { + /** + * The data provider ARN. + */ + dataProviderArn: pulumi.Input; +} diff --git a/sdk/nodejs/dms/getInstanceProfile.ts b/sdk/nodejs/dms/getInstanceProfile.ts new file mode 100644 index 0000000000..851ed8848c --- /dev/null +++ b/sdk/nodejs/dms/getInstanceProfile.ts @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::InstanceProfile. + */ +export function getInstanceProfile(args: GetInstanceProfileArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:dms:getInstanceProfile", { + "instanceProfileArn": args.instanceProfileArn, + }, opts); +} + +export interface GetInstanceProfileArgs { + /** + * The property describes an ARN of the instance profile. + */ + instanceProfileArn: string; +} + +export interface GetInstanceProfileResult { + /** + * The property describes an availability zone of the instance profile. + */ + readonly availabilityZone?: string; + /** + * The optional description of the instance profile. + */ + readonly description?: string; + /** + * The property describes an ARN of the instance profile. + */ + readonly instanceProfileArn?: string; + /** + * The property describes a creating time of the instance profile. + */ + readonly instanceProfileCreationTime?: string; + /** + * The property describes a name for the instance profile. + */ + readonly instanceProfileName?: string; + /** + * The property describes kms key arn for the instance profile. + */ + readonly kmsKeyArn?: string; + /** + * The property describes a network type for the instance profile. + */ + readonly networkType?: enums.dms.InstanceProfileNetworkType; + /** + * The property describes the publicly accessible of the instance profile + */ + readonly publiclyAccessible?: boolean; + /** + * The property describes a subnet group identifier for the instance profile. + */ + readonly subnetGroupIdentifier?: string; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.dms.InstanceProfileTag[]; + /** + * The property describes vps security groups for the instance profile. + */ + readonly vpcSecurityGroups?: string[]; +} +/** + * Resource schema for AWS::DMS::InstanceProfile. + */ +export function getInstanceProfileOutput(args: GetInstanceProfileOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getInstanceProfile(a, opts)) +} + +export interface GetInstanceProfileOutputArgs { + /** + * The property describes an ARN of the instance profile. + */ + instanceProfileArn: pulumi.Input; +} diff --git a/sdk/nodejs/dms/getMigrationProject.ts b/sdk/nodejs/dms/getMigrationProject.ts new file mode 100644 index 0000000000..bfb0f690f7 --- /dev/null +++ b/sdk/nodejs/dms/getMigrationProject.ts @@ -0,0 +1,86 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::MigrationProject + */ +export function getMigrationProject(args: GetMigrationProjectArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:dms:getMigrationProject", { + "migrationProjectArn": args.migrationProjectArn, + }, opts); +} + +export interface GetMigrationProjectArgs { + /** + * The property describes an ARN of the migration project. + */ + migrationProjectArn: string; +} + +export interface GetMigrationProjectResult { + /** + * The optional description of the migration project. + */ + readonly description?: string; + /** + * The property describes an instance profile arn for the migration project. For read + */ + readonly instanceProfileArn?: string; + /** + * The property describes an instance profile name for the migration project. For read + */ + readonly instanceProfileName?: string; + /** + * The property describes an ARN of the migration project. + */ + readonly migrationProjectArn?: string; + /** + * The property describes a creating time of the migration project. + */ + readonly migrationProjectCreationTime?: string; + /** + * The property describes a name to identify the migration project. + */ + readonly migrationProjectName?: string; + /** + * The property describes schema conversion application attributes for the migration project. + */ + readonly schemaConversionApplicationAttributes?: outputs.dms.SchemaConversionApplicationAttributesProperties; + /** + * The property describes source data provider descriptors for the migration project. + */ + readonly sourceDataProviderDescriptors?: outputs.dms.MigrationProjectDataProviderDescriptor[]; + /** + * An array of key-value pairs to apply to this resource. + */ + readonly tags?: outputs.dms.MigrationProjectTag[]; + /** + * The property describes target data provider descriptors for the migration project. + */ + readonly targetDataProviderDescriptors?: outputs.dms.MigrationProjectDataProviderDescriptor[]; + /** + * The property describes transformation rules for the migration project. + */ + readonly transformationRules?: string; +} +/** + * Resource schema for AWS::DMS::MigrationProject + */ +export function getMigrationProjectOutput(args: GetMigrationProjectOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getMigrationProject(a, opts)) +} + +export interface GetMigrationProjectOutputArgs { + /** + * The property describes an ARN of the migration project. + */ + migrationProjectArn: pulumi.Input; +} diff --git a/sdk/nodejs/dms/getReplicationConfig.ts b/sdk/nodejs/dms/getReplicationConfig.ts index a0a01d680f..3118aad8ac 100644 --- a/sdk/nodejs/dms/getReplicationConfig.ts +++ b/sdk/nodejs/dms/getReplicationConfig.ts @@ -43,10 +43,6 @@ export interface GetReplicationConfigResult { * The type of AWS DMS Serverless replication to provision using this replication configuration */ readonly replicationType?: enums.dms.ReplicationConfigReplicationType; - /** - * 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 - */ - readonly resourceIdentifier?: string; /** * The Amazon Resource Name (ARN) of the source endpoint for this AWS DMS Serverless replication configuration */ diff --git a/sdk/nodejs/dms/index.ts b/sdk/nodejs/dms/index.ts index 1d25584227..8944ee68d0 100644 --- a/sdk/nodejs/dms/index.ts +++ b/sdk/nodejs/dms/index.ts @@ -10,6 +10,11 @@ export type Certificate = import("./certificate").Certificate; export const Certificate: typeof import("./certificate").Certificate = null as any; utilities.lazyLoad(exports, ["Certificate"], () => require("./certificate")); +export { DataProviderArgs } from "./dataProvider"; +export type DataProvider = import("./dataProvider").DataProvider; +export const DataProvider: typeof import("./dataProvider").DataProvider = null as any; +utilities.lazyLoad(exports, ["DataProvider"], () => require("./dataProvider")); + export { EndpointArgs } from "./endpoint"; export type Endpoint = import("./endpoint").Endpoint; export const Endpoint: typeof import("./endpoint").Endpoint = null as any; @@ -25,6 +30,11 @@ export const getCertificate: typeof import("./getCertificate").getCertificate = export const getCertificateOutput: typeof import("./getCertificate").getCertificateOutput = null as any; utilities.lazyLoad(exports, ["getCertificate","getCertificateOutput"], () => require("./getCertificate")); +export { GetDataProviderArgs, GetDataProviderResult, GetDataProviderOutputArgs } from "./getDataProvider"; +export const getDataProvider: typeof import("./getDataProvider").getDataProvider = null as any; +export const getDataProviderOutput: typeof import("./getDataProvider").getDataProviderOutput = null as any; +utilities.lazyLoad(exports, ["getDataProvider","getDataProviderOutput"], () => require("./getDataProvider")); + export { GetEndpointArgs, GetEndpointResult, GetEndpointOutputArgs } from "./getEndpoint"; export const getEndpoint: typeof import("./getEndpoint").getEndpoint = null as any; export const getEndpointOutput: typeof import("./getEndpoint").getEndpointOutput = null as any; @@ -35,6 +45,16 @@ export const getEventSubscription: typeof import("./getEventSubscription").getEv export const getEventSubscriptionOutput: typeof import("./getEventSubscription").getEventSubscriptionOutput = null as any; utilities.lazyLoad(exports, ["getEventSubscription","getEventSubscriptionOutput"], () => require("./getEventSubscription")); +export { GetInstanceProfileArgs, GetInstanceProfileResult, GetInstanceProfileOutputArgs } from "./getInstanceProfile"; +export const getInstanceProfile: typeof import("./getInstanceProfile").getInstanceProfile = null as any; +export const getInstanceProfileOutput: typeof import("./getInstanceProfile").getInstanceProfileOutput = null as any; +utilities.lazyLoad(exports, ["getInstanceProfile","getInstanceProfileOutput"], () => require("./getInstanceProfile")); + +export { GetMigrationProjectArgs, GetMigrationProjectResult, GetMigrationProjectOutputArgs } from "./getMigrationProject"; +export const getMigrationProject: typeof import("./getMigrationProject").getMigrationProject = null as any; +export const getMigrationProjectOutput: typeof import("./getMigrationProject").getMigrationProjectOutput = null as any; +utilities.lazyLoad(exports, ["getMigrationProject","getMigrationProjectOutput"], () => require("./getMigrationProject")); + export { GetReplicationConfigArgs, GetReplicationConfigResult, GetReplicationConfigOutputArgs } from "./getReplicationConfig"; export const getReplicationConfig: typeof import("./getReplicationConfig").getReplicationConfig = null as any; export const getReplicationConfigOutput: typeof import("./getReplicationConfig").getReplicationConfigOutput = null as any; @@ -55,6 +75,16 @@ export const getReplicationTask: typeof import("./getReplicationTask").getReplic export const getReplicationTaskOutput: typeof import("./getReplicationTask").getReplicationTaskOutput = null as any; utilities.lazyLoad(exports, ["getReplicationTask","getReplicationTaskOutput"], () => require("./getReplicationTask")); +export { InstanceProfileArgs } from "./instanceProfile"; +export type InstanceProfile = import("./instanceProfile").InstanceProfile; +export const InstanceProfile: typeof import("./instanceProfile").InstanceProfile = null as any; +utilities.lazyLoad(exports, ["InstanceProfile"], () => require("./instanceProfile")); + +export { MigrationProjectArgs } from "./migrationProject"; +export type MigrationProject = import("./migrationProject").MigrationProject; +export const MigrationProject: typeof import("./migrationProject").MigrationProject = null as any; +utilities.lazyLoad(exports, ["MigrationProject"], () => require("./migrationProject")); + export { ReplicationConfigArgs } from "./replicationConfig"; export type ReplicationConfig = import("./replicationConfig").ReplicationConfig; export const ReplicationConfig: typeof import("./replicationConfig").ReplicationConfig = null as any; @@ -85,10 +115,16 @@ const _module = { switch (type) { case "aws-native:dms:Certificate": return new Certificate(name, undefined, { urn }) + case "aws-native:dms:DataProvider": + return new DataProvider(name, undefined, { urn }) case "aws-native:dms:Endpoint": return new Endpoint(name, undefined, { urn }) case "aws-native:dms:EventSubscription": return new EventSubscription(name, undefined, { urn }) + case "aws-native:dms:InstanceProfile": + return new InstanceProfile(name, undefined, { urn }) + case "aws-native:dms:MigrationProject": + return new MigrationProject(name, undefined, { urn }) case "aws-native:dms:ReplicationConfig": return new ReplicationConfig(name, undefined, { urn }) case "aws-native:dms:ReplicationInstance": diff --git a/sdk/nodejs/dms/instanceProfile.ts b/sdk/nodejs/dms/instanceProfile.ts new file mode 100644 index 0000000000..692a7b69ac --- /dev/null +++ b/sdk/nodejs/dms/instanceProfile.ts @@ -0,0 +1,175 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::InstanceProfile. + */ +export class InstanceProfile extends pulumi.CustomResource { + /** + * Get an existing InstanceProfile resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): InstanceProfile { + return new InstanceProfile(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:dms:InstanceProfile'; + + /** + * Returns true if the given object is an instance of InstanceProfile. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is InstanceProfile { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === InstanceProfile.__pulumiType; + } + + /** + * The property describes an availability zone of the instance profile. + */ + public readonly availabilityZone!: pulumi.Output; + /** + * The optional description of the instance profile. + */ + public readonly description!: pulumi.Output; + /** + * The property describes an ARN of the instance profile. + */ + public /*out*/ readonly instanceProfileArn!: pulumi.Output; + /** + * The property describes a creating time of the instance profile. + */ + public /*out*/ readonly instanceProfileCreationTime!: pulumi.Output; + /** + * The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + */ + public readonly instanceProfileIdentifier!: pulumi.Output; + /** + * The property describes a name for the instance profile. + */ + public readonly instanceProfileName!: pulumi.Output; + /** + * The property describes kms key arn for the instance profile. + */ + public readonly kmsKeyArn!: pulumi.Output; + /** + * The property describes a network type for the instance profile. + */ + public readonly networkType!: pulumi.Output; + /** + * The property describes the publicly accessible of the instance profile + */ + public readonly publiclyAccessible!: pulumi.Output; + /** + * The property describes a subnet group identifier for the instance profile. + */ + public readonly subnetGroupIdentifier!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + /** + * The property describes vps security groups for the instance profile. + */ + public readonly vpcSecurityGroups!: pulumi.Output; + + /** + * Create a InstanceProfile resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: InstanceProfileArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["availabilityZone"] = args ? args.availabilityZone : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["instanceProfileIdentifier"] = args ? args.instanceProfileIdentifier : undefined; + resourceInputs["instanceProfileName"] = args ? args.instanceProfileName : undefined; + resourceInputs["kmsKeyArn"] = args ? args.kmsKeyArn : undefined; + resourceInputs["networkType"] = args ? args.networkType : undefined; + resourceInputs["publiclyAccessible"] = args ? args.publiclyAccessible : undefined; + resourceInputs["subnetGroupIdentifier"] = args ? args.subnetGroupIdentifier : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["vpcSecurityGroups"] = args ? args.vpcSecurityGroups : undefined; + resourceInputs["instanceProfileArn"] = undefined /*out*/; + resourceInputs["instanceProfileCreationTime"] = undefined /*out*/; + } else { + resourceInputs["availabilityZone"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["instanceProfileArn"] = undefined /*out*/; + resourceInputs["instanceProfileCreationTime"] = undefined /*out*/; + resourceInputs["instanceProfileIdentifier"] = undefined /*out*/; + resourceInputs["instanceProfileName"] = undefined /*out*/; + resourceInputs["kmsKeyArn"] = undefined /*out*/; + resourceInputs["networkType"] = undefined /*out*/; + resourceInputs["publiclyAccessible"] = undefined /*out*/; + resourceInputs["subnetGroupIdentifier"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["vpcSecurityGroups"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(InstanceProfile.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a InstanceProfile resource. + */ +export interface InstanceProfileArgs { + /** + * The property describes an availability zone of the instance profile. + */ + availabilityZone?: pulumi.Input; + /** + * The optional description of the instance profile. + */ + description?: pulumi.Input; + /** + * The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + */ + instanceProfileIdentifier?: pulumi.Input; + /** + * The property describes a name for the instance profile. + */ + instanceProfileName?: pulumi.Input; + /** + * The property describes kms key arn for the instance profile. + */ + kmsKeyArn?: pulumi.Input; + /** + * The property describes a network type for the instance profile. + */ + networkType?: pulumi.Input; + /** + * The property describes the publicly accessible of the instance profile + */ + publiclyAccessible?: pulumi.Input; + /** + * The property describes a subnet group identifier for the instance profile. + */ + subnetGroupIdentifier?: pulumi.Input; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; + /** + * The property describes vps security groups for the instance profile. + */ + vpcSecurityGroups?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/dms/migrationProject.ts b/sdk/nodejs/dms/migrationProject.ts new file mode 100644 index 0000000000..483d4ce764 --- /dev/null +++ b/sdk/nodejs/dms/migrationProject.ts @@ -0,0 +1,189 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::DMS::MigrationProject + */ +export class MigrationProject extends pulumi.CustomResource { + /** + * Get an existing MigrationProject resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): MigrationProject { + return new MigrationProject(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:dms:MigrationProject'; + + /** + * Returns true if the given object is an instance of MigrationProject. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is MigrationProject { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === MigrationProject.__pulumiType; + } + + /** + * The optional description of the migration project. + */ + public readonly description!: pulumi.Output; + /** + * The property describes an instance profile arn for the migration project. For read + */ + public readonly instanceProfileArn!: pulumi.Output; + /** + * The property describes an instance profile identifier for the migration project. For create + */ + public readonly instanceProfileIdentifier!: pulumi.Output; + /** + * The property describes an instance profile name for the migration project. For read + */ + public readonly instanceProfileName!: pulumi.Output; + /** + * The property describes an ARN of the migration project. + */ + public /*out*/ readonly migrationProjectArn!: pulumi.Output; + /** + * The property describes a creating time of the migration project. + */ + public readonly migrationProjectCreationTime!: pulumi.Output; + /** + * The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + */ + public readonly migrationProjectIdentifier!: pulumi.Output; + /** + * The property describes a name to identify the migration project. + */ + public readonly migrationProjectName!: pulumi.Output; + /** + * The property describes schema conversion application attributes for the migration project. + */ + public readonly schemaConversionApplicationAttributes!: pulumi.Output; + /** + * The property describes source data provider descriptors for the migration project. + */ + public readonly sourceDataProviderDescriptors!: pulumi.Output; + /** + * An array of key-value pairs to apply to this resource. + */ + public readonly tags!: pulumi.Output; + /** + * The property describes target data provider descriptors for the migration project. + */ + public readonly targetDataProviderDescriptors!: pulumi.Output; + /** + * The property describes transformation rules for the migration project. + */ + public readonly transformationRules!: pulumi.Output; + + /** + * Create a MigrationProject resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: MigrationProjectArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["instanceProfileArn"] = args ? args.instanceProfileArn : undefined; + resourceInputs["instanceProfileIdentifier"] = args ? args.instanceProfileIdentifier : undefined; + resourceInputs["instanceProfileName"] = args ? args.instanceProfileName : undefined; + resourceInputs["migrationProjectCreationTime"] = args ? args.migrationProjectCreationTime : undefined; + resourceInputs["migrationProjectIdentifier"] = args ? args.migrationProjectIdentifier : undefined; + resourceInputs["migrationProjectName"] = args ? args.migrationProjectName : undefined; + resourceInputs["schemaConversionApplicationAttributes"] = args ? args.schemaConversionApplicationAttributes : undefined; + resourceInputs["sourceDataProviderDescriptors"] = args ? args.sourceDataProviderDescriptors : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["targetDataProviderDescriptors"] = args ? args.targetDataProviderDescriptors : undefined; + resourceInputs["transformationRules"] = args ? args.transformationRules : undefined; + resourceInputs["migrationProjectArn"] = undefined /*out*/; + } else { + resourceInputs["description"] = undefined /*out*/; + resourceInputs["instanceProfileArn"] = undefined /*out*/; + resourceInputs["instanceProfileIdentifier"] = undefined /*out*/; + resourceInputs["instanceProfileName"] = undefined /*out*/; + resourceInputs["migrationProjectArn"] = undefined /*out*/; + resourceInputs["migrationProjectCreationTime"] = undefined /*out*/; + resourceInputs["migrationProjectIdentifier"] = undefined /*out*/; + resourceInputs["migrationProjectName"] = undefined /*out*/; + resourceInputs["schemaConversionApplicationAttributes"] = undefined /*out*/; + resourceInputs["sourceDataProviderDescriptors"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + resourceInputs["targetDataProviderDescriptors"] = undefined /*out*/; + resourceInputs["transformationRules"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(MigrationProject.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a MigrationProject resource. + */ +export interface MigrationProjectArgs { + /** + * The optional description of the migration project. + */ + description?: pulumi.Input; + /** + * The property describes an instance profile arn for the migration project. For read + */ + instanceProfileArn?: pulumi.Input; + /** + * The property describes an instance profile identifier for the migration project. For create + */ + instanceProfileIdentifier?: pulumi.Input; + /** + * The property describes an instance profile name for the migration project. For read + */ + instanceProfileName?: pulumi.Input; + /** + * The property describes a creating time of the migration project. + */ + migrationProjectCreationTime?: pulumi.Input; + /** + * The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + */ + migrationProjectIdentifier?: pulumi.Input; + /** + * The property describes a name to identify the migration project. + */ + migrationProjectName?: pulumi.Input; + /** + * The property describes schema conversion application attributes for the migration project. + */ + schemaConversionApplicationAttributes?: pulumi.Input; + /** + * The property describes source data provider descriptors for the migration project. + */ + sourceDataProviderDescriptors?: pulumi.Input[]>; + /** + * An array of key-value pairs to apply to this resource. + */ + tags?: pulumi.Input[]>; + /** + * The property describes target data provider descriptors for the migration project. + */ + targetDataProviderDescriptors?: pulumi.Input[]>; + /** + * The property describes transformation rules for the migration project. + */ + transformationRules?: pulumi.Input; +} diff --git a/sdk/nodejs/dms/replicationConfig.ts b/sdk/nodejs/dms/replicationConfig.ts index 4c056f5700..63c415aaf0 100644 --- a/sdk/nodejs/dms/replicationConfig.ts +++ b/sdk/nodejs/dms/replicationConfig.ts @@ -115,6 +115,8 @@ export class ReplicationConfig extends pulumi.CustomResource { resourceInputs["targetEndpointArn"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["resourceIdentifier"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); super(ReplicationConfig.__pulumiType, name, resourceInputs, opts); } } diff --git a/sdk/nodejs/ec2/getInstance.ts b/sdk/nodejs/ec2/getInstance.ts index a07202d455..4754a7a7d6 100644 --- a/sdk/nodejs/ec2/getInstance.ts +++ b/sdk/nodejs/ec2/getInstance.ts @@ -14,42 +14,114 @@ export function getInstance(args: GetInstanceArgs, opts?: pulumi.InvokeOptions): opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:ec2:getInstance", { - "id": args.id, + "instanceId": args.instanceId, }, opts); } export interface GetInstanceArgs { - id: string; + /** + * The EC2 Instance ID. + */ + instanceId: string; } export interface GetInstanceResult { - readonly additionalInfo?: string; - readonly affinity?: string; + /** + * Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + */ + readonly affinity?: enums.ec2.InstanceAffinity; + /** + * The block device mapping entries that defines the block devices to attach to the instance at launch. + */ readonly blockDeviceMappings?: outputs.ec2.InstanceBlockDeviceMapping[]; - readonly creditSpecification?: outputs.ec2.InstanceCreditSpecification; + /** + * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + */ + readonly creditSpecification?: outputs.ec2.CreditSpecificationProperties; + /** + * If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + */ readonly disableApiTermination?: boolean; + /** + * Indicates whether the instance is optimized for Amazon EBS I/O. + */ readonly ebsOptimized?: boolean; + /** + * If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + */ readonly hostId?: string; + /** + * The IAM instance profile. + */ readonly iamInstanceProfile?: string; - readonly id?: string; + /** + * The EC2 Instance ID. + */ + readonly instanceId?: string; + /** + * Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + */ readonly instanceInitiatedShutdownBehavior?: string; + /** + * The instance type. + */ readonly instanceType?: string; + /** + * The ID of the kernel. + */ readonly kernelId?: string; + /** + * Specifies whether detailed monitoring is enabled for the instance. + */ readonly monitoring?: boolean; + /** + * The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + */ readonly privateDnsName?: string; + /** + * The options for the instance hostname. + */ readonly privateDnsNameOptions?: outputs.ec2.InstancePrivateDnsNameOptions; + /** + * The private IP address of the specified instance. For example: 10.24.34.0. + */ readonly privateIp?: string; - readonly propagateTagsToVolumeOnCreation?: boolean; + /** + * The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + */ readonly publicDnsName?: string; + /** + * The public IP address of the specified instance. For example: 192.0.2.0. + */ readonly publicIp?: string; + /** + * The ID of the RAM disk to select. + */ readonly ramdiskId?: string; + /** + * The IDs of the security groups. + */ readonly securityGroupIds?: string[]; + /** + * Specifies whether to enable an instance launched in a VPC to perform NAT. + */ readonly sourceDestCheck?: boolean; + /** + * The SSM document and parameter values in AWS Systems Manager to associate with this instance. + */ readonly ssmAssociations?: outputs.ec2.InstanceSsmAssociation[]; + /** + * The tags to add to the instance. + */ readonly tags?: outputs.ec2.InstanceTag[]; + /** + * The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + */ readonly tenancy?: string; + /** + * The user data to make available to the instance. + */ readonly userData?: string; - readonly volumes?: outputs.ec2.InstanceVolume[]; } /** * Resource Type definition for AWS::EC2::Instance @@ -59,5 +131,8 @@ export function getInstanceOutput(args: GetInstanceOutputArgs, opts?: pulumi.Inv } export interface GetInstanceOutputArgs { - id: pulumi.Input; + /** + * The EC2 Instance ID. + */ + instanceId: pulumi.Input; } diff --git a/sdk/nodejs/ec2/getSecurityGroupEgress.ts b/sdk/nodejs/ec2/getSecurityGroupEgress.ts index 7a116c2b0e..ce35b6c665 100644 --- a/sdk/nodejs/ec2/getSecurityGroupEgress.ts +++ b/sdk/nodejs/ec2/getSecurityGroupEgress.ts @@ -16,11 +16,20 @@ export function getSecurityGroupEgress(args: GetSecurityGroupEgressArgs, opts?: } export interface GetSecurityGroupEgressArgs { + /** + * The Security Group Rule Id + */ id: string; } export interface GetSecurityGroupEgressResult { + /** + * Resource Type definition for an egress (outbound) security group rule. + */ readonly description?: string; + /** + * The Security Group Rule Id + */ readonly id?: string; } /** @@ -31,5 +40,8 @@ export function getSecurityGroupEgressOutput(args: GetSecurityGroupEgressOutputA } export interface GetSecurityGroupEgressOutputArgs { + /** + * The Security Group Rule Id + */ id: pulumi.Input; } diff --git a/sdk/nodejs/ec2/instance.ts b/sdk/nodejs/ec2/instance.ts index 3a1b1e0ab6..38316386fc 100644 --- a/sdk/nodejs/ec2/instance.ts +++ b/sdk/nodejs/ec2/instance.ts @@ -9,8 +9,6 @@ import * as utilities from "../utilities"; /** * Resource Type definition for AWS::EC2::Instance - * - * @deprecated Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class Instance extends pulumi.CustomResource { /** @@ -22,7 +20,6 @@ export class Instance extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Instance { - pulumi.log.warn("Instance is deprecated: Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new Instance(name, undefined as any, { ...opts, id: id }); } @@ -40,49 +37,185 @@ export class Instance extends pulumi.CustomResource { return obj['__pulumiType'] === Instance.__pulumiType; } + /** + * This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + */ public readonly additionalInfo!: pulumi.Output; - public readonly affinity!: pulumi.Output; + /** + * Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + */ + public readonly affinity!: pulumi.Output; + /** + * The Availability Zone of the instance. + */ public readonly availabilityZone!: pulumi.Output; + /** + * The block device mapping entries that defines the block devices to attach to the instance at launch. + */ public readonly blockDeviceMappings!: pulumi.Output; - public readonly cpuOptions!: pulumi.Output; - public readonly creditSpecification!: pulumi.Output; + /** + * The CPU options for the instance. + */ + public readonly cpuOptions!: pulumi.Output; + /** + * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + */ + public readonly creditSpecification!: pulumi.Output; + /** + * If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + */ public readonly disableApiTermination!: pulumi.Output; + /** + * Indicates whether the instance is optimized for Amazon EBS I/O. + */ public readonly ebsOptimized!: pulumi.Output; + /** + * An elastic GPU to associate with the instance. + */ public readonly elasticGpuSpecifications!: pulumi.Output; + /** + * An elastic inference accelerator to associate with the instance. + */ public readonly elasticInferenceAccelerators!: pulumi.Output; - public readonly enclaveOptions!: pulumi.Output; - public readonly hibernationOptions!: pulumi.Output; + /** + * Indicates whether the instance is enabled for AWS Nitro Enclaves. + */ + public readonly enclaveOptions!: pulumi.Output; + /** + * Indicates whether an instance is enabled for hibernation. + */ + public readonly hibernationOptions!: pulumi.Output; + /** + * If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + */ public readonly hostId!: pulumi.Output; + /** + * The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + */ public readonly hostResourceGroupArn!: pulumi.Output; + /** + * The IAM instance profile. + */ public readonly iamInstanceProfile!: pulumi.Output; + /** + * The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + */ public readonly imageId!: pulumi.Output; + /** + * The EC2 Instance ID. + */ + public /*out*/ readonly instanceId!: pulumi.Output; + /** + * Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + */ public readonly instanceInitiatedShutdownBehavior!: pulumi.Output; + /** + * The instance type. + */ public readonly instanceType!: pulumi.Output; + /** + * [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + */ public readonly ipv6AddressCount!: pulumi.Output; + /** + * [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + */ public readonly ipv6Addresses!: pulumi.Output; + /** + * The ID of the kernel. + */ public readonly kernelId!: pulumi.Output; + /** + * The name of the key pair. + */ public readonly keyName!: pulumi.Output; + /** + * The launch template to use to launch the instances. + */ public readonly launchTemplate!: pulumi.Output; + /** + * The license configurations. + */ public readonly licenseSpecifications!: pulumi.Output; + /** + * Specifies whether detailed monitoring is enabled for the instance. + */ public readonly monitoring!: pulumi.Output; + /** + * The network interfaces to associate with the instance. + */ public readonly networkInterfaces!: pulumi.Output; + /** + * The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + */ public readonly placementGroupName!: pulumi.Output; + /** + * The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + */ public /*out*/ readonly privateDnsName!: pulumi.Output; + /** + * The options for the instance hostname. + */ public readonly privateDnsNameOptions!: pulumi.Output; + /** + * The private IP address of the specified instance. For example: 10.24.34.0. + */ public /*out*/ readonly privateIp!: pulumi.Output; + /** + * [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + */ public readonly privateIpAddress!: pulumi.Output; + /** + * Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + */ public readonly propagateTagsToVolumeOnCreation!: pulumi.Output; + /** + * The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + */ public /*out*/ readonly publicDnsName!: pulumi.Output; + /** + * The public IP address of the specified instance. For example: 192.0.2.0. + */ public /*out*/ readonly publicIp!: pulumi.Output; + /** + * The ID of the RAM disk to select. + */ public readonly ramdiskId!: pulumi.Output; + /** + * The IDs of the security groups. + */ public readonly securityGroupIds!: pulumi.Output; + /** + * the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + */ public readonly securityGroups!: pulumi.Output; + /** + * Specifies whether to enable an instance launched in a VPC to perform NAT. + */ public readonly sourceDestCheck!: pulumi.Output; + /** + * The SSM document and parameter values in AWS Systems Manager to associate with this instance. + */ public readonly ssmAssociations!: pulumi.Output; + /** + * [EC2-VPC] The ID of the subnet to launch the instance into. + */ public readonly subnetId!: pulumi.Output; + /** + * The tags to add to the instance. + */ public readonly tags!: pulumi.Output; + /** + * The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + */ public readonly tenancy!: pulumi.Output; + /** + * The user data to make available to the instance. + */ public readonly userData!: pulumi.Output; + /** + * The volumes to attach to the instance. + */ public readonly volumes!: pulumi.Output; /** @@ -92,9 +225,7 @@ export class Instance extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args?: InstanceArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("Instance is deprecated: Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { @@ -138,6 +269,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["tenancy"] = args ? args.tenancy : undefined; resourceInputs["userData"] = args ? args.userData : undefined; resourceInputs["volumes"] = args ? args.volumes : undefined; + resourceInputs["instanceId"] = undefined /*out*/; resourceInputs["privateDnsName"] = undefined /*out*/; resourceInputs["privateIp"] = undefined /*out*/; resourceInputs["publicDnsName"] = undefined /*out*/; @@ -159,6 +291,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["hostResourceGroupArn"] = undefined /*out*/; resourceInputs["iamInstanceProfile"] = undefined /*out*/; resourceInputs["imageId"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; resourceInputs["instanceInitiatedShutdownBehavior"] = undefined /*out*/; resourceInputs["instanceType"] = undefined /*out*/; resourceInputs["ipv6AddressCount"] = undefined /*out*/; @@ -199,44 +332,164 @@ export class Instance extends pulumi.CustomResource { * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { + /** + * This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + */ additionalInfo?: pulumi.Input; - affinity?: pulumi.Input; + /** + * Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + */ + affinity?: pulumi.Input; + /** + * The Availability Zone of the instance. + */ availabilityZone?: pulumi.Input; + /** + * The block device mapping entries that defines the block devices to attach to the instance at launch. + */ blockDeviceMappings?: pulumi.Input[]>; - cpuOptions?: pulumi.Input; - creditSpecification?: pulumi.Input; + /** + * The CPU options for the instance. + */ + cpuOptions?: pulumi.Input; + /** + * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + */ + creditSpecification?: pulumi.Input; + /** + * If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + */ disableApiTermination?: pulumi.Input; + /** + * Indicates whether the instance is optimized for Amazon EBS I/O. + */ ebsOptimized?: pulumi.Input; + /** + * An elastic GPU to associate with the instance. + */ elasticGpuSpecifications?: pulumi.Input[]>; + /** + * An elastic inference accelerator to associate with the instance. + */ elasticInferenceAccelerators?: pulumi.Input[]>; - enclaveOptions?: pulumi.Input; - hibernationOptions?: pulumi.Input; + /** + * Indicates whether the instance is enabled for AWS Nitro Enclaves. + */ + enclaveOptions?: pulumi.Input; + /** + * Indicates whether an instance is enabled for hibernation. + */ + hibernationOptions?: pulumi.Input; + /** + * If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + */ hostId?: pulumi.Input; + /** + * The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + */ hostResourceGroupArn?: pulumi.Input; + /** + * The IAM instance profile. + */ iamInstanceProfile?: pulumi.Input; + /** + * The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + */ imageId?: pulumi.Input; + /** + * Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + */ instanceInitiatedShutdownBehavior?: pulumi.Input; + /** + * The instance type. + */ instanceType?: pulumi.Input; + /** + * [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + */ ipv6AddressCount?: pulumi.Input; + /** + * [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + */ ipv6Addresses?: pulumi.Input[]>; + /** + * The ID of the kernel. + */ kernelId?: pulumi.Input; + /** + * The name of the key pair. + */ keyName?: pulumi.Input; + /** + * The launch template to use to launch the instances. + */ launchTemplate?: pulumi.Input; + /** + * The license configurations. + */ licenseSpecifications?: pulumi.Input[]>; + /** + * Specifies whether detailed monitoring is enabled for the instance. + */ monitoring?: pulumi.Input; + /** + * The network interfaces to associate with the instance. + */ networkInterfaces?: pulumi.Input[]>; + /** + * The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + */ placementGroupName?: pulumi.Input; + /** + * The options for the instance hostname. + */ privateDnsNameOptions?: pulumi.Input; + /** + * [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + */ privateIpAddress?: pulumi.Input; + /** + * Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + */ propagateTagsToVolumeOnCreation?: pulumi.Input; + /** + * The ID of the RAM disk to select. + */ ramdiskId?: pulumi.Input; + /** + * The IDs of the security groups. + */ securityGroupIds?: pulumi.Input[]>; + /** + * the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + */ securityGroups?: pulumi.Input[]>; + /** + * Specifies whether to enable an instance launched in a VPC to perform NAT. + */ sourceDestCheck?: pulumi.Input; + /** + * The SSM document and parameter values in AWS Systems Manager to associate with this instance. + */ ssmAssociations?: pulumi.Input[]>; + /** + * [EC2-VPC] The ID of the subnet to launch the instance into. + */ subnetId?: pulumi.Input; + /** + * The tags to add to the instance. + */ tags?: pulumi.Input[]>; + /** + * The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + */ tenancy?: pulumi.Input; + /** + * The user data to make available to the instance. + */ userData?: pulumi.Input; + /** + * The volumes to attach to the instance. + */ volumes?: pulumi.Input[]>; } diff --git a/sdk/nodejs/ec2/securityGroupEgress.ts b/sdk/nodejs/ec2/securityGroupEgress.ts index 53e96754ad..07c2c2e34a 100644 --- a/sdk/nodejs/ec2/securityGroupEgress.ts +++ b/sdk/nodejs/ec2/securityGroupEgress.ts @@ -6,8 +6,6 @@ import * as utilities from "../utilities"; /** * Resource Type definition for AWS::EC2::SecurityGroupEgress - * - * @deprecated SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class SecurityGroupEgress extends pulumi.CustomResource { /** @@ -19,7 +17,6 @@ export class SecurityGroupEgress extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): SecurityGroupEgress { - pulumi.log.warn("SecurityGroupEgress is deprecated: SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new SecurityGroupEgress(name, undefined as any, { ...opts, id: id }); } @@ -37,14 +34,41 @@ export class SecurityGroupEgress extends pulumi.CustomResource { return obj['__pulumiType'] === SecurityGroupEgress.__pulumiType; } + /** + * The IPv4 ranges + */ public readonly cidrIp!: pulumi.Output; + /** + * [VPC only] The IPv6 ranges + */ public readonly cidrIpv6!: pulumi.Output; + /** + * Resource Type definition for an egress (outbound) security group rule. + */ public readonly description!: pulumi.Output; + /** + * [EC2-VPC only] The ID of a prefix list. + */ public readonly destinationPrefixListId!: pulumi.Output; + /** + * You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + */ public readonly destinationSecurityGroupId!: pulumi.Output; + /** + * 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. + */ public readonly fromPort!: pulumi.Output; + /** + * 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. + */ public readonly groupId!: pulumi.Output; + /** + * [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. + */ public readonly ipProtocol!: pulumi.Output; + /** + * 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. + */ public readonly toPort!: pulumi.Output; /** @@ -54,9 +78,7 @@ export class SecurityGroupEgress extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args: SecurityGroupEgressArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("SecurityGroupEgress is deprecated: SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { @@ -97,13 +119,40 @@ export class SecurityGroupEgress extends pulumi.CustomResource { * The set of arguments for constructing a SecurityGroupEgress resource. */ export interface SecurityGroupEgressArgs { + /** + * The IPv4 ranges + */ cidrIp?: pulumi.Input; + /** + * [VPC only] The IPv6 ranges + */ cidrIpv6?: pulumi.Input; + /** + * Resource Type definition for an egress (outbound) security group rule. + */ description?: pulumi.Input; + /** + * [EC2-VPC only] The ID of a prefix list. + */ destinationPrefixListId?: pulumi.Input; + /** + * You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + */ destinationSecurityGroupId?: pulumi.Input; + /** + * 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. + */ fromPort?: pulumi.Input; + /** + * 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. + */ groupId: pulumi.Input; + /** + * [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. + */ ipProtocol: pulumi.Input; + /** + * 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. + */ toPort?: pulumi.Input; } diff --git a/sdk/nodejs/elasticache/serverlessCache.ts b/sdk/nodejs/elasticache/serverlessCache.ts index a7c8c69584..5f6d0173b7 100644 --- a/sdk/nodejs/elasticache/serverlessCache.ts +++ b/sdk/nodejs/elasticache/serverlessCache.ts @@ -54,7 +54,7 @@ export class ServerlessCache extends pulumi.CustomResource { * The description of the Serverless Cache. */ public readonly description!: pulumi.Output; - public /*out*/ readonly endpoint!: pulumi.Output; + public readonly endpoint!: pulumi.Output; /** * The engine name of the Serverless Cache. */ @@ -75,7 +75,7 @@ export class ServerlessCache extends pulumi.CustomResource { * The major engine version of the Serverless Cache. */ public readonly majorEngineVersion!: pulumi.Output; - public /*out*/ readonly readerEndpoint!: pulumi.Output; + public readonly readerEndpoint!: pulumi.Output; /** * One or more Amazon VPC security groups associated with this Serverless Cache. */ @@ -126,10 +126,12 @@ export class ServerlessCache extends pulumi.CustomResource { resourceInputs["cacheUsageLimits"] = args ? args.cacheUsageLimits : undefined; resourceInputs["dailySnapshotTime"] = args ? args.dailySnapshotTime : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["endpoint"] = args ? args.endpoint : undefined; resourceInputs["engine"] = args ? args.engine : undefined; resourceInputs["finalSnapshotName"] = args ? args.finalSnapshotName : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["majorEngineVersion"] = args ? args.majorEngineVersion : undefined; + resourceInputs["readerEndpoint"] = args ? args.readerEndpoint : undefined; resourceInputs["securityGroupIds"] = args ? args.securityGroupIds : undefined; resourceInputs["serverlessCacheName"] = args ? args.serverlessCacheName : undefined; resourceInputs["snapshotArnsToRestore"] = args ? args.snapshotArnsToRestore : undefined; @@ -139,9 +141,7 @@ export class ServerlessCache extends pulumi.CustomResource { resourceInputs["userGroupId"] = args ? args.userGroupId : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createTime"] = undefined /*out*/; - resourceInputs["endpoint"] = undefined /*out*/; resourceInputs["fullEngineVersion"] = undefined /*out*/; - resourceInputs["readerEndpoint"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; } else { resourceInputs["arn"] = undefined /*out*/; @@ -185,6 +185,7 @@ export interface ServerlessCacheArgs { * The description of the Serverless Cache. */ description?: pulumi.Input; + endpoint?: pulumi.Input; /** * The engine name of the Serverless Cache. */ @@ -201,6 +202,7 @@ export interface ServerlessCacheArgs { * The major engine version of the Serverless Cache. */ majorEngineVersion?: pulumi.Input; + readerEndpoint?: pulumi.Input; /** * One or more Amazon VPC security groups associated with this Serverless Cache. */ diff --git a/sdk/nodejs/emr/studio.ts b/sdk/nodejs/emr/studio.ts index de49123b5c..86c0ad991b 100644 --- a/sdk/nodejs/emr/studio.ts +++ b/sdk/nodejs/emr/studio.ts @@ -53,10 +53,22 @@ export class Studio extends pulumi.CustomResource { * A detailed description of the Studio. */ public readonly description!: pulumi.Output; + /** + * The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + */ + public readonly encryptionKeyArn!: pulumi.Output; /** * 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. */ public readonly engineSecurityGroupId!: pulumi.Output; + /** + * The ARN of the IAM Identity Center instance to create the Studio application. + */ + public readonly idcInstanceArn!: pulumi.Output; + /** + * 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. + */ + public readonly idcUserAssignment!: pulumi.Output; /** * 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. */ @@ -85,6 +97,10 @@ export class Studio extends pulumi.CustomResource { * 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. */ public readonly tags!: pulumi.Output; + /** + * A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + */ + public readonly trustedIdentityPropagationEnabled!: pulumi.Output; /** * The unique Studio access URL. */ @@ -137,13 +153,17 @@ export class Studio extends pulumi.CustomResource { resourceInputs["authMode"] = args ? args.authMode : undefined; resourceInputs["defaultS3Location"] = args ? args.defaultS3Location : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["encryptionKeyArn"] = args ? args.encryptionKeyArn : undefined; resourceInputs["engineSecurityGroupId"] = args ? args.engineSecurityGroupId : undefined; + resourceInputs["idcInstanceArn"] = args ? args.idcInstanceArn : undefined; + resourceInputs["idcUserAssignment"] = args ? args.idcUserAssignment : undefined; resourceInputs["idpAuthUrl"] = args ? args.idpAuthUrl : undefined; resourceInputs["idpRelayStateParameterName"] = args ? args.idpRelayStateParameterName : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["serviceRole"] = args ? args.serviceRole : undefined; resourceInputs["subnetIds"] = args ? args.subnetIds : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["trustedIdentityPropagationEnabled"] = args ? args.trustedIdentityPropagationEnabled : undefined; resourceInputs["userRole"] = args ? args.userRole : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["workspaceSecurityGroupId"] = args ? args.workspaceSecurityGroupId : undefined; @@ -155,7 +175,10 @@ export class Studio extends pulumi.CustomResource { resourceInputs["authMode"] = undefined /*out*/; resourceInputs["defaultS3Location"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; + resourceInputs["encryptionKeyArn"] = undefined /*out*/; resourceInputs["engineSecurityGroupId"] = undefined /*out*/; + resourceInputs["idcInstanceArn"] = undefined /*out*/; + resourceInputs["idcUserAssignment"] = undefined /*out*/; resourceInputs["idpAuthUrl"] = undefined /*out*/; resourceInputs["idpRelayStateParameterName"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -163,13 +186,14 @@ export class Studio extends pulumi.CustomResource { resourceInputs["studioId"] = undefined /*out*/; resourceInputs["subnetIds"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; + resourceInputs["trustedIdentityPropagationEnabled"] = undefined /*out*/; resourceInputs["url"] = undefined /*out*/; resourceInputs["userRole"] = undefined /*out*/; resourceInputs["vpcId"] = undefined /*out*/; resourceInputs["workspaceSecurityGroupId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["authMode", "engineSecurityGroupId", "serviceRole", "userRole", "vpcId", "workspaceSecurityGroupId"] }; + const replaceOnChanges = { replaceOnChanges: ["authMode", "encryptionKeyArn", "engineSecurityGroupId", "idcInstanceArn", "idcUserAssignment", "serviceRole", "trustedIdentityPropagationEnabled", "userRole", "vpcId", "workspaceSecurityGroupId"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Studio.__pulumiType, name, resourceInputs, opts); } @@ -191,10 +215,22 @@ export interface StudioArgs { * A detailed description of the Studio. */ description?: pulumi.Input; + /** + * The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + */ + encryptionKeyArn?: pulumi.Input; /** * 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. */ engineSecurityGroupId: pulumi.Input; + /** + * The ARN of the IAM Identity Center instance to create the Studio application. + */ + idcInstanceArn?: pulumi.Input; + /** + * 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. + */ + idcUserAssignment?: pulumi.Input; /** * 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. */ @@ -219,6 +255,10 @@ export interface StudioArgs { * 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. */ tags?: pulumi.Input[]>; + /** + * A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + */ + trustedIdentityPropagationEnabled?: pulumi.Input; /** * 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. */ diff --git a/sdk/nodejs/eventschemas/discoverer.ts b/sdk/nodejs/eventschemas/discoverer.ts index fe33ba936a..094d2cc169 100644 --- a/sdk/nodejs/eventschemas/discoverer.ts +++ b/sdk/nodejs/eventschemas/discoverer.ts @@ -9,8 +9,6 @@ import * as utilities from "../utilities"; /** * Resource Type definition for AWS::EventSchemas::Discoverer - * - * @deprecated Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class Discoverer extends pulumi.CustomResource { /** @@ -22,7 +20,6 @@ export class Discoverer extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Discoverer { - pulumi.log.warn("Discoverer is deprecated: Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new Discoverer(name, undefined as any, { ...opts, id: id }); } @@ -40,11 +37,33 @@ export class Discoverer extends pulumi.CustomResource { return obj['__pulumiType'] === Discoverer.__pulumiType; } + /** + * Defines whether event schemas from other accounts are discovered. Default is True. + */ public readonly crossAccount!: pulumi.Output; + /** + * A description for the discoverer. + */ public readonly description!: pulumi.Output; + /** + * The ARN of the discoverer. + */ public /*out*/ readonly discovererArn!: pulumi.Output; + /** + * The Id of the discoverer. + */ public /*out*/ readonly discovererId!: pulumi.Output; + /** + * The ARN of the event bus. + */ public readonly sourceArn!: pulumi.Output; + /** + * Defines the current state of the discoverer. + */ + public /*out*/ readonly state!: pulumi.Output; + /** + * Tags associated with the resource. + */ public readonly tags!: pulumi.Output; /** @@ -54,9 +73,7 @@ export class Discoverer extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args: DiscovererArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("Discoverer is deprecated: Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { @@ -69,12 +86,14 @@ export class Discoverer extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["discovererArn"] = undefined /*out*/; resourceInputs["discovererId"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; } else { resourceInputs["crossAccount"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; resourceInputs["discovererArn"] = undefined /*out*/; resourceInputs["discovererId"] = undefined /*out*/; resourceInputs["sourceArn"] = undefined /*out*/; + resourceInputs["state"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -88,8 +107,20 @@ export class Discoverer extends pulumi.CustomResource { * The set of arguments for constructing a Discoverer resource. */ export interface DiscovererArgs { + /** + * Defines whether event schemas from other accounts are discovered. Default is True. + */ crossAccount?: pulumi.Input; + /** + * A description for the discoverer. + */ description?: pulumi.Input; + /** + * The ARN of the event bus. + */ sourceArn: pulumi.Input; + /** + * Tags associated with the resource. + */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/eventschemas/getDiscoverer.ts b/sdk/nodejs/eventschemas/getDiscoverer.ts index dd900a9bdd..17240534df 100644 --- a/sdk/nodejs/eventschemas/getDiscoverer.ts +++ b/sdk/nodejs/eventschemas/getDiscoverer.ts @@ -14,19 +14,41 @@ export function getDiscoverer(args: GetDiscovererArgs, opts?: pulumi.InvokeOptio opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:eventschemas:getDiscoverer", { - "discovererId": args.discovererId, + "discovererArn": args.discovererArn, }, opts); } export interface GetDiscovererArgs { - discovererId: string; + /** + * The ARN of the discoverer. + */ + discovererArn: string; } export interface GetDiscovererResult { + /** + * Defines whether event schemas from other accounts are discovered. Default is True. + */ readonly crossAccount?: boolean; + /** + * A description for the discoverer. + */ readonly description?: string; + /** + * The ARN of the discoverer. + */ readonly discovererArn?: string; + /** + * The Id of the discoverer. + */ readonly discovererId?: string; + /** + * Defines the current state of the discoverer. + */ + readonly state?: string; + /** + * Tags associated with the resource. + */ readonly tags?: outputs.eventschemas.DiscovererTagsEntry[]; } /** @@ -37,5 +59,8 @@ export function getDiscovererOutput(args: GetDiscovererOutputArgs, opts?: pulumi } export interface GetDiscovererOutputArgs { - discovererId: pulumi.Input; + /** + * The ARN of the discoverer. + */ + discovererArn: pulumi.Input; } diff --git a/sdk/nodejs/eventschemas/getRegistry.ts b/sdk/nodejs/eventschemas/getRegistry.ts index 0e4fff959f..718c1f2181 100644 --- a/sdk/nodejs/eventschemas/getRegistry.ts +++ b/sdk/nodejs/eventschemas/getRegistry.ts @@ -14,18 +14,29 @@ export function getRegistry(args: GetRegistryArgs, opts?: pulumi.InvokeOptions): opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:eventschemas:getRegistry", { - "id": args.id, + "registryArn": args.registryArn, }, opts); } export interface GetRegistryArgs { - id: string; + /** + * The ARN of the registry. + */ + registryArn: string; } export interface GetRegistryResult { + /** + * A description of the registry to be created. + */ readonly description?: string; - readonly id?: string; + /** + * The ARN of the registry. + */ readonly registryArn?: string; + /** + * Tags associated with the resource. + */ readonly tags?: outputs.eventschemas.RegistryTagsEntry[]; } /** @@ -36,5 +47,8 @@ export function getRegistryOutput(args: GetRegistryOutputArgs, opts?: pulumi.Inv } export interface GetRegistryOutputArgs { - id: pulumi.Input; + /** + * The ARN of the registry. + */ + registryArn: pulumi.Input; } diff --git a/sdk/nodejs/eventschemas/registry.ts b/sdk/nodejs/eventschemas/registry.ts index e218b62235..4b289d4624 100644 --- a/sdk/nodejs/eventschemas/registry.ts +++ b/sdk/nodejs/eventschemas/registry.ts @@ -9,8 +9,6 @@ import * as utilities from "../utilities"; /** * Resource Type definition for AWS::EventSchemas::Registry - * - * @deprecated Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ export class Registry extends pulumi.CustomResource { /** @@ -22,7 +20,6 @@ export class Registry extends pulumi.CustomResource { * @param opts Optional settings to control the behavior of the CustomResource. */ public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Registry { - pulumi.log.warn("Registry is deprecated: Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") return new Registry(name, undefined as any, { ...opts, id: id }); } @@ -40,9 +37,21 @@ export class Registry extends pulumi.CustomResource { return obj['__pulumiType'] === Registry.__pulumiType; } + /** + * A description of the registry to be created. + */ public readonly description!: pulumi.Output; + /** + * The ARN of the registry. + */ public /*out*/ readonly registryArn!: pulumi.Output; + /** + * The name of the schema registry. + */ public readonly registryName!: pulumi.Output; + /** + * Tags associated with the resource. + */ public readonly tags!: pulumi.Output; /** @@ -52,9 +61,7 @@ export class Registry extends pulumi.CustomResource { * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ - /** @deprecated Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible. */ constructor(name: string, args?: RegistryArgs, opts?: pulumi.CustomResourceOptions) { - pulumi.log.warn("Registry is deprecated: Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.") let resourceInputs: pulumi.Inputs = {}; opts = opts || {}; if (!opts.id) { @@ -79,7 +86,16 @@ export class Registry extends pulumi.CustomResource { * The set of arguments for constructing a Registry resource. */ export interface RegistryArgs { + /** + * A description of the registry to be created. + */ description?: pulumi.Input; + /** + * The name of the schema registry. + */ registryName?: pulumi.Input; + /** + * Tags associated with the resource. + */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/fis/experimentTemplate.ts b/sdk/nodejs/fis/experimentTemplate.ts index 2845022d4f..99bc6a1ee9 100644 --- a/sdk/nodejs/fis/experimentTemplate.ts +++ b/sdk/nodejs/fis/experimentTemplate.ts @@ -39,6 +39,7 @@ export class ExperimentTemplate extends pulumi.CustomResource { public readonly actions!: pulumi.Output; public readonly description!: pulumi.Output; + public readonly experimentOptions!: pulumi.Output; public readonly logConfiguration!: pulumi.Output; public readonly roleArn!: pulumi.Output; public readonly stopConditions!: pulumi.Output; @@ -73,6 +74,7 @@ export class ExperimentTemplate extends pulumi.CustomResource { } resourceInputs["actions"] = args ? args.actions : undefined; resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["experimentOptions"] = args ? args.experimentOptions : undefined; resourceInputs["logConfiguration"] = args ? args.logConfiguration : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; resourceInputs["stopConditions"] = args ? args.stopConditions : undefined; @@ -81,6 +83,7 @@ export class ExperimentTemplate extends pulumi.CustomResource { } else { resourceInputs["actions"] = undefined /*out*/; resourceInputs["description"] = undefined /*out*/; + resourceInputs["experimentOptions"] = undefined /*out*/; resourceInputs["logConfiguration"] = undefined /*out*/; resourceInputs["roleArn"] = undefined /*out*/; resourceInputs["stopConditions"] = undefined /*out*/; @@ -100,6 +103,7 @@ export class ExperimentTemplate extends pulumi.CustomResource { export interface ExperimentTemplateArgs { actions?: pulumi.Input; description: pulumi.Input; + experimentOptions?: pulumi.Input; logConfiguration?: pulumi.Input; roleArn: pulumi.Input; stopConditions: pulumi.Input[]>; diff --git a/sdk/nodejs/fis/getExperimentTemplate.ts b/sdk/nodejs/fis/getExperimentTemplate.ts index 93204d8601..b7d8991fd0 100644 --- a/sdk/nodejs/fis/getExperimentTemplate.ts +++ b/sdk/nodejs/fis/getExperimentTemplate.ts @@ -25,6 +25,7 @@ export interface GetExperimentTemplateArgs { export interface GetExperimentTemplateResult { readonly actions?: outputs.fis.ExperimentTemplateActionMap; readonly description?: string; + readonly experimentOptions?: outputs.fis.ExperimentTemplateExperimentOptions; readonly id?: string; readonly logConfiguration?: outputs.fis.ExperimentTemplateLogConfiguration; readonly roleArn?: string; diff --git a/sdk/nodejs/fis/getTargetAccountConfiguration.ts b/sdk/nodejs/fis/getTargetAccountConfiguration.ts new file mode 100644 index 0000000000..9393887cb1 --- /dev/null +++ b/sdk/nodejs/fis/getTargetAccountConfiguration.ts @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::FIS::TargetAccountConfiguration + */ +export function getTargetAccountConfiguration(args: GetTargetAccountConfigurationArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:fis:getTargetAccountConfiguration", { + "accountId": args.accountId, + "experimentTemplateId": args.experimentTemplateId, + }, opts); +} + +export interface GetTargetAccountConfigurationArgs { + accountId: string; + experimentTemplateId: string; +} + +export interface GetTargetAccountConfigurationResult { + readonly description?: string; + readonly roleArn?: string; +} +/** + * Resource schema for AWS::FIS::TargetAccountConfiguration + */ +export function getTargetAccountConfigurationOutput(args: GetTargetAccountConfigurationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getTargetAccountConfiguration(a, opts)) +} + +export interface GetTargetAccountConfigurationOutputArgs { + accountId: pulumi.Input; + experimentTemplateId: pulumi.Input; +} diff --git a/sdk/nodejs/fis/index.ts b/sdk/nodejs/fis/index.ts index f5bcdc03ac..e5777689b8 100644 --- a/sdk/nodejs/fis/index.ts +++ b/sdk/nodejs/fis/index.ts @@ -15,6 +15,19 @@ export const getExperimentTemplate: typeof import("./getExperimentTemplate").get export const getExperimentTemplateOutput: typeof import("./getExperimentTemplate").getExperimentTemplateOutput = null as any; utilities.lazyLoad(exports, ["getExperimentTemplate","getExperimentTemplateOutput"], () => require("./getExperimentTemplate")); +export { GetTargetAccountConfigurationArgs, GetTargetAccountConfigurationResult, GetTargetAccountConfigurationOutputArgs } from "./getTargetAccountConfiguration"; +export const getTargetAccountConfiguration: typeof import("./getTargetAccountConfiguration").getTargetAccountConfiguration = null as any; +export const getTargetAccountConfigurationOutput: typeof import("./getTargetAccountConfiguration").getTargetAccountConfigurationOutput = null as any; +utilities.lazyLoad(exports, ["getTargetAccountConfiguration","getTargetAccountConfigurationOutput"], () => require("./getTargetAccountConfiguration")); + +export { TargetAccountConfigurationArgs } from "./targetAccountConfiguration"; +export type TargetAccountConfiguration = import("./targetAccountConfiguration").TargetAccountConfiguration; +export const TargetAccountConfiguration: typeof import("./targetAccountConfiguration").TargetAccountConfiguration = null as any; +utilities.lazyLoad(exports, ["TargetAccountConfiguration"], () => require("./targetAccountConfiguration")); + + +// Export enums: +export * from "../types/enums/fis"; const _module = { version: utilities.getVersion(), @@ -22,6 +35,8 @@ const _module = { switch (type) { case "aws-native:fis:ExperimentTemplate": return new ExperimentTemplate(name, undefined, { urn }) + case "aws-native:fis:TargetAccountConfiguration": + return new TargetAccountConfiguration(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } diff --git a/sdk/nodejs/fis/targetAccountConfiguration.ts b/sdk/nodejs/fis/targetAccountConfiguration.ts new file mode 100644 index 0000000000..2ffc975147 --- /dev/null +++ b/sdk/nodejs/fis/targetAccountConfiguration.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Resource schema for AWS::FIS::TargetAccountConfiguration + */ +export class TargetAccountConfiguration extends pulumi.CustomResource { + /** + * Get an existing TargetAccountConfiguration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): TargetAccountConfiguration { + return new TargetAccountConfiguration(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:fis:TargetAccountConfiguration'; + + /** + * Returns true if the given object is an instance of TargetAccountConfiguration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is TargetAccountConfiguration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TargetAccountConfiguration.__pulumiType; + } + + public readonly accountId!: pulumi.Output; + public readonly description!: pulumi.Output; + public readonly experimentTemplateId!: pulumi.Output; + public readonly roleArn!: pulumi.Output; + + /** + * Create a TargetAccountConfiguration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: TargetAccountConfigurationArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.accountId === undefined) && !opts.urn) { + throw new Error("Missing required property 'accountId'"); + } + if ((!args || args.experimentTemplateId === undefined) && !opts.urn) { + throw new Error("Missing required property 'experimentTemplateId'"); + } + if ((!args || args.roleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleArn'"); + } + resourceInputs["accountId"] = args ? args.accountId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["experimentTemplateId"] = args ? args.experimentTemplateId : undefined; + resourceInputs["roleArn"] = args ? args.roleArn : undefined; + } else { + resourceInputs["accountId"] = undefined /*out*/; + resourceInputs["description"] = undefined /*out*/; + resourceInputs["experimentTemplateId"] = undefined /*out*/; + resourceInputs["roleArn"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["accountId", "experimentTemplateId"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(TargetAccountConfiguration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a TargetAccountConfiguration resource. + */ +export interface TargetAccountConfigurationArgs { + accountId: pulumi.Input; + description?: pulumi.Input; + experimentTemplateId: pulumi.Input; + roleArn: pulumi.Input; +} diff --git a/sdk/nodejs/lambda/eventInvokeConfig.ts b/sdk/nodejs/lambda/eventInvokeConfig.ts index 31f46249a0..2ed7ba354a 100644 --- a/sdk/nodejs/lambda/eventInvokeConfig.ts +++ b/sdk/nodejs/lambda/eventInvokeConfig.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Lambda::EventInvokeConfig + * The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. */ export class EventInvokeConfig extends pulumi.CustomResource { /** @@ -38,9 +38,21 @@ export class EventInvokeConfig extends pulumi.CustomResource { } public readonly destinationConfig!: pulumi.Output; + /** + * The name of the Lambda function. + */ public readonly functionName!: pulumi.Output; + /** + * The maximum age of a request that Lambda sends to a function for processing. + */ public readonly maximumEventAgeInSeconds!: pulumi.Output; + /** + * The maximum number of times to retry when the function returns an error. + */ public readonly maximumRetryAttempts!: pulumi.Output; + /** + * The identifier of a version or alias. + */ public readonly qualifier!: pulumi.Output; /** @@ -84,8 +96,20 @@ export class EventInvokeConfig extends pulumi.CustomResource { */ export interface EventInvokeConfigArgs { destinationConfig?: pulumi.Input; + /** + * The name of the Lambda function. + */ functionName: pulumi.Input; + /** + * The maximum age of a request that Lambda sends to a function for processing. + */ maximumEventAgeInSeconds?: pulumi.Input; + /** + * The maximum number of times to retry when the function returns an error. + */ maximumRetryAttempts?: pulumi.Input; + /** + * The identifier of a version or alias. + */ qualifier: pulumi.Input; } diff --git a/sdk/nodejs/lambda/function.ts b/sdk/nodejs/lambda/function.ts index cd2a35e062..fb1c0aa440 100644 --- a/sdk/nodejs/lambda/function.ts +++ b/sdk/nodejs/lambda/function.ts @@ -102,10 +102,6 @@ export class Function extends pulumi.CustomResource { * PackageType. */ public readonly packageType!: pulumi.Output; - /** - * The resource policy of your function - */ - public readonly policy!: pulumi.Output; /** * The number of simultaneous executions to reserve for the function. */ @@ -180,7 +176,6 @@ export class Function extends pulumi.CustomResource { resourceInputs["loggingConfig"] = args ? args.loggingConfig : undefined; resourceInputs["memorySize"] = args ? args.memorySize : undefined; resourceInputs["packageType"] = args ? args.packageType : undefined; - resourceInputs["policy"] = args ? args.policy : undefined; resourceInputs["reservedConcurrentExecutions"] = args ? args.reservedConcurrentExecutions : undefined; resourceInputs["role"] = args ? args.role : undefined; resourceInputs["runtime"] = args ? args.runtime : undefined; @@ -210,7 +205,6 @@ export class Function extends pulumi.CustomResource { resourceInputs["loggingConfig"] = undefined /*out*/; resourceInputs["memorySize"] = undefined /*out*/; resourceInputs["packageType"] = undefined /*out*/; - resourceInputs["policy"] = undefined /*out*/; resourceInputs["reservedConcurrentExecutions"] = undefined /*out*/; resourceInputs["role"] = undefined /*out*/; resourceInputs["runtime"] = undefined /*out*/; @@ -294,10 +288,6 @@ export interface FunctionArgs { * PackageType. */ packageType?: pulumi.Input; - /** - * The resource policy of your function - */ - policy?: any; /** * The number of simultaneous executions to reserve for the function. */ diff --git a/sdk/nodejs/lambda/getEventInvokeConfig.ts b/sdk/nodejs/lambda/getEventInvokeConfig.ts index 248a80cdac..ac0fd02660 100644 --- a/sdk/nodejs/lambda/getEventInvokeConfig.ts +++ b/sdk/nodejs/lambda/getEventInvokeConfig.ts @@ -8,33 +8,53 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Lambda::EventInvokeConfig + * The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. */ export function getEventInvokeConfig(args: GetEventInvokeConfigArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:lambda:getEventInvokeConfig", { - "id": args.id, + "functionName": args.functionName, + "qualifier": args.qualifier, }, opts); } export interface GetEventInvokeConfigArgs { - id: string; + /** + * The name of the Lambda function. + */ + functionName: string; + /** + * The identifier of a version or alias. + */ + qualifier: string; } export interface GetEventInvokeConfigResult { readonly destinationConfig?: outputs.lambda.EventInvokeConfigDestinationConfig; - readonly id?: string; + /** + * The maximum age of a request that Lambda sends to a function for processing. + */ readonly maximumEventAgeInSeconds?: number; + /** + * The maximum number of times to retry when the function returns an error. + */ readonly maximumRetryAttempts?: number; } /** - * Resource Type definition for AWS::Lambda::EventInvokeConfig + * The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. */ export function getEventInvokeConfigOutput(args: GetEventInvokeConfigOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getEventInvokeConfig(a, opts)) } export interface GetEventInvokeConfigOutputArgs { - id: pulumi.Input; + /** + * The name of the Lambda function. + */ + functionName: pulumi.Input; + /** + * The identifier of a version or alias. + */ + qualifier: pulumi.Input; } diff --git a/sdk/nodejs/logs/delivery.ts b/sdk/nodejs/logs/delivery.ts index 84c871f91e..aa2257546e 100644 --- a/sdk/nodejs/logs/delivery.ts +++ b/sdk/nodejs/logs/delivery.ts @@ -8,7 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::Delivery. + * This structure contains information about one delivery in your account. + * + * A delivery is a connection between a logical delivery source and a logical delivery destination. + * + * For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). */ export class Delivery extends pulumi.CustomResource { /** @@ -38,27 +42,27 @@ export class Delivery extends pulumi.CustomResource { } /** - * The value of the Arn property for this object. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery. */ public /*out*/ readonly arn!: pulumi.Output; /** - * The value of the DeliveryDestinationArn property for this object. + * The ARN of the delivery destination that is associated with this delivery. */ public readonly deliveryDestinationArn!: pulumi.Output; /** - * The value of the DeliveryDestinationType property for this object. + * Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. */ public /*out*/ readonly deliveryDestinationType!: pulumi.Output; /** - * The value of the Id property for this object. + * The unique ID that identifies this delivery in your account. */ public /*out*/ readonly deliveryId!: pulumi.Output; /** - * The value of the DeliverySourceName property for this object. + * The name of the delivery source that is associated with this delivery. */ public readonly deliverySourceName!: pulumi.Output; /** - * The value of the Tags property for this object. + * The tags that have been assigned to this delivery. */ public readonly tags!: pulumi.Output; @@ -105,15 +109,15 @@ export class Delivery extends pulumi.CustomResource { */ export interface DeliveryArgs { /** - * The value of the DeliveryDestinationArn property for this object. + * The ARN of the delivery destination that is associated with this delivery. */ deliveryDestinationArn: pulumi.Input; /** - * The value of the DeliverySourceName property for this object. + * The name of the delivery source that is associated with this delivery. */ deliverySourceName: pulumi.Input; /** - * The value of the Tags property for this object. + * The tags that have been assigned to this delivery. */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/logs/deliveryDestination.ts b/sdk/nodejs/logs/deliveryDestination.ts index 5afc66ebbb..b263d1d6cd 100644 --- a/sdk/nodejs/logs/deliveryDestination.ts +++ b/sdk/nodejs/logs/deliveryDestination.ts @@ -8,7 +8,9 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::DeliveryDestination + * This structure contains information about one delivery destination in your account. + * + * A 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. */ export class DeliveryDestination extends pulumi.CustomResource { /** @@ -38,7 +40,7 @@ export class DeliveryDestination extends pulumi.CustomResource { } /** - * The value of the Arn property for this object. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. */ public /*out*/ readonly arn!: pulumi.Output; /** @@ -50,19 +52,19 @@ export class DeliveryDestination extends pulumi.CustomResource { */ public readonly deliveryDestinationPolicy!: pulumi.Output; /** - * The value of the DeliveryDestinationType property for this object. + * Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. */ public /*out*/ readonly deliveryDestinationType!: pulumi.Output; /** - * The ARN of the Destination Resource. + * The ARN of the AWS resource that will receive the logs. */ public readonly destinationResourceArn!: pulumi.Output; /** - * The unique name of the Delivery Destination. + * The name of this delivery destination. */ public readonly name!: pulumi.Output; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery destination. */ public readonly tags!: pulumi.Output; @@ -111,15 +113,15 @@ export interface DeliveryDestinationArgs { */ deliveryDestinationPolicy?: any; /** - * The ARN of the Destination Resource. + * The ARN of the AWS resource that will receive the logs. */ destinationResourceArn?: pulumi.Input; /** - * The unique name of the Delivery Destination. + * The name of this delivery destination. */ name?: pulumi.Input; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery destination. */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/logs/deliverySource.ts b/sdk/nodejs/logs/deliverySource.ts index 2f6feb7db6..dfc16e90b6 100644 --- a/sdk/nodejs/logs/deliverySource.ts +++ b/sdk/nodejs/logs/deliverySource.ts @@ -8,7 +8,9 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::DeliverySource. + * 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. + * + * Only 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). */ export class DeliverySource extends pulumi.CustomResource { /** @@ -38,7 +40,7 @@ export class DeliverySource extends pulumi.CustomResource { } /** - * The ARN of the Aqueduct Source. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery source. */ public /*out*/ readonly arn!: pulumi.Output; /** @@ -54,15 +56,15 @@ export class DeliverySource extends pulumi.CustomResource { */ public readonly resourceArn!: pulumi.Output; /** - * List of ARN of the resource that will be sending the logs + * 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. */ public /*out*/ readonly resourceArns!: pulumi.Output; /** - * The service generating the log + * The AWS service that is sending logs. */ public /*out*/ readonly service!: pulumi.Output; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery source. */ public readonly tags!: pulumi.Output; @@ -117,7 +119,7 @@ export interface DeliverySourceArgs { */ resourceArn?: pulumi.Input; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery source. */ tags?: pulumi.Input[]>; } diff --git a/sdk/nodejs/logs/getDelivery.ts b/sdk/nodejs/logs/getDelivery.ts index a0bd835d01..d26e639fdb 100644 --- a/sdk/nodejs/logs/getDelivery.ts +++ b/sdk/nodejs/logs/getDelivery.ts @@ -8,7 +8,11 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::Delivery. + * This structure contains information about one delivery in your account. + * + * A delivery is a connection between a logical delivery source and a logical delivery destination. + * + * For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). */ export function getDelivery(args: GetDeliveryArgs, opts?: pulumi.InvokeOptions): Promise { @@ -20,31 +24,35 @@ export function getDelivery(args: GetDeliveryArgs, opts?: pulumi.InvokeOptions): export interface GetDeliveryArgs { /** - * The value of the Id property for this object. + * The unique ID that identifies this delivery in your account. */ deliveryId: string; } export interface GetDeliveryResult { /** - * The value of the Arn property for this object. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery. */ readonly arn?: string; /** - * The value of the DeliveryDestinationType property for this object. + * Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. */ readonly deliveryDestinationType?: string; /** - * The value of the Id property for this object. + * The unique ID that identifies this delivery in your account. */ readonly deliveryId?: string; /** - * The value of the Tags property for this object. + * The tags that have been assigned to this delivery. */ readonly tags?: outputs.logs.DeliveryTag[]; } /** - * Resource Type definition for AWS::Logs::Delivery. + * This structure contains information about one delivery in your account. + * + * A delivery is a connection between a logical delivery source and a logical delivery destination. + * + * For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). */ export function getDeliveryOutput(args: GetDeliveryOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getDelivery(a, opts)) @@ -52,7 +60,7 @@ export function getDeliveryOutput(args: GetDeliveryOutputArgs, opts?: pulumi.Inv export interface GetDeliveryOutputArgs { /** - * The value of the Id property for this object. + * The unique ID that identifies this delivery in your account. */ deliveryId: pulumi.Input; } diff --git a/sdk/nodejs/logs/getDeliveryDestination.ts b/sdk/nodejs/logs/getDeliveryDestination.ts index 9d76d800f5..bfe6456352 100644 --- a/sdk/nodejs/logs/getDeliveryDestination.ts +++ b/sdk/nodejs/logs/getDeliveryDestination.ts @@ -8,7 +8,9 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::DeliveryDestination + * This structure contains information about one delivery destination in your account. + * + * A 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. */ export function getDeliveryDestination(args: GetDeliveryDestinationArgs, opts?: pulumi.InvokeOptions): Promise { @@ -20,14 +22,14 @@ export function getDeliveryDestination(args: GetDeliveryDestinationArgs, opts?: export interface GetDeliveryDestinationArgs { /** - * The unique name of the Delivery Destination. + * The name of this delivery destination. */ name: string; } export interface GetDeliveryDestinationResult { /** - * The value of the Arn property for this object. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. */ readonly arn?: string; /** @@ -39,16 +41,18 @@ export interface GetDeliveryDestinationResult { */ readonly deliveryDestinationPolicy?: any; /** - * The value of the DeliveryDestinationType property for this object. + * Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. */ readonly deliveryDestinationType?: string; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery destination. */ readonly tags?: outputs.logs.DeliveryDestinationTag[]; } /** - * Resource Type definition for AWS::Logs::DeliveryDestination + * This structure contains information about one delivery destination in your account. + * + * A 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. */ export function getDeliveryDestinationOutput(args: GetDeliveryDestinationOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getDeliveryDestination(a, opts)) @@ -56,7 +60,7 @@ export function getDeliveryDestinationOutput(args: GetDeliveryDestinationOutputA export interface GetDeliveryDestinationOutputArgs { /** - * The unique name of the Delivery Destination. + * The name of this delivery destination. */ name: pulumi.Input; } diff --git a/sdk/nodejs/logs/getDeliverySource.ts b/sdk/nodejs/logs/getDeliverySource.ts index f01bc286f7..1585d215f0 100644 --- a/sdk/nodejs/logs/getDeliverySource.ts +++ b/sdk/nodejs/logs/getDeliverySource.ts @@ -8,7 +8,9 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Resource Type definition for AWS::Logs::DeliverySource. + * 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. + * + * Only 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). */ export function getDeliverySource(args: GetDeliverySourceArgs, opts?: pulumi.InvokeOptions): Promise { @@ -27,7 +29,7 @@ export interface GetDeliverySourceArgs { export interface GetDeliverySourceResult { /** - * The ARN of the Aqueduct Source. + * The Amazon Resource Name (ARN) that uniquely identifies this delivery source. */ readonly arn?: string; /** @@ -35,20 +37,22 @@ export interface GetDeliverySourceResult { */ readonly logType?: string; /** - * List of ARN of the resource that will be sending the logs + * 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. */ readonly resourceArns?: string[]; /** - * The service generating the log + * The AWS service that is sending logs. */ readonly service?: string; /** - * An array of key-value pairs to apply to this resource. + * The tags that have been assigned to this delivery source. */ readonly tags?: outputs.logs.DeliverySourceTag[]; } /** - * Resource Type definition for AWS::Logs::DeliverySource. + * 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. + * + * Only 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). */ export function getDeliverySourceOutput(args: GetDeliverySourceOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { return pulumi.output(args).apply((a: any) => getDeliverySource(a, opts)) diff --git a/sdk/nodejs/opensearchservice/domain.ts b/sdk/nodejs/opensearchservice/domain.ts index 573ab43934..1444a64f2d 100644 --- a/sdk/nodejs/opensearchservice/domain.ts +++ b/sdk/nodejs/opensearchservice/domain.ts @@ -46,11 +46,13 @@ export class Domain extends pulumi.CustomResource { public /*out*/ readonly domainArn!: pulumi.Output; public /*out*/ readonly domainEndpoint!: pulumi.Output; public readonly domainEndpointOptions!: pulumi.Output; + public /*out*/ readonly domainEndpointV2!: pulumi.Output; public /*out*/ readonly domainEndpoints!: pulumi.Output; public readonly domainName!: pulumi.Output; public readonly ebsOptions!: pulumi.Output; public readonly encryptionAtRestOptions!: pulumi.Output; public readonly engineVersion!: pulumi.Output; + public readonly ipAddressType!: pulumi.Output; public readonly logPublishingOptions!: pulumi.Output; public readonly nodeToNodeEncryptionOptions!: pulumi.Output; public readonly offPeakWindowOptions!: pulumi.Output; @@ -84,6 +86,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["ebsOptions"] = args ? args.ebsOptions : undefined; resourceInputs["encryptionAtRestOptions"] = args ? args.encryptionAtRestOptions : undefined; resourceInputs["engineVersion"] = args ? args.engineVersion : undefined; + resourceInputs["ipAddressType"] = args ? args.ipAddressType : undefined; resourceInputs["logPublishingOptions"] = args ? args.logPublishingOptions : undefined; resourceInputs["nodeToNodeEncryptionOptions"] = args ? args.nodeToNodeEncryptionOptions : undefined; resourceInputs["offPeakWindowOptions"] = args ? args.offPeakWindowOptions : undefined; @@ -94,6 +97,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["arn"] = undefined /*out*/; resourceInputs["domainArn"] = undefined /*out*/; resourceInputs["domainEndpoint"] = undefined /*out*/; + resourceInputs["domainEndpointV2"] = undefined /*out*/; resourceInputs["domainEndpoints"] = undefined /*out*/; resourceInputs["serviceSoftwareOptions"] = undefined /*out*/; } else { @@ -106,11 +110,13 @@ export class Domain extends pulumi.CustomResource { resourceInputs["domainArn"] = undefined /*out*/; resourceInputs["domainEndpoint"] = undefined /*out*/; resourceInputs["domainEndpointOptions"] = undefined /*out*/; + resourceInputs["domainEndpointV2"] = undefined /*out*/; resourceInputs["domainEndpoints"] = undefined /*out*/; resourceInputs["domainName"] = undefined /*out*/; resourceInputs["ebsOptions"] = undefined /*out*/; resourceInputs["encryptionAtRestOptions"] = undefined /*out*/; resourceInputs["engineVersion"] = undefined /*out*/; + resourceInputs["ipAddressType"] = undefined /*out*/; resourceInputs["logPublishingOptions"] = undefined /*out*/; resourceInputs["nodeToNodeEncryptionOptions"] = undefined /*out*/; resourceInputs["offPeakWindowOptions"] = undefined /*out*/; @@ -141,6 +147,7 @@ export interface DomainArgs { ebsOptions?: pulumi.Input; encryptionAtRestOptions?: pulumi.Input; engineVersion?: pulumi.Input; + ipAddressType?: pulumi.Input; logPublishingOptions?: any; nodeToNodeEncryptionOptions?: pulumi.Input; offPeakWindowOptions?: pulumi.Input; diff --git a/sdk/nodejs/opensearchservice/getDomain.ts b/sdk/nodejs/opensearchservice/getDomain.ts index 02a18f0d6f..77b3fe4702 100644 --- a/sdk/nodejs/opensearchservice/getDomain.ts +++ b/sdk/nodejs/opensearchservice/getDomain.ts @@ -32,11 +32,13 @@ export interface GetDomainResult { readonly domainArn?: string; readonly domainEndpoint?: string; readonly domainEndpointOptions?: outputs.opensearchservice.DomainEndpointOptions; + readonly domainEndpointV2?: string; readonly domainEndpoints?: any; readonly ebsOptions?: outputs.opensearchservice.DomainEbsOptions; readonly encryptionAtRestOptions?: outputs.opensearchservice.DomainEncryptionAtRestOptions; readonly engineVersion?: string; readonly id?: string; + readonly ipAddressType?: string; readonly logPublishingOptions?: any; readonly nodeToNodeEncryptionOptions?: outputs.opensearchservice.DomainNodeToNodeEncryptionOptions; readonly offPeakWindowOptions?: outputs.opensearchservice.DomainOffPeakWindowOptions; diff --git a/sdk/nodejs/osis/getPipeline.ts b/sdk/nodejs/osis/getPipeline.ts index a57d66621e..1396bd64d0 100644 --- a/sdk/nodejs/osis/getPipeline.ts +++ b/sdk/nodejs/osis/getPipeline.ts @@ -26,6 +26,8 @@ export interface GetPipelineArgs { } export interface GetPipelineResult { + readonly bufferOptions?: outputs.osis.PipelineBufferOptions; + readonly encryptionAtRestOptions?: outputs.osis.PipelineEncryptionAtRestOptions; /** * A list of endpoints that can be used for ingesting data into a pipeline */ diff --git a/sdk/nodejs/osis/pipeline.ts b/sdk/nodejs/osis/pipeline.ts index 1a771ebc60..607ffc005b 100644 --- a/sdk/nodejs/osis/pipeline.ts +++ b/sdk/nodejs/osis/pipeline.ts @@ -37,6 +37,8 @@ export class Pipeline extends pulumi.CustomResource { return obj['__pulumiType'] === Pipeline.__pulumiType; } + public readonly bufferOptions!: pulumi.Output; + public readonly encryptionAtRestOptions!: pulumi.Output; /** * A list of endpoints that can be used for ingesting data into a pipeline */ @@ -92,6 +94,8 @@ export class Pipeline extends pulumi.CustomResource { if ((!args || args.pipelineConfigurationBody === undefined) && !opts.urn) { throw new Error("Missing required property 'pipelineConfigurationBody'"); } + resourceInputs["bufferOptions"] = args ? args.bufferOptions : undefined; + resourceInputs["encryptionAtRestOptions"] = args ? args.encryptionAtRestOptions : undefined; resourceInputs["logPublishingOptions"] = args ? args.logPublishingOptions : undefined; resourceInputs["maxUnits"] = args ? args.maxUnits : undefined; resourceInputs["minUnits"] = args ? args.minUnits : undefined; @@ -103,6 +107,8 @@ export class Pipeline extends pulumi.CustomResource { resourceInputs["pipelineArn"] = undefined /*out*/; resourceInputs["vpcEndpoints"] = undefined /*out*/; } else { + resourceInputs["bufferOptions"] = undefined /*out*/; + resourceInputs["encryptionAtRestOptions"] = undefined /*out*/; resourceInputs["ingestEndpointUrls"] = undefined /*out*/; resourceInputs["logPublishingOptions"] = undefined /*out*/; resourceInputs["maxUnits"] = undefined /*out*/; @@ -125,6 +131,8 @@ export class Pipeline extends pulumi.CustomResource { * The set of arguments for constructing a Pipeline resource. */ export interface PipelineArgs { + bufferOptions?: pulumi.Input; + encryptionAtRestOptions?: pulumi.Input; logPublishingOptions?: pulumi.Input; /** * The maximum pipeline capacity, in Ingestion Compute Units (ICUs). diff --git a/sdk/nodejs/route53resolver/getResolverConfig.ts b/sdk/nodejs/route53resolver/getResolverConfig.ts index c8f945c715..088bc21bac 100644 --- a/sdk/nodejs/route53resolver/getResolverConfig.ts +++ b/sdk/nodejs/route53resolver/getResolverConfig.ts @@ -14,15 +14,15 @@ export function getResolverConfig(args: GetResolverConfigArgs, opts?: pulumi.Inv opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws-native:route53resolver:getResolverConfig", { - "id": args.id, + "resourceId": args.resourceId, }, opts); } export interface GetResolverConfigArgs { /** - * Id + * ResourceId */ - id: string; + resourceId: string; } export interface GetResolverConfigResult { @@ -48,7 +48,7 @@ export function getResolverConfigOutput(args: GetResolverConfigOutputArgs, opts? export interface GetResolverConfigOutputArgs { /** - * Id + * ResourceId */ - id: pulumi.Input; + resourceId: pulumi.Input; } diff --git a/sdk/nodejs/s3express/directoryBucket.ts b/sdk/nodejs/s3express/directoryBucket.ts index 5e106475ed..9d0149610b 100644 --- a/sdk/nodejs/s3express/directoryBucket.ts +++ b/sdk/nodejs/s3express/directoryBucket.ts @@ -42,11 +42,11 @@ export class DirectoryBucket extends pulumi.CustomResource { */ public /*out*/ readonly arn!: pulumi.Output; /** - * 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. + * 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. */ public readonly bucketName!: pulumi.Output; /** - * Specifies the number of Avilability Zone that's used for redundancy for the bucket. + * Specifies the number of Availability Zone that's used for redundancy for the bucket. */ public readonly dataRedundancy!: pulumi.Output; /** @@ -93,11 +93,11 @@ export class DirectoryBucket extends pulumi.CustomResource { */ export interface DirectoryBucketArgs { /** - * 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. + * 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. */ bucketName?: pulumi.Input; /** - * Specifies the number of Avilability Zone that's used for redundancy for the bucket. + * Specifies the number of Availability Zone that's used for redundancy for the bucket. */ dataRedundancy: pulumi.Input; /** diff --git a/sdk/nodejs/s3express/getDirectoryBucket.ts b/sdk/nodejs/s3express/getDirectoryBucket.ts index d50e800716..a317844f50 100644 --- a/sdk/nodejs/s3express/getDirectoryBucket.ts +++ b/sdk/nodejs/s3express/getDirectoryBucket.ts @@ -17,7 +17,7 @@ export function getDirectoryBucket(args: GetDirectoryBucketArgs, opts?: pulumi.I export interface GetDirectoryBucketArgs { /** - * 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. + * 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. */ bucketName: string; } @@ -37,7 +37,7 @@ export function getDirectoryBucketOutput(args: GetDirectoryBucketOutputArgs, opt export interface GetDirectoryBucketOutputArgs { /** - * 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. + * 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. */ bucketName: pulumi.Input; } diff --git a/sdk/nodejs/sagemaker/domain.ts b/sdk/nodejs/sagemaker/domain.ts index 65675009ef..b98ac89488 100644 --- a/sdk/nodejs/sagemaker/domain.ts +++ b/sdk/nodejs/sagemaker/domain.ts @@ -82,6 +82,10 @@ export class Domain extends pulumi.CustomResource { * The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. */ public /*out*/ readonly securityGroupIdForDomainBoundary!: pulumi.Output; + /** + * The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + */ + public /*out*/ readonly singleSignOnApplicationArn!: pulumi.Output; /** * The SSO managed application instance ID. */ @@ -141,6 +145,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["domainId"] = undefined /*out*/; resourceInputs["homeEfsFileSystemId"] = undefined /*out*/; resourceInputs["securityGroupIdForDomainBoundary"] = undefined /*out*/; + resourceInputs["singleSignOnApplicationArn"] = undefined /*out*/; resourceInputs["singleSignOnManagedApplicationInstanceId"] = undefined /*out*/; resourceInputs["url"] = undefined /*out*/; } else { @@ -156,6 +161,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["homeEfsFileSystemId"] = undefined /*out*/; resourceInputs["kmsKeyId"] = undefined /*out*/; resourceInputs["securityGroupIdForDomainBoundary"] = undefined /*out*/; + resourceInputs["singleSignOnApplicationArn"] = undefined /*out*/; resourceInputs["singleSignOnManagedApplicationInstanceId"] = undefined /*out*/; resourceInputs["subnetIds"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; @@ -163,7 +169,7 @@ export class Domain extends pulumi.CustomResource { resourceInputs["vpcId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const replaceOnChanges = { replaceOnChanges: ["appNetworkAccessType", "authMode", "domainName", "domainSettings.rStudioServerProDomainSettings.defaultResourceSpec", "kmsKeyId", "subnetIds[*]", "tags[*]", "vpcId"] }; + const replaceOnChanges = { replaceOnChanges: ["authMode", "domainName", "domainSettings.rStudioServerProDomainSettings.defaultResourceSpec", "kmsKeyId", "tags[*]", "vpcId"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Domain.__pulumiType, name, resourceInputs, opts); } diff --git a/sdk/nodejs/sagemaker/getDomain.ts b/sdk/nodejs/sagemaker/getDomain.ts index eff6ef1113..40658b16f1 100644 --- a/sdk/nodejs/sagemaker/getDomain.ts +++ b/sdk/nodejs/sagemaker/getDomain.ts @@ -26,6 +26,10 @@ export interface GetDomainArgs { } export interface GetDomainResult { + /** + * Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. + */ + readonly appNetworkAccessType?: enums.sagemaker.DomainAppNetworkAccessType; /** * 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. */ @@ -55,10 +59,18 @@ export interface GetDomainResult { * The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app. */ readonly securityGroupIdForDomainBoundary?: string; + /** + * The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + */ + readonly singleSignOnApplicationArn?: string; /** * The SSO managed application instance ID. */ readonly singleSignOnManagedApplicationInstanceId?: string; + /** + * The VPC subnets that Studio uses for communication. + */ + readonly subnetIds?: string[]; /** * The URL to the created domain. */ diff --git a/sdk/nodejs/sns/getSubscription.ts b/sdk/nodejs/sns/getSubscription.ts index 416ba86277..0d51d97a29 100644 --- a/sdk/nodejs/sns/getSubscription.ts +++ b/sdk/nodejs/sns/getSubscription.ts @@ -27,6 +27,7 @@ export interface GetSubscriptionResult { readonly rawMessageDelivery?: boolean; readonly redrivePolicy?: any; readonly region?: string; + readonly replayPolicy?: any; readonly subscriptionRoleArn?: string; } /** diff --git a/sdk/nodejs/sns/subscription.ts b/sdk/nodejs/sns/subscription.ts index 937be5d936..cfb8c9cb1c 100644 --- a/sdk/nodejs/sns/subscription.ts +++ b/sdk/nodejs/sns/subscription.ts @@ -45,6 +45,7 @@ export class Subscription extends pulumi.CustomResource { public readonly rawMessageDelivery!: pulumi.Output; public readonly redrivePolicy!: pulumi.Output; public readonly region!: pulumi.Output; + public readonly replayPolicy!: pulumi.Output; public readonly subscriptionRoleArn!: pulumi.Output; public readonly topicArn!: pulumi.Output; @@ -75,6 +76,7 @@ export class Subscription extends pulumi.CustomResource { resourceInputs["rawMessageDelivery"] = args ? args.rawMessageDelivery : undefined; resourceInputs["redrivePolicy"] = args ? args.redrivePolicy : undefined; resourceInputs["region"] = args ? args.region : undefined; + resourceInputs["replayPolicy"] = args ? args.replayPolicy : undefined; resourceInputs["subscriptionRoleArn"] = args ? args.subscriptionRoleArn : undefined; resourceInputs["topicArn"] = args ? args.topicArn : undefined; } else { @@ -86,6 +88,7 @@ export class Subscription extends pulumi.CustomResource { resourceInputs["rawMessageDelivery"] = undefined /*out*/; resourceInputs["redrivePolicy"] = undefined /*out*/; resourceInputs["region"] = undefined /*out*/; + resourceInputs["replayPolicy"] = undefined /*out*/; resourceInputs["subscriptionRoleArn"] = undefined /*out*/; resourceInputs["topicArn"] = undefined /*out*/; } @@ -108,6 +111,7 @@ export interface SubscriptionArgs { rawMessageDelivery?: pulumi.Input; redrivePolicy?: any; region?: pulumi.Input; + replayPolicy?: any; subscriptionRoleArn?: pulumi.Input; topicArn: pulumi.Input; } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 19fd606ff7..61d035ed1e 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -381,6 +381,7 @@ "cloudfront/getDistribution.ts", "cloudfront/getFunction.ts", "cloudfront/getKeyGroup.ts", + "cloudfront/getKeyValueStore.ts", "cloudfront/getMonitoringSubscription.ts", "cloudfront/getOriginAccessControl.ts", "cloudfront/getOriginRequestPolicy.ts", @@ -390,6 +391,7 @@ "cloudfront/getStreamingDistribution.ts", "cloudfront/index.ts", "cloudfront/keyGroup.ts", + "cloudfront/keyValueStore.ts", "cloudfront/monitoringSubscription.ts", "cloudfront/originAccessControl.ts", "cloudfront/originRequestPolicy.ts", @@ -675,16 +677,22 @@ "dlm/index.ts", "dlm/lifecyclePolicy.ts", "dms/certificate.ts", + "dms/dataProvider.ts", "dms/endpoint.ts", "dms/eventSubscription.ts", "dms/getCertificate.ts", + "dms/getDataProvider.ts", "dms/getEndpoint.ts", "dms/getEventSubscription.ts", + "dms/getInstanceProfile.ts", + "dms/getMigrationProject.ts", "dms/getReplicationConfig.ts", "dms/getReplicationInstance.ts", "dms/getReplicationSubnetGroup.ts", "dms/getReplicationTask.ts", "dms/index.ts", + "dms/instanceProfile.ts", + "dms/migrationProject.ts", "dms/replicationConfig.ts", "dms/replicationInstance.ts", "dms/replicationSubnetGroup.ts", @@ -1053,7 +1061,9 @@ "finspace/index.ts", "fis/experimentTemplate.ts", "fis/getExperimentTemplate.ts", + "fis/getTargetAccountConfiguration.ts", "fis/index.ts", + "fis/targetAccountConfiguration.ts", "fms/getNotificationChannel.ts", "fms/getPolicy.ts", "fms/getResourceSet.ts", @@ -2502,6 +2512,7 @@ "types/enums/events/index.ts", "types/enums/evidently/index.ts", "types/enums/finspace/index.ts", + "types/enums/fis/index.ts", "types/enums/fms/index.ts", "types/enums/forecast/index.ts", "types/enums/frauddetector/index.ts", diff --git a/sdk/nodejs/types/enums/connect/index.ts b/sdk/nodejs/types/enums/connect/index.ts index 9ee2f3433e..599523fbf5 100644 --- a/sdk/nodejs/types/enums/connect/index.ts +++ b/sdk/nodejs/types/enums/connect/index.ts @@ -181,6 +181,7 @@ export type InstanceStorageConfigStorageType = (typeof InstanceStorageConfigStor export const IntegrationAssociationIntegrationType = { LexBot: "LEX_BOT", LambdaFunction: "LAMBDA_FUNCTION", + Application: "APPLICATION", } as const; /** diff --git a/sdk/nodejs/types/enums/dms/index.ts b/sdk/nodejs/types/enums/dms/index.ts index 1cb705f26f..dcef3dd2a1 100644 --- a/sdk/nodejs/types/enums/dms/index.ts +++ b/sdk/nodejs/types/enums/dms/index.ts @@ -2,6 +2,40 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const DataProviderDmsSslModeValue = { + None: "none", + Require: "require", + VerifyCa: "verify_ca", + VerifyFull: "verify_full", +} as const; + +export type DataProviderDmsSslModeValue = (typeof DataProviderDmsSslModeValue)[keyof typeof DataProviderDmsSslModeValue]; + +export const DataProviderEngine = { + Postgresql: "postgresql", + Mysql: "mysql", + Oracle: "oracle", + Sqlserver: "sqlserver", + Aurora: "aurora", + AuroraPostgresql: "aurora_postgresql", +} as const; + +/** + * The property describes a data engine for the data provider. + */ +export type DataProviderEngine = (typeof DataProviderEngine)[keyof typeof DataProviderEngine]; + +export const InstanceProfileNetworkType = { + Ipv4: "IPV4", + Ipv6: "IPV6", + Dual: "DUAL", +} as const; + +/** + * The property describes a network type for the instance profile. + */ +export type InstanceProfileNetworkType = (typeof InstanceProfileNetworkType)[keyof typeof InstanceProfileNetworkType]; + export const ReplicationConfigReplicationType = { FullLoad: "full-load", FullLoadAndCdc: "full-load-and-cdc", diff --git a/sdk/nodejs/types/enums/ec2/index.ts b/sdk/nodejs/types/enums/ec2/index.ts index d3c9969d5c..7fbf3f4fd7 100644 --- a/sdk/nodejs/types/enums/ec2/index.ts +++ b/sdk/nodejs/types/enums/ec2/index.ts @@ -250,6 +250,26 @@ export const FlowLogTrafficType = { */ export type FlowLogTrafficType = (typeof FlowLogTrafficType)[keyof typeof FlowLogTrafficType]; +export const InstanceAffinity = { + Default: "default", + Host: "host", +} as const; + +/** + * Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + */ +export type InstanceAffinity = (typeof InstanceAffinity)[keyof typeof InstanceAffinity]; + +export const InstancePrivateDnsNameOptionsHostnameType = { + IpName: "ip-name", + ResourceName: "resource-name", +} as const; + +/** + * The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ +export type InstancePrivateDnsNameOptionsHostnameType = (typeof InstancePrivateDnsNameOptionsHostnameType)[keyof typeof InstancePrivateDnsNameOptionsHostnameType]; + export const IpamPoolAwsService = { Ec2: "ec2", } as const; diff --git a/sdk/nodejs/types/enums/ecs/index.ts b/sdk/nodejs/types/enums/ecs/index.ts index 1e80fe2184..5d2b8e4b9d 100644 --- a/sdk/nodejs/types/enums/ecs/index.ts +++ b/sdk/nodejs/types/enums/ecs/index.ts @@ -2,6 +2,13 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** +export const CapacityProviderAutoScalingGroupProviderManagedDraining = { + Disabled: "DISABLED", + Enabled: "ENABLED", +} as const; + +export type CapacityProviderAutoScalingGroupProviderManagedDraining = (typeof CapacityProviderAutoScalingGroupProviderManagedDraining)[keyof typeof CapacityProviderAutoScalingGroupProviderManagedDraining]; + export const CapacityProviderAutoScalingGroupProviderManagedTerminationProtection = { Disabled: "DISABLED", Enabled: "ENABLED", diff --git a/sdk/nodejs/types/enums/emr/index.ts b/sdk/nodejs/types/enums/emr/index.ts index c647766f19..dd44520a67 100644 --- a/sdk/nodejs/types/enums/emr/index.ts +++ b/sdk/nodejs/types/enums/emr/index.ts @@ -12,6 +12,16 @@ export const StudioAuthMode = { */ export type StudioAuthMode = (typeof StudioAuthMode)[keyof typeof StudioAuthMode]; +export const StudioIdcUserAssignment = { + Required: "REQUIRED", + Optional: "OPTIONAL", +} as const; + +/** + * 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. + */ +export type StudioIdcUserAssignment = (typeof StudioIdcUserAssignment)[keyof typeof StudioIdcUserAssignment]; + export const StudioSessionMappingIdentityType = { User: "USER", Group: "GROUP", diff --git a/sdk/nodejs/types/enums/fis/index.ts b/sdk/nodejs/types/enums/fis/index.ts new file mode 100644 index 0000000000..c17e04f438 --- /dev/null +++ b/sdk/nodejs/types/enums/fis/index.ts @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi SDK Generator. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const ExperimentTemplateExperimentOptionsAccountTargeting = { + MultiAccount: "multi-account", + SingleAccount: "single-account", +} as const; + +/** + * The account targeting setting for the experiment template. + */ +export type ExperimentTemplateExperimentOptionsAccountTargeting = (typeof ExperimentTemplateExperimentOptionsAccountTargeting)[keyof typeof ExperimentTemplateExperimentOptionsAccountTargeting]; + +export const ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode = { + Fail: "fail", + Skip: "skip", +} as const; + +/** + * The target resolution failure mode for the experiment template. + */ +export type ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode = (typeof ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode)[keyof typeof ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode]; diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index cac00ec1a0..d90cb18c36 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -47,6 +47,7 @@ import * as entityresolution from "./entityresolution"; import * as events from "./events"; import * as evidently from "./evidently"; import * as finspace from "./finspace"; +import * as fis from "./fis"; import * as fms from "./fms"; import * as forecast from "./forecast"; import * as frauddetector from "./frauddetector"; @@ -198,6 +199,7 @@ export { events, evidently, finspace, + fis, fms, forecast, frauddetector, diff --git a/sdk/nodejs/types/enums/s3express/index.ts b/sdk/nodejs/types/enums/s3express/index.ts index 72416a8f9f..790adc46d1 100644 --- a/sdk/nodejs/types/enums/s3express/index.ts +++ b/sdk/nodejs/types/enums/s3express/index.ts @@ -7,6 +7,6 @@ export const DirectoryBucketDataRedundancy = { } as const; /** - * Specifies the number of Avilability Zone that's used for redundancy for the bucket. + * Specifies the number of Availability Zone that's used for redundancy for the bucket. */ export type DirectoryBucketDataRedundancy = (typeof DirectoryBucketDataRedundancy)[keyof typeof DirectoryBucketDataRedundancy]; diff --git a/sdk/nodejs/types/enums/sagemaker/index.ts b/sdk/nodejs/types/enums/sagemaker/index.ts index 13672da655..e8f21cb3d7 100644 --- a/sdk/nodejs/types/enums/sagemaker/index.ts +++ b/sdk/nodejs/types/enums/sagemaker/index.ts @@ -63,6 +63,9 @@ export const AppResourceSpecInstanceType = { MlP4d24xlarge: "ml.p4d.24xlarge", MlP4de24xlarge: "ml.p4de.24xlarge", MlGeospatialInteractive: "ml.geospatial.interactive", + MlTrn12xlarge: "ml.trn1.2xlarge", + MlTrn132xlarge: "ml.trn1.32xlarge", + MlTrn1n32xlarge: "ml.trn1n.32xlarge", } as const; /** @@ -244,6 +247,9 @@ export const DomainResourceSpecInstanceType = { MlP4d24xlarge: "ml.p4d.24xlarge", MlP4de24xlarge: "ml.p4de.24xlarge", MlGeospatialInteractive: "ml.geospatial.interactive", + MlTrn12xlarge: "ml.trn1.2xlarge", + MlTrn132xlarge: "ml.trn1.32xlarge", + MlTrn1n32xlarge: "ml.trn1n.32xlarge", } as const; /** @@ -261,6 +267,16 @@ export const DomainSharingSettingsNotebookOutputOption = { */ export type DomainSharingSettingsNotebookOutputOption = (typeof DomainSharingSettingsNotebookOutputOption)[keyof typeof DomainSharingSettingsNotebookOutputOption]; +export const DomainUserSettingsStudioWebPortal = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ +export type DomainUserSettingsStudioWebPortal = (typeof DomainUserSettingsStudioWebPortal)[keyof typeof DomainUserSettingsStudioWebPortal]; + export const FeatureGroupFeatureDefinitionFeatureType = { Integral: "Integral", Fractional: "Fractional", @@ -269,6 +285,13 @@ export const FeatureGroupFeatureDefinitionFeatureType = { export type FeatureGroupFeatureDefinitionFeatureType = (typeof FeatureGroupFeatureDefinitionFeatureType)[keyof typeof FeatureGroupFeatureDefinitionFeatureType]; +export const FeatureGroupStorageType = { + Standard: "Standard", + InMemory: "InMemory", +} as const; + +export type FeatureGroupStorageType = (typeof FeatureGroupStorageType)[keyof typeof FeatureGroupStorageType]; + export const FeatureGroupTableFormat = { Iceberg: "Iceberg", Glue: "Glue", @@ -1006,6 +1029,9 @@ export const UserProfileResourceSpecInstanceType = { MlP4d24xlarge: "ml.p4d.24xlarge", MlP4de24xlarge: "ml.p4de.24xlarge", MlGeospatialInteractive: "ml.geospatial.interactive", + MlTrn12xlarge: "ml.trn1.2xlarge", + MlTrn132xlarge: "ml.trn1.32xlarge", + MlTrn1n32xlarge: "ml.trn1n.32xlarge", } as const; /** @@ -1022,3 +1048,13 @@ export const UserProfileSharingSettingsNotebookOutputOption = { * Whether to include the notebook cell output when sharing the notebook. The default is Disabled. */ export type UserProfileSharingSettingsNotebookOutputOption = (typeof UserProfileSharingSettingsNotebookOutputOption)[keyof typeof UserProfileSharingSettingsNotebookOutputOption]; + +export const UserProfileUserSettingsStudioWebPortal = { + Enabled: "ENABLED", + Disabled: "DISABLED", +} as const; + +/** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ +export type UserProfileUserSettingsStudioWebPortal = (typeof UserProfileUserSettingsStudioWebPortal)[keyof typeof UserProfileUserSettingsStudioWebPortal]; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 69c4924f5c..8ad4caad7b 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -755,7 +755,7 @@ export namespace accessanalyzer { */ export interface AnalyzerUnusedAccessConfigurationArgs { /** - * 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. + * 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. */ unusedAccessAge?: pulumi.Input; } @@ -5398,14 +5398,14 @@ export namespace autoscaling { localStorage?: pulumi.Input; localStorageTypes?: pulumi.Input[]>; memoryGiBPerVCpu?: pulumi.Input; - memoryMiB?: pulumi.Input; + memoryMiB: pulumi.Input; networkBandwidthGbps?: pulumi.Input; networkInterfaceCount?: pulumi.Input; onDemandMaxPricePercentageOverLowestPrice?: pulumi.Input; requireHibernateSupport?: pulumi.Input; spotMaxPricePercentageOverLowestPrice?: pulumi.Input; totalLocalStorageGb?: pulumi.Input; - vCpuCount?: pulumi.Input; + vCpuCount: pulumi.Input; } export interface AutoScalingGroupInstancesDistributionArgs { @@ -6558,6 +6558,15 @@ export namespace cleanrooms { accountId: pulumi.Input; displayName: pulumi.Input; memberAbilities: pulumi.Input[]>; + paymentConfiguration?: pulumi.Input; + } + + export interface CollaborationPaymentConfigurationArgs { + queryCompute: pulumi.Input; + } + + export interface CollaborationQueryComputePaymentConfigArgs { + isResponsible: pulumi.Input; } export interface CollaborationTagArgs { @@ -6637,6 +6646,10 @@ export namespace cleanrooms { value: pulumi.Input; } + export interface MembershipPaymentConfigurationArgs { + queryCompute: pulumi.Input; + } + export interface MembershipProtectedQueryOutputConfigurationArgs { s3: pulumi.Input; } @@ -6652,6 +6665,10 @@ export namespace cleanrooms { resultFormat: pulumi.Input; } + export interface MembershipQueryComputePaymentConfigArgs { + isResponsible: pulumi.Input; + } + export interface MembershipTagArgs { key: pulumi.Input; value: pulumi.Input; @@ -7099,6 +7116,11 @@ export namespace cloudfront { name: pulumi.Input; } + export interface KeyValueStoreImportSourceArgs { + sourceArn: pulumi.Input; + sourceType: pulumi.Input; + } + export interface MonitoringSubscriptionArgs { realtimeMetricsSubscriptionConfig?: pulumi.Input; } @@ -7911,6 +7933,11 @@ export namespace codedeploy { value: pulumi.Input; } + export interface DeploymentConfigMinimumHealthyHostsPerZoneArgs { + type: pulumi.Input; + value: pulumi.Input; + } + export interface DeploymentConfigTimeBasedCanaryArgs { canaryInterval: pulumi.Input; canaryPercentage: pulumi.Input; @@ -7927,6 +7954,12 @@ export namespace codedeploy { type: pulumi.Input; } + export interface DeploymentConfigZonalConfigArgs { + firstZoneMonitorDurationInSeconds?: pulumi.Input; + minimumHealthyHostsPerZone?: pulumi.Input; + monitorDurationInSeconds?: pulumi.Input; + } + export interface DeploymentGroupAlarmArgs { name?: pulumi.Input; } @@ -8227,6 +8260,20 @@ export namespace codepipeline { type: pulumi.Input; } + export interface PipelineGitConfigurationArgs { + push?: pulumi.Input[]>; + sourceActionName: pulumi.Input; + } + + export interface PipelineGitPushFilterArgs { + tags?: pulumi.Input; + } + + export interface PipelineGitTagFilterCriteriaArgs { + excludes?: pulumi.Input[]>; + includes?: pulumi.Input[]>; + } + export interface PipelineInputArtifactArgs { name: pulumi.Input; } @@ -8251,6 +8298,17 @@ export namespace codepipeline { value: pulumi.Input; } + export interface PipelineTriggerDeclarationArgs { + gitConfiguration?: pulumi.Input; + providerType: pulumi.Input; + } + + export interface PipelineVariableDeclarationArgs { + defaultValue?: pulumi.Input; + description?: pulumi.Input; + name: pulumi.Input; + } + export interface WebhookAuthConfigurationArgs { allowedIpRange?: pulumi.Input; secretToken?: pulumi.Input; @@ -8770,6 +8828,17 @@ export namespace configuration { resourceTypes?: pulumi.Input[]>; } + export interface ConfigurationRecorderRecordingModeArgs { + recordingFrequency: pulumi.Input; + recordingModeOverrides?: pulumi.Input[]>; + } + + export interface ConfigurationRecorderRecordingModeOverrideArgs { + description?: pulumi.Input; + recordingFrequency: pulumi.Input; + resourceTypes: pulumi.Input[]>; + } + export interface ConfigurationRecorderRecordingStrategyArgs { useOnly: pulumi.Input; } @@ -9243,7 +9312,7 @@ export namespace connect { } export interface InstanceStorageConfigKinesisVideoStreamConfigArgs { - encryptionConfig?: pulumi.Input; + encryptionConfig: pulumi.Input; prefix: pulumi.Input; retentionPeriodHours: pulumi.Input; } @@ -9254,6 +9323,20 @@ export namespace connect { encryptionConfig?: pulumi.Input; } + /** + * A key-value pair to associate with a resource. + */ + export interface InstanceTagArgs { + /** + * 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 -. + */ + key: pulumi.Input; + /** + * 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 -. + */ + value: pulumi.Input; + } + /** * A key-value pair to associate with a resource. */ @@ -11763,6 +11846,20 @@ export namespace dlm { } export namespace dms { + /** + * A key-value pair to associate with a resource. + */ + export interface DataProviderTagArgs { + /** + * 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 -. + */ + key: pulumi.Input; + /** + * 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 -. + */ + value: pulumi.Input; + } + export interface EndpointDocDbSettingsArgs { docsToInvestigate?: pulumi.Input; extractDocId?: pulumi.Input; @@ -11800,10 +11897,14 @@ export namespace dms { export interface EndpointIbmDb2SettingsArgs { currentLsn?: pulumi.Input; + keepCsvFiles?: pulumi.Input; + loadTimeout?: pulumi.Input; + maxFileSize?: pulumi.Input; maxKBytesPerRead?: pulumi.Input; secretsManagerAccessRoleArn?: pulumi.Input; secretsManagerSecretId?: pulumi.Input; setDataCaptureChanges?: pulumi.Input; + writeBufferSize?: pulumi.Input; } export interface EndpointKafkaSettingsArgs { @@ -12053,6 +12154,45 @@ export namespace dms { value: pulumi.Input; } + /** + * A key-value pair to associate with a resource. + */ + export interface InstanceProfileTagArgs { + /** + * 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 -. + */ + key: pulumi.Input; + /** + * 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 -. + */ + value: pulumi.Input; + } + + /** + * It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + */ + export interface MigrationProjectDataProviderDescriptorArgs { + dataProviderArn?: pulumi.Input; + dataProviderIdentifier?: pulumi.Input; + dataProviderName?: pulumi.Input; + secretsManagerAccessRoleArn?: pulumi.Input; + secretsManagerSecretId?: pulumi.Input; + } + + /** + * A key-value pair to associate with a resource. + */ + export interface MigrationProjectTagArgs { + /** + * 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 -. + */ + key: pulumi.Input; + /** + * 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 -. + */ + value: pulumi.Input; + } + /** * Configuration parameters for provisioning a AWS DMS Serverless replication */ @@ -12097,6 +12237,78 @@ export namespace dms { key: pulumi.Input; value: pulumi.Input; } + + /** + * The property describes schema conversion application attributes for the migration project. + */ + export interface SchemaConversionApplicationAttributesPropertiesArgs { + s3BucketPath?: pulumi.Input; + s3BucketRoleArn?: pulumi.Input; + } + + /** + * PostgreSqlSettings property identifier. + */ + export interface Settings0PropertiesArgs { + postgreSqlSettings?: pulumi.Input; + } + + export interface Settings0PropertiesPostgreSqlSettingsPropertiesArgs { + certificateArn?: pulumi.Input; + databaseName?: pulumi.Input; + port?: pulumi.Input; + serverName?: pulumi.Input; + sslMode?: pulumi.Input; + } + + /** + * MySqlSettings property identifier. + */ + export interface Settings1PropertiesArgs { + mySqlSettings?: pulumi.Input; + } + + export interface Settings1PropertiesMySqlSettingsPropertiesArgs { + certificateArn?: pulumi.Input; + port?: pulumi.Input; + serverName?: pulumi.Input; + sslMode?: pulumi.Input; + } + + /** + * OracleSettings property identifier. + */ + export interface Settings2PropertiesArgs { + oracleSettings?: pulumi.Input; + } + + export interface Settings2PropertiesOracleSettingsPropertiesArgs { + asmServer?: pulumi.Input; + certificateArn?: pulumi.Input; + databaseName?: pulumi.Input; + port?: pulumi.Input; + secretsManagerOracleAsmAccessRoleArn?: pulumi.Input; + secretsManagerOracleAsmSecretId?: pulumi.Input; + secretsManagerSecurityDbEncryptionAccessRoleArn?: pulumi.Input; + secretsManagerSecurityDbEncryptionSecretId?: pulumi.Input; + serverName?: pulumi.Input; + sslMode?: pulumi.Input; + } + + /** + * MicrosoftSqlServerSettings property identifier. + */ + export interface Settings3PropertiesArgs { + microsoftSqlServerSettings?: pulumi.Input; + } + + export interface Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs { + certificateArn?: pulumi.Input; + databaseName?: pulumi.Input; + port?: pulumi.Input; + serverName?: pulumi.Input; + sslMode?: pulumi.Input; + } } export namespace docdb { @@ -12405,6 +12617,21 @@ export namespace ec2 { tags: pulumi.Input[]>; } + /** + * The CPU options for the instance. + */ + export interface CpuOptionsPropertiesArgs { + coreCount?: pulumi.Input; + threadsPerCore?: pulumi.Input; + } + + /** + * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + */ + export interface CreditSpecificationPropertiesArgs { + cpuCredits?: pulumi.Input; + } + export interface CustomerGatewayTagArgs { key: pulumi.Input; value: pulumi.Input; @@ -12581,20 +12808,52 @@ export namespace ec2 { value: pulumi.Input; } + /** + * Indicates whether the instance is enabled for AWS Nitro Enclaves. + */ + export interface EnclaveOptionsPropertiesArgs { + /** + * If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + */ + enabled?: pulumi.Input; + } + export interface FlowLogTagArgs { key: pulumi.Input; value: pulumi.Input; } + /** + * Indicates whether an instance is enabled for hibernation. + */ + export interface HibernationOptionsPropertiesArgs { + /** + * If you set this parameter to true, your instance is enabled for hibernation. + */ + configured?: pulumi.Input; + } + export interface InstanceAssociationParameterArgs { + /** + * The name of an input parameter that is in the associated SSM document. + */ key: pulumi.Input; + /** + * The value of an input parameter. + */ value: pulumi.Input[]>; } export interface InstanceBlockDeviceMappingArgs { + /** + * The device name (for example, /dev/sdh or xvdh). + */ deviceName: pulumi.Input; + /** + * Parameters used to automatically set up EBS volumes when the instance is launched. + */ ebs?: pulumi.Input; - noDevice?: pulumi.Input; + noDevice?: any; virtualName?: pulumi.Input; } @@ -12606,88 +12865,173 @@ export namespace ec2 { value: pulumi.Input; } - export interface InstanceCpuOptionsArgs { - coreCount?: pulumi.Input; - threadsPerCore?: pulumi.Input; - } - - export interface InstanceCreditSpecificationArgs { - cpuCredits?: pulumi.Input; - } - export interface InstanceEbsArgs { + /** + * Indicates whether the EBS volume is deleted on instance termination. + */ deleteOnTermination?: pulumi.Input; + /** + * Indicates whether the volume should be encrypted. + */ encrypted?: pulumi.Input; + /** + * The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + */ iops?: pulumi.Input; + /** + * The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + */ kmsKeyId?: pulumi.Input; + /** + * The ID of the snapshot. + */ snapshotId?: pulumi.Input; + /** + * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + */ volumeSize?: pulumi.Input; + /** + * The volume type. + */ volumeType?: pulumi.Input; } export interface InstanceElasticGpuSpecificationArgs { + /** + * The type of Elastic Graphics accelerator. + */ type: pulumi.Input; } export interface InstanceElasticInferenceAcceleratorArgs { + /** + * The number of elastic inference accelerators to attach to the instance. + */ count?: pulumi.Input; + /** + * The type of elastic inference accelerator. + */ type: pulumi.Input; } - export interface InstanceEnclaveOptionsArgs { - enabled?: pulumi.Input; - } - - export interface InstanceHibernationOptionsArgs { - configured?: pulumi.Input; - } - export interface InstanceIpv6AddressArgs { + /** + * The IPv6 address. + */ ipv6Address: pulumi.Input; } export interface InstanceLaunchTemplateSpecificationArgs { + /** + * The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + */ launchTemplateId?: pulumi.Input; + /** + * The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + */ launchTemplateName?: pulumi.Input; - version: pulumi.Input; + /** + * The version number of the launch template. + */ + version?: pulumi.Input; } export interface InstanceLicenseSpecificationArgs { + /** + * The Amazon Resource Name (ARN) of the license configuration. + */ licenseConfigurationArn: pulumi.Input; } export interface InstanceNetworkInterfaceArgs { + /** + * Not currently supported by AWS CloudFormation. + */ associateCarrierIpAddress?: pulumi.Input; + /** + * Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + */ associatePublicIpAddress?: pulumi.Input; + /** + * If set to true, the interface is deleted when the instance is terminated. + */ deleteOnTermination?: pulumi.Input; + /** + * The description of the network interface. + */ description?: pulumi.Input; + /** + * The position of the network interface in the attachment order. A primary network interface has a device index of 0. + */ deviceIndex: pulumi.Input; + /** + * The IDs of the security groups for the network interface. + */ groupSet?: pulumi.Input[]>; + /** + * A number of IPv6 addresses to assign to the network interface. + */ ipv6AddressCount?: pulumi.Input; + /** + * The IPv6 addresses associated with the network interface. + */ ipv6Addresses?: pulumi.Input[]>; + /** + * The ID of the network interface. + */ networkInterfaceId?: pulumi.Input; + /** + * The private IPv4 address of the network interface. + */ privateIpAddress?: pulumi.Input; + /** + * One or more private IPv4 addresses to assign to the network interface. + */ privateIpAddresses?: pulumi.Input[]>; + /** + * The number of secondary private IPv4 addresses. + */ secondaryPrivateIpAddressCount?: pulumi.Input; + /** + * The ID of the subnet. + */ subnetId?: pulumi.Input; } - export interface InstanceNoDeviceArgs { - } - export interface InstancePrivateDnsNameOptionsArgs { + /** + * Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ enableResourceNameDnsARecord?: pulumi.Input; + /** + * Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ enableResourceNameDnsAaaaRecord?: pulumi.Input; - hostnameType?: pulumi.Input; + /** + * The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ + hostnameType?: pulumi.Input; } export interface InstancePrivateIpAddressSpecificationArgs { + /** + * Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + */ primary: pulumi.Input; + /** + * The private IPv4 addresses. + */ privateIpAddress: pulumi.Input; } export interface InstanceSsmAssociationArgs { + /** + * The input parameter values to use with the associated SSM document. + */ associationParameters?: pulumi.Input[]>; + /** + * The name of an SSM document to associate with the instance. + */ documentName: pulumi.Input; } @@ -12697,7 +13041,13 @@ export namespace ec2 { } export interface InstanceVolumeArgs { + /** + * The device name (for example, /dev/sdh or xvdh). + */ device: pulumi.Input; + /** + * The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + */ volumeId: pulumi.Input; } @@ -14364,6 +14714,10 @@ export namespace ec2 { * The options for device identity based trust providers. */ export interface VerifiedAccessTrustProviderDeviceOptionsArgs { + /** + * URL Verified Access will use to verify authenticity of the device tokens. + */ + publicSigningKeyUrl?: pulumi.Input; /** * The ID of the tenant application with the device-identity provider. */ @@ -14575,6 +14929,7 @@ export namespace ecr { export namespace ecs { export interface CapacityProviderAutoScalingGroupProviderArgs { autoScalingGroupArn: pulumi.Input; + managedDraining?: pulumi.Input; managedScaling?: pulumi.Input; managedTerminationProtection?: pulumi.Input; } @@ -15624,6 +15979,20 @@ export namespace elasticache { maximum: pulumi.Input; } + /** + * The address and the port. + */ + export interface ServerlessCacheEndpointArgs { + /** + * Endpoint address. + */ + address?: pulumi.Input; + /** + * Endpoint port. + */ + port?: pulumi.Input; + } + /** * A key-value pair to associate with Serverless Cache. */ @@ -17467,6 +17836,17 @@ export namespace fis { export interface ExperimentTemplateActionMapArgs { } + export interface ExperimentTemplateExperimentOptionsArgs { + /** + * The account targeting setting for the experiment template. + */ + accountTargeting?: pulumi.Input; + /** + * The target resolution failure mode for the experiment template. + */ + emptyTargetResolutionMode?: pulumi.Input; + } + export interface ExperimentTemplateLogConfigurationArgs { cloudWatchLogsConfiguration?: pulumi.Input; logSchemaVersion: pulumi.Input; @@ -26013,16 +26393,31 @@ export namespace lambda { untrustedArtifactOnDeployment: pulumi.Input; } + /** + * A destination for events after they have been sent to a function for processing. + */ export interface EventInvokeConfigDestinationConfigArgs { onFailure?: pulumi.Input; onSuccess?: pulumi.Input; } + /** + * The destination configuration for failed invocations. + */ export interface EventInvokeConfigOnFailureArgs { + /** + * The Amazon Resource Name (ARN) of the destination resource. + */ destination: pulumi.Input; } + /** + * The destination configuration for successful invocations. + */ export interface EventInvokeConfigOnSuccessArgs { + /** + * The Amazon Resource Name (ARN) of the destination resource. + */ destination: pulumi.Input; } @@ -33562,6 +33957,26 @@ export namespace organizations { } export namespace osis { + /** + * Key-value pairs to configure buffering. + */ + export interface PipelineBufferOptionsArgs { + /** + * Whether persistent buffering should be enabled. + */ + persistentBufferEnabled: pulumi.Input; + } + + /** + * Key-value pairs to configure encryption at rest. + */ + export interface PipelineEncryptionAtRestOptionsArgs { + /** + * The KMS key to use for encrypting data. By default an AWS owned key is used + */ + kmsKeyArn: pulumi.Input; + } + /** * Key-value pairs to configure log publishing. */ @@ -33580,7 +33995,7 @@ export namespace osis { * The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. */ export interface PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs { - logGroup?: pulumi.Input; + logGroup: pulumi.Input; } /** @@ -33608,7 +34023,7 @@ export namespace osis { /** * A list of subnet IDs associated with the VPC endpoint. */ - subnetIds?: pulumi.Input[]>; + subnetIds: pulumi.Input[]>; } } @@ -47134,6 +47549,7 @@ export namespace s3 { */ destinationBucketName?: pulumi.Input; logFilePrefix?: pulumi.Input; + targetObjectKeyFormat?: pulumi.Input; } export interface BucketMetricsArgs { @@ -47506,6 +47922,12 @@ export namespace s3 { value: pulumi.Input; } + /** + * Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + */ + export interface BucketTargetObjectKeyFormatArgs { + } + export interface BucketTieringArgs { /** * 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. @@ -48407,6 +48829,31 @@ export namespace sagemaker { value: pulumi.Input; } + /** + * The CodeEditor app settings. + */ + export interface DomainCodeEditorAppSettingsArgs { + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + */ + defaultResourceSpec?: pulumi.Input; + /** + * A list of LifecycleConfigArns available for use with CodeEditor apps. + */ + lifecycleConfigArns?: pulumi.Input[]>; + } + + export interface DomainCodeRepositoryArgs { + /** + * A CodeRepository (valid URL) to be used within Jupyter's Git extension. + */ + repositoryUrl: pulumi.Input; + } + + export interface DomainCustomFileSystemConfigArgs { + efsFileSystemConfig?: pulumi.Input; + } + /** * A custom SageMaker image. */ @@ -48425,6 +48872,25 @@ export namespace sagemaker { imageVersionNumber?: pulumi.Input; } + export interface DomainCustomPosixUserConfigArgs { + gid: pulumi.Input; + uid: pulumi.Input; + } + + /** + * 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 + */ + export interface DomainDefaultEbsStorageSettingsArgs { + /** + * Default size of the Amazon EBS volume in Gb + */ + defaultEbsVolumeSizeInGb: pulumi.Input; + /** + * Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + */ + maximumEbsVolumeSizeInGb: pulumi.Input; + } + /** * A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called. */ @@ -48447,6 +48913,40 @@ export namespace sagemaker { securityGroups?: pulumi.Input[]>; } + /** + * Default storage settings for a space. + */ + export interface DomainDefaultSpaceStorageSettingsArgs { + defaultEbsStorageSettings?: pulumi.Input; + } + + export interface DomainEfsFileSystemConfigArgs { + fileSystemId: pulumi.Input; + fileSystemPath?: pulumi.Input; + } + + /** + * The JupyterLab app settings. + */ + export interface DomainJupyterLabAppSettingsArgs { + /** + * A list of CodeRepositories available for use with JupyterLab apps. + */ + codeRepositories?: pulumi.Input[]>; + /** + * A list of custom images for use for JupyterLab apps. + */ + customImages?: pulumi.Input[]>; + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + */ + defaultResourceSpec?: pulumi.Input; + /** + * A list of LifecycleConfigArns available for use with JupyterLab apps. + */ + lifecycleConfigArns?: pulumi.Input[]>; + } + /** * The JupyterServer app settings. */ @@ -48569,10 +49069,18 @@ export namespace sagemaker { * 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. */ export interface DomainUserSettingsArgs { + codeEditorAppSettings?: pulumi.Input; + customFileSystemConfigs?: pulumi.Input[]>; + customPosixUserConfig?: pulumi.Input; + /** + * Defines which Amazon SageMaker application users are directed to by default. + */ + defaultLandingUri?: pulumi.Input; /** * The execution role for the user. */ executionRole: pulumi.Input; + jupyterLabAppSettings?: pulumi.Input; /** * The Jupyter server's app settings. */ @@ -48591,6 +49099,11 @@ export namespace sagemaker { * The sharing settings. */ sharingSettings?: pulumi.Input; + spaceStorageSettings?: pulumi.Input; + /** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ + studioWebPortal?: pulumi.Input; } export interface EndpointAlarmArgs { @@ -51117,6 +51630,7 @@ export namespace sagemaker { export interface OnlineStoreConfigPropertiesArgs { enableOnlineStore?: pulumi.Input; securityConfig?: pulumi.Input; + storageType?: pulumi.Input; } export interface ParallelismConfigurationPropertiesArgs { @@ -51283,6 +51797,31 @@ export namespace sagemaker { value: pulumi.Input; } + /** + * The CodeEditor app settings. + */ + export interface UserProfileCodeEditorAppSettingsArgs { + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + */ + defaultResourceSpec?: pulumi.Input; + /** + * A list of LifecycleConfigArns available for use with CodeEditor apps. + */ + lifecycleConfigArns?: pulumi.Input[]>; + } + + export interface UserProfileCodeRepositoryArgs { + /** + * A CodeRepository (valid URL) to be used within Jupyter's Git extension. + */ + repositoryUrl: pulumi.Input; + } + + export interface UserProfileCustomFileSystemConfigArgs { + efsFileSystemConfig?: pulumi.Input; + } + /** * A custom SageMaker image. */ @@ -51301,6 +51840,59 @@ export namespace sagemaker { imageVersionNumber?: pulumi.Input; } + export interface UserProfileCustomPosixUserConfigArgs { + gid: pulumi.Input; + uid: pulumi.Input; + } + + /** + * Properties related to the Amazon Elastic Block Store volume. + */ + export interface UserProfileDefaultEbsStorageSettingsArgs { + /** + * Default size of the Amazon EBS volume in Gb + */ + defaultEbsVolumeSizeInGb: pulumi.Input; + /** + * Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + */ + maximumEbsVolumeSizeInGb: pulumi.Input; + } + + /** + * Default storage settings for a space. + */ + export interface UserProfileDefaultSpaceStorageSettingsArgs { + defaultEbsStorageSettings?: pulumi.Input; + } + + export interface UserProfileEfsFileSystemConfigArgs { + fileSystemId: pulumi.Input; + fileSystemPath?: pulumi.Input; + } + + /** + * The JupyterLab app settings. + */ + export interface UserProfileJupyterLabAppSettingsArgs { + /** + * A list of CodeRepositories available for use with JupyterLab apps. + */ + codeRepositories?: pulumi.Input[]>; + /** + * A list of custom images available for use for JupyterLab apps + */ + customImages?: pulumi.Input[]>; + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + */ + defaultResourceSpec?: pulumi.Input; + /** + * A list of LifecycleConfigArns available for use with JupyterLab apps. + */ + lifecycleConfigArns?: pulumi.Input[]>; + } + /** * The JupyterServer app settings. */ @@ -51378,10 +51970,18 @@ export namespace sagemaker { * 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. */ export interface UserProfileUserSettingsArgs { + codeEditorAppSettings?: pulumi.Input; + customFileSystemConfigs?: pulumi.Input[]>; + customPosixUserConfig?: pulumi.Input; + /** + * Defines which Amazon SageMaker application users are directed to by default. + */ + defaultLandingUri?: pulumi.Input; /** * The user profile Amazon Resource Name (ARN). */ executionRole?: pulumi.Input; + jupyterLabAppSettings?: pulumi.Input; /** * The Jupyter server's app settings. */ @@ -51399,6 +51999,11 @@ export namespace sagemaker { * The sharing settings. */ sharingSettings?: pulumi.Input; + spaceStorageSettings?: pulumi.Input; + /** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ + studioWebPortal?: pulumi.Input; } export interface WorkteamCognitoMemberDefinitionArgs { diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 78d47efc8d..07126cc2fd 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -52,7 +52,7 @@ export namespace accessanalyzer { */ export interface AnalyzerUnusedAccessConfiguration { /** - * 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. + * 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. */ unusedAccessAge?: number; } @@ -4716,14 +4716,14 @@ export namespace autoscaling { localStorage?: string; localStorageTypes?: string[]; memoryGiBPerVCpu?: outputs.autoscaling.AutoScalingGroupMemoryGiBPerVCpuRequest; - memoryMiB?: outputs.autoscaling.AutoScalingGroupMemoryMiBRequest; + memoryMiB: outputs.autoscaling.AutoScalingGroupMemoryMiBRequest; networkBandwidthGbps?: outputs.autoscaling.AutoScalingGroupNetworkBandwidthGbpsRequest; networkInterfaceCount?: outputs.autoscaling.AutoScalingGroupNetworkInterfaceCountRequest; onDemandMaxPricePercentageOverLowestPrice?: number; requireHibernateSupport?: boolean; spotMaxPricePercentageOverLowestPrice?: number; totalLocalStorageGb?: outputs.autoscaling.AutoScalingGroupTotalLocalStorageGbRequest; - vCpuCount?: outputs.autoscaling.AutoScalingGroupVCpuCountRequest; + vCpuCount: outputs.autoscaling.AutoScalingGroupVCpuCountRequest; } export interface AutoScalingGroupInstancesDistribution { @@ -5890,6 +5890,15 @@ export namespace cleanrooms { accountId: string; displayName: string; memberAbilities: enums.cleanrooms.CollaborationMemberAbility[]; + paymentConfiguration?: outputs.cleanrooms.CollaborationPaymentConfiguration; + } + + export interface CollaborationPaymentConfiguration { + queryCompute: outputs.cleanrooms.CollaborationQueryComputePaymentConfig; + } + + export interface CollaborationQueryComputePaymentConfig { + isResponsible: boolean; } export interface CollaborationTag { @@ -5969,6 +5978,10 @@ export namespace cleanrooms { value: string; } + export interface MembershipPaymentConfiguration { + queryCompute: outputs.cleanrooms.MembershipQueryComputePaymentConfig; + } + export interface MembershipProtectedQueryOutputConfiguration { s3: outputs.cleanrooms.MembershipProtectedQueryS3OutputConfiguration; } @@ -5984,6 +5997,10 @@ export namespace cleanrooms { resultFormat: enums.cleanrooms.MembershipResultFormat; } + export interface MembershipQueryComputePaymentConfig { + isResponsible: boolean; + } + export interface MembershipTag { key: string; value: string; @@ -6441,6 +6458,11 @@ export namespace cloudfront { name: string; } + export interface KeyValueStoreImportSource { + sourceArn: string; + sourceType: string; + } + export interface MonitoringSubscription { realtimeMetricsSubscriptionConfig?: outputs.cloudfront.MonitoringSubscriptionRealtimeMetricsSubscriptionConfig; } @@ -7259,6 +7281,11 @@ export namespace codedeploy { value: number; } + export interface DeploymentConfigMinimumHealthyHostsPerZone { + type: string; + value: number; + } + export interface DeploymentConfigTimeBasedCanary { canaryInterval: number; canaryPercentage: number; @@ -7275,6 +7302,12 @@ export namespace codedeploy { type: string; } + export interface DeploymentConfigZonalConfig { + firstZoneMonitorDurationInSeconds?: number; + minimumHealthyHostsPerZone?: outputs.codedeploy.DeploymentConfigMinimumHealthyHostsPerZone; + monitorDurationInSeconds?: number; + } + export interface DeploymentGroupAlarm { name?: string; } @@ -7578,6 +7611,20 @@ export namespace codepipeline { type: string; } + export interface PipelineGitConfiguration { + push?: outputs.codepipeline.PipelineGitPushFilter[]; + sourceActionName: string; + } + + export interface PipelineGitPushFilter { + tags?: outputs.codepipeline.PipelineGitTagFilterCriteria; + } + + export interface PipelineGitTagFilterCriteria { + excludes?: string[]; + includes?: string[]; + } + export interface PipelineInputArtifact { name: string; } @@ -7602,6 +7649,17 @@ export namespace codepipeline { value: string; } + export interface PipelineTriggerDeclaration { + gitConfiguration?: outputs.codepipeline.PipelineGitConfiguration; + providerType: string; + } + + export interface PipelineVariableDeclaration { + defaultValue?: string; + description?: string; + name: string; + } + export interface WebhookAuthConfiguration { allowedIpRange?: string; secretToken?: string; @@ -8831,6 +8889,17 @@ export namespace configuration { resourceTypes?: string[]; } + export interface ConfigurationRecorderRecordingMode { + recordingFrequency: string; + recordingModeOverrides?: outputs.configuration.ConfigurationRecorderRecordingModeOverride[]; + } + + export interface ConfigurationRecorderRecordingModeOverride { + description?: string; + recordingFrequency: string; + resourceTypes: string[]; + } + export interface ConfigurationRecorderRecordingStrategy { useOnly: string; } @@ -9305,7 +9374,7 @@ export namespace connect { } export interface InstanceStorageConfigKinesisVideoStreamConfig { - encryptionConfig?: outputs.connect.InstanceStorageConfigEncryptionConfig; + encryptionConfig: outputs.connect.InstanceStorageConfigEncryptionConfig; prefix: string; retentionPeriodHours: number; } @@ -9316,6 +9385,20 @@ export namespace connect { encryptionConfig?: outputs.connect.InstanceStorageConfigEncryptionConfig; } + /** + * A key-value pair to associate with a resource. + */ + export interface InstanceTag { + /** + * 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 -. + */ + key: string; + /** + * 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 -. + */ + value: string; + } + /** * A key-value pair to associate with a resource. */ @@ -11868,6 +11951,20 @@ export namespace dlm { } export namespace dms { + /** + * A key-value pair to associate with a resource. + */ + export interface DataProviderTag { + /** + * 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 -. + */ + key: string; + /** + * 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 -. + */ + value: string; + } + export interface EndpointDocDbSettings { docsToInvestigate?: number; extractDocId?: boolean; @@ -11905,10 +12002,14 @@ export namespace dms { export interface EndpointIbmDb2Settings { currentLsn?: string; + keepCsvFiles?: boolean; + loadTimeout?: number; + maxFileSize?: number; maxKBytesPerRead?: number; secretsManagerAccessRoleArn?: string; secretsManagerSecretId?: string; setDataCaptureChanges?: boolean; + writeBufferSize?: number; } export interface EndpointKafkaSettings { @@ -12158,6 +12259,45 @@ export namespace dms { value: string; } + /** + * A key-value pair to associate with a resource. + */ + export interface InstanceProfileTag { + /** + * 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 -. + */ + key: string; + /** + * 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 -. + */ + value: string; + } + + /** + * It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + */ + export interface MigrationProjectDataProviderDescriptor { + dataProviderArn?: string; + dataProviderIdentifier?: string; + dataProviderName?: string; + secretsManagerAccessRoleArn?: string; + secretsManagerSecretId?: string; + } + + /** + * A key-value pair to associate with a resource. + */ + export interface MigrationProjectTag { + /** + * 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 -. + */ + key: string; + /** + * 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 -. + */ + value: string; + } + /** * Configuration parameters for provisioning a AWS DMS Serverless replication */ @@ -12203,6 +12343,78 @@ export namespace dms { value: string; } + /** + * The property describes schema conversion application attributes for the migration project. + */ + export interface SchemaConversionApplicationAttributesProperties { + s3BucketPath?: string; + s3BucketRoleArn?: string; + } + + /** + * PostgreSqlSettings property identifier. + */ + export interface Settings0Properties { + postgreSqlSettings?: outputs.dms.Settings0PropertiesPostgreSqlSettingsProperties; + } + + export interface Settings0PropertiesPostgreSqlSettingsProperties { + certificateArn?: string; + databaseName?: string; + port?: number; + serverName?: string; + sslMode?: enums.dms.DataProviderDmsSslModeValue; + } + + /** + * MySqlSettings property identifier. + */ + export interface Settings1Properties { + mySqlSettings?: outputs.dms.Settings1PropertiesMySqlSettingsProperties; + } + + export interface Settings1PropertiesMySqlSettingsProperties { + certificateArn?: string; + port?: number; + serverName?: string; + sslMode?: enums.dms.DataProviderDmsSslModeValue; + } + + /** + * OracleSettings property identifier. + */ + export interface Settings2Properties { + oracleSettings?: outputs.dms.Settings2PropertiesOracleSettingsProperties; + } + + export interface Settings2PropertiesOracleSettingsProperties { + asmServer?: string; + certificateArn?: string; + databaseName?: string; + port?: number; + secretsManagerOracleAsmAccessRoleArn?: string; + secretsManagerOracleAsmSecretId?: string; + secretsManagerSecurityDbEncryptionAccessRoleArn?: string; + secretsManagerSecurityDbEncryptionSecretId?: string; + serverName?: string; + sslMode?: enums.dms.DataProviderDmsSslModeValue; + } + + /** + * MicrosoftSqlServerSettings property identifier. + */ + export interface Settings3Properties { + microsoftSqlServerSettings?: outputs.dms.Settings3PropertiesMicrosoftSqlServerSettingsProperties; + } + + export interface Settings3PropertiesMicrosoftSqlServerSettingsProperties { + certificateArn?: string; + databaseName?: string; + port?: number; + serverName?: string; + sslMode?: enums.dms.DataProviderDmsSslModeValue; + } + } export namespace docdb { @@ -12514,6 +12726,21 @@ export namespace ec2 { tags: outputs.ec2.ClientVpnEndpointTag[]; } + /** + * The CPU options for the instance. + */ + export interface CpuOptionsProperties { + coreCount?: number; + threadsPerCore?: number; + } + + /** + * The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + */ + export interface CreditSpecificationProperties { + cpuCredits?: string; + } + export interface CustomerGatewayTag { key: string; value: string; @@ -12690,20 +12917,52 @@ export namespace ec2 { value: string; } + /** + * Indicates whether the instance is enabled for AWS Nitro Enclaves. + */ + export interface EnclaveOptionsProperties { + /** + * If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + */ + enabled?: boolean; + } + export interface FlowLogTag { key: string; value: string; } + /** + * Indicates whether an instance is enabled for hibernation. + */ + export interface HibernationOptionsProperties { + /** + * If you set this parameter to true, your instance is enabled for hibernation. + */ + configured?: boolean; + } + export interface InstanceAssociationParameter { + /** + * The name of an input parameter that is in the associated SSM document. + */ key: string; + /** + * The value of an input parameter. + */ value: string[]; } export interface InstanceBlockDeviceMapping { + /** + * The device name (for example, /dev/sdh or xvdh). + */ deviceName: string; + /** + * Parameters used to automatically set up EBS volumes when the instance is launched. + */ ebs?: outputs.ec2.InstanceEbs; - noDevice?: outputs.ec2.InstanceNoDevice; + noDevice?: any; virtualName?: string; } @@ -12715,88 +12974,173 @@ export namespace ec2 { value: string; } - export interface InstanceCpuOptions { - coreCount?: number; - threadsPerCore?: number; - } - - export interface InstanceCreditSpecification { - cpuCredits?: string; - } - export interface InstanceEbs { + /** + * Indicates whether the EBS volume is deleted on instance termination. + */ deleteOnTermination?: boolean; + /** + * Indicates whether the volume should be encrypted. + */ encrypted?: boolean; + /** + * The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + */ iops?: number; + /** + * The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + */ kmsKeyId?: string; + /** + * The ID of the snapshot. + */ snapshotId?: string; + /** + * The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + */ volumeSize?: number; + /** + * The volume type. + */ volumeType?: string; } export interface InstanceElasticGpuSpecification { + /** + * The type of Elastic Graphics accelerator. + */ type: string; } export interface InstanceElasticInferenceAccelerator { + /** + * The number of elastic inference accelerators to attach to the instance. + */ count?: number; + /** + * The type of elastic inference accelerator. + */ type: string; } - export interface InstanceEnclaveOptions { - enabled?: boolean; - } - - export interface InstanceHibernationOptions { - configured?: boolean; - } - export interface InstanceIpv6Address { + /** + * The IPv6 address. + */ ipv6Address: string; } export interface InstanceLaunchTemplateSpecification { + /** + * The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + */ launchTemplateId?: string; + /** + * The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + */ launchTemplateName?: string; - version: string; + /** + * The version number of the launch template. + */ + version?: string; } export interface InstanceLicenseSpecification { + /** + * The Amazon Resource Name (ARN) of the license configuration. + */ licenseConfigurationArn: string; } export interface InstanceNetworkInterface { + /** + * Not currently supported by AWS CloudFormation. + */ associateCarrierIpAddress?: boolean; + /** + * Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + */ associatePublicIpAddress?: boolean; + /** + * If set to true, the interface is deleted when the instance is terminated. + */ deleteOnTermination?: boolean; + /** + * The description of the network interface. + */ description?: string; + /** + * The position of the network interface in the attachment order. A primary network interface has a device index of 0. + */ deviceIndex: string; + /** + * The IDs of the security groups for the network interface. + */ groupSet?: string[]; + /** + * A number of IPv6 addresses to assign to the network interface. + */ ipv6AddressCount?: number; + /** + * The IPv6 addresses associated with the network interface. + */ ipv6Addresses?: outputs.ec2.InstanceIpv6Address[]; + /** + * The ID of the network interface. + */ networkInterfaceId?: string; + /** + * The private IPv4 address of the network interface. + */ privateIpAddress?: string; + /** + * One or more private IPv4 addresses to assign to the network interface. + */ privateIpAddresses?: outputs.ec2.InstancePrivateIpAddressSpecification[]; + /** + * The number of secondary private IPv4 addresses. + */ secondaryPrivateIpAddressCount?: number; + /** + * The ID of the subnet. + */ subnetId?: string; } - export interface InstanceNoDevice { - } - export interface InstancePrivateDnsNameOptions { + /** + * Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ enableResourceNameDnsARecord?: boolean; + /** + * Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ enableResourceNameDnsAaaaRecord?: boolean; - hostnameType?: string; + /** + * The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + */ + hostnameType?: enums.ec2.InstancePrivateDnsNameOptionsHostnameType; } export interface InstancePrivateIpAddressSpecification { + /** + * Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + */ primary: boolean; + /** + * The private IPv4 addresses. + */ privateIpAddress: string; } export interface InstanceSsmAssociation { + /** + * The input parameter values to use with the associated SSM document. + */ associationParameters?: outputs.ec2.InstanceAssociationParameter[]; + /** + * The name of an SSM document to associate with the instance. + */ documentName: string; } @@ -12806,7 +13150,13 @@ export namespace ec2 { } export interface InstanceVolume { + /** + * The device name (for example, /dev/sdh or xvdh). + */ device: string; + /** + * The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + */ volumeId: string; } @@ -14642,6 +14992,10 @@ export namespace ec2 { * The options for device identity based trust providers. */ export interface VerifiedAccessTrustProviderDeviceOptions { + /** + * URL Verified Access will use to verify authenticity of the device tokens. + */ + publicSigningKeyUrl?: string; /** * The ID of the tenant application with the device-identity provider. */ @@ -14855,6 +15209,7 @@ export namespace ecr { export namespace ecs { export interface CapacityProviderAutoScalingGroupProvider { autoScalingGroupArn: string; + managedDraining?: enums.ecs.CapacityProviderAutoScalingGroupProviderManagedDraining; managedScaling?: outputs.ecs.CapacityProviderManagedScaling; managedTerminationProtection?: enums.ecs.CapacityProviderAutoScalingGroupProviderManagedTerminationProtection; } @@ -17784,6 +18139,17 @@ export namespace fis { export interface ExperimentTemplateActionMap { } + export interface ExperimentTemplateExperimentOptions { + /** + * The account targeting setting for the experiment template. + */ + accountTargeting?: enums.fis.ExperimentTemplateExperimentOptionsAccountTargeting; + /** + * The target resolution failure mode for the experiment template. + */ + emptyTargetResolutionMode?: enums.fis.ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode; + } + export interface ExperimentTemplateLogConfiguration { cloudWatchLogsConfiguration?: outputs.fis.ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationProperties; logSchemaVersion: number; @@ -26419,16 +26785,31 @@ export namespace lambda { untrustedArtifactOnDeployment: enums.lambda.CodeSigningConfigCodeSigningPoliciesUntrustedArtifactOnDeployment; } + /** + * A destination for events after they have been sent to a function for processing. + */ export interface EventInvokeConfigDestinationConfig { onFailure?: outputs.lambda.EventInvokeConfigOnFailure; onSuccess?: outputs.lambda.EventInvokeConfigOnSuccess; } + /** + * The destination configuration for failed invocations. + */ export interface EventInvokeConfigOnFailure { + /** + * The Amazon Resource Name (ARN) of the destination resource. + */ destination: string; } + /** + * The destination configuration for successful invocations. + */ export interface EventInvokeConfigOnSuccess { + /** + * The Amazon Resource Name (ARN) of the destination resource. + */ destination: string; } @@ -34100,6 +34481,26 @@ export namespace organizations { } export namespace osis { + /** + * Key-value pairs to configure buffering. + */ + export interface PipelineBufferOptions { + /** + * Whether persistent buffering should be enabled. + */ + persistentBufferEnabled: boolean; + } + + /** + * Key-value pairs to configure encryption at rest. + */ + export interface PipelineEncryptionAtRestOptions { + /** + * The KMS key to use for encrypting data. By default an AWS owned key is used + */ + kmsKeyArn: string; + } + /** * Key-value pairs to configure log publishing. */ @@ -34118,7 +34519,7 @@ export namespace osis { * The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. */ export interface PipelineLogPublishingOptionsCloudWatchLogDestinationProperties { - logGroup?: string; + logGroup: string; } /** @@ -34161,7 +34562,7 @@ export namespace osis { /** * A list of subnet IDs associated with the VPC endpoint. */ - subnetIds?: string[]; + subnetIds: string[]; } } @@ -47940,6 +48341,7 @@ export namespace s3 { */ destinationBucketName?: string; logFilePrefix?: string; + targetObjectKeyFormat?: outputs.s3.BucketTargetObjectKeyFormat; } export interface BucketMetrics { @@ -48312,6 +48714,12 @@ export namespace s3 { value: string; } + /** + * Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + */ + export interface BucketTargetObjectKeyFormat { + } + export interface BucketTiering { /** * 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. @@ -49277,6 +49685,31 @@ export namespace sagemaker { value: string; } + /** + * The CodeEditor app settings. + */ + export interface DomainCodeEditorAppSettings { + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + */ + defaultResourceSpec?: outputs.sagemaker.DomainResourceSpec; + /** + * A list of LifecycleConfigArns available for use with CodeEditor apps. + */ + lifecycleConfigArns?: string[]; + } + + export interface DomainCodeRepository { + /** + * A CodeRepository (valid URL) to be used within Jupyter's Git extension. + */ + repositoryUrl: string; + } + + export interface DomainCustomFileSystemConfig { + efsFileSystemConfig?: outputs.sagemaker.DomainEfsFileSystemConfig; + } + /** * A custom SageMaker image. */ @@ -49295,6 +49728,25 @@ export namespace sagemaker { imageVersionNumber?: number; } + export interface DomainCustomPosixUserConfig { + gid: number; + uid: number; + } + + /** + * 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 + */ + export interface DomainDefaultEbsStorageSettings { + /** + * Default size of the Amazon EBS volume in Gb + */ + defaultEbsVolumeSizeInGb: number; + /** + * Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + */ + maximumEbsVolumeSizeInGb: number; + } + /** * A collection of settings that apply to spaces of Amazon SageMaker Studio. These settings are specified when the Create/Update Domain API is called. */ @@ -49317,6 +49769,40 @@ export namespace sagemaker { securityGroups?: string[]; } + /** + * Default storage settings for a space. + */ + export interface DomainDefaultSpaceStorageSettings { + defaultEbsStorageSettings?: outputs.sagemaker.DomainDefaultEbsStorageSettings; + } + + export interface DomainEfsFileSystemConfig { + fileSystemId: string; + fileSystemPath?: string; + } + + /** + * The JupyterLab app settings. + */ + export interface DomainJupyterLabAppSettings { + /** + * A list of CodeRepositories available for use with JupyterLab apps. + */ + codeRepositories?: outputs.sagemaker.DomainCodeRepository[]; + /** + * A list of custom images for use for JupyterLab apps. + */ + customImages?: outputs.sagemaker.DomainCustomImage[]; + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + */ + defaultResourceSpec?: outputs.sagemaker.DomainResourceSpec; + /** + * A list of LifecycleConfigArns available for use with JupyterLab apps. + */ + lifecycleConfigArns?: string[]; + } + /** * The JupyterServer app settings. */ @@ -49439,10 +49925,18 @@ export namespace sagemaker { * 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. */ export interface DomainUserSettings { + codeEditorAppSettings?: outputs.sagemaker.DomainCodeEditorAppSettings; + customFileSystemConfigs?: outputs.sagemaker.DomainCustomFileSystemConfig[]; + customPosixUserConfig?: outputs.sagemaker.DomainCustomPosixUserConfig; + /** + * Defines which Amazon SageMaker application users are directed to by default. + */ + defaultLandingUri?: string; /** * The execution role for the user. */ executionRole: string; + jupyterLabAppSettings?: outputs.sagemaker.DomainJupyterLabAppSettings; /** * The Jupyter server's app settings. */ @@ -49461,6 +49955,11 @@ export namespace sagemaker { * The sharing settings. */ sharingSettings?: outputs.sagemaker.DomainSharingSettings; + spaceStorageSettings?: outputs.sagemaker.DomainDefaultSpaceStorageSettings; + /** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ + studioWebPortal?: enums.sagemaker.DomainUserSettingsStudioWebPortal; } export interface EndpointAlarm { @@ -52002,6 +52501,7 @@ export namespace sagemaker { export interface OnlineStoreConfigProperties { enableOnlineStore?: boolean; securityConfig?: outputs.sagemaker.FeatureGroupOnlineStoreSecurityConfig; + storageType?: enums.sagemaker.FeatureGroupStorageType; } export interface ParallelismConfigurationProperties { @@ -52168,6 +52668,31 @@ export namespace sagemaker { value: string; } + /** + * The CodeEditor app settings. + */ + export interface UserProfileCodeEditorAppSettings { + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + */ + defaultResourceSpec?: outputs.sagemaker.UserProfileResourceSpec; + /** + * A list of LifecycleConfigArns available for use with CodeEditor apps. + */ + lifecycleConfigArns?: string[]; + } + + export interface UserProfileCodeRepository { + /** + * A CodeRepository (valid URL) to be used within Jupyter's Git extension. + */ + repositoryUrl: string; + } + + export interface UserProfileCustomFileSystemConfig { + efsFileSystemConfig?: outputs.sagemaker.UserProfileEfsFileSystemConfig; + } + /** * A custom SageMaker image. */ @@ -52186,6 +52711,59 @@ export namespace sagemaker { imageVersionNumber?: number; } + export interface UserProfileCustomPosixUserConfig { + gid: number; + uid: number; + } + + /** + * Properties related to the Amazon Elastic Block Store volume. + */ + export interface UserProfileDefaultEbsStorageSettings { + /** + * Default size of the Amazon EBS volume in Gb + */ + defaultEbsVolumeSizeInGb: number; + /** + * Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + */ + maximumEbsVolumeSizeInGb: number; + } + + /** + * Default storage settings for a space. + */ + export interface UserProfileDefaultSpaceStorageSettings { + defaultEbsStorageSettings?: outputs.sagemaker.UserProfileDefaultEbsStorageSettings; + } + + export interface UserProfileEfsFileSystemConfig { + fileSystemId: string; + fileSystemPath?: string; + } + + /** + * The JupyterLab app settings. + */ + export interface UserProfileJupyterLabAppSettings { + /** + * A list of CodeRepositories available for use with JupyterLab apps. + */ + codeRepositories?: outputs.sagemaker.UserProfileCodeRepository[]; + /** + * A list of custom images available for use for JupyterLab apps + */ + customImages?: outputs.sagemaker.UserProfileCustomImage[]; + /** + * The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + */ + defaultResourceSpec?: outputs.sagemaker.UserProfileResourceSpec; + /** + * A list of LifecycleConfigArns available for use with JupyterLab apps. + */ + lifecycleConfigArns?: string[]; + } + /** * The JupyterServer app settings. */ @@ -52263,10 +52841,18 @@ export namespace sagemaker { * 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. */ export interface UserProfileUserSettings { + codeEditorAppSettings?: outputs.sagemaker.UserProfileCodeEditorAppSettings; + customFileSystemConfigs?: outputs.sagemaker.UserProfileCustomFileSystemConfig[]; + customPosixUserConfig?: outputs.sagemaker.UserProfileCustomPosixUserConfig; + /** + * Defines which Amazon SageMaker application users are directed to by default. + */ + defaultLandingUri?: string; /** * The user profile Amazon Resource Name (ARN). */ executionRole?: string; + jupyterLabAppSettings?: outputs.sagemaker.UserProfileJupyterLabAppSettings; /** * The Jupyter server's app settings. */ @@ -52284,6 +52870,11 @@ export namespace sagemaker { * The sharing settings. */ sharingSettings?: outputs.sagemaker.UserProfileSharingSettings; + spaceStorageSettings?: outputs.sagemaker.UserProfileDefaultSpaceStorageSettings; + /** + * Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + */ + studioWebPortal?: enums.sagemaker.UserProfileUserSettingsStudioWebPortal; } export interface WorkteamCognitoMemberDefinition { diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index e51c642755..c10a5aa4c1 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -1135,6 +1135,7 @@ "aws-native:cloudfront:Distribution": "Distribution", "aws-native:cloudfront:Function": "Function", "aws-native:cloudfront:KeyGroup": "KeyGroup", + "aws-native:cloudfront:KeyValueStore": "KeyValueStore", "aws-native:cloudfront:MonitoringSubscription": "MonitoringSubscription", "aws-native:cloudfront:OriginAccessControl": "OriginAccessControl", "aws-native:cloudfront:OriginRequestPolicy": "OriginRequestPolicy", @@ -1478,8 +1479,11 @@ "fqn": "pulumi_aws_native.dms", "classes": { "aws-native:dms:Certificate": "Certificate", + "aws-native:dms:DataProvider": "DataProvider", "aws-native:dms:Endpoint": "Endpoint", "aws-native:dms:EventSubscription": "EventSubscription", + "aws-native:dms:InstanceProfile": "InstanceProfile", + "aws-native:dms:MigrationProject": "MigrationProject", "aws-native:dms:ReplicationConfig": "ReplicationConfig", "aws-native:dms:ReplicationInstance": "ReplicationInstance", "aws-native:dms:ReplicationSubnetGroup": "ReplicationSubnetGroup", @@ -1811,7 +1815,8 @@ "mod": "fis", "fqn": "pulumi_aws_native.fis", "classes": { - "aws-native:fis:ExperimentTemplate": "ExperimentTemplate" + "aws-native:fis:ExperimentTemplate": "ExperimentTemplate", + "aws-native:fis:TargetAccountConfiguration": "TargetAccountConfiguration" } }, { diff --git a/sdk/python/pulumi_aws_native/accessanalyzer/_inputs.py b/sdk/python/pulumi_aws_native/accessanalyzer/_inputs.py index 26542ef67f..4246d02ea5 100644 --- a/sdk/python/pulumi_aws_native/accessanalyzer/_inputs.py +++ b/sdk/python/pulumi_aws_native/accessanalyzer/_inputs.py @@ -179,7 +179,7 @@ def __init__(__self__, *, unused_access_age: Optional[pulumi.Input[int]] = None): """ The Configuration for Unused Access Analyzer - :param pulumi.Input[int] unused_access_age: 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. + :param pulumi.Input[int] unused_access_age: 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. """ if unused_access_age is not None: pulumi.set(__self__, "unused_access_age", unused_access_age) @@ -188,7 +188,7 @@ def __init__(__self__, *, @pulumi.getter(name="unusedAccessAge") def unused_access_age(self) -> Optional[pulumi.Input[int]]: """ - 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. + 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. """ return pulumi.get(self, "unused_access_age") diff --git a/sdk/python/pulumi_aws_native/accessanalyzer/outputs.py b/sdk/python/pulumi_aws_native/accessanalyzer/outputs.py index 8d5111e864..bfccf0d2f8 100644 --- a/sdk/python/pulumi_aws_native/accessanalyzer/outputs.py +++ b/sdk/python/pulumi_aws_native/accessanalyzer/outputs.py @@ -203,7 +203,7 @@ def __init__(__self__, *, unused_access_age: Optional[int] = None): """ The Configuration for Unused Access Analyzer - :param int unused_access_age: 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. + :param int unused_access_age: 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. """ if unused_access_age is not None: pulumi.set(__self__, "unused_access_age", unused_access_age) @@ -212,7 +212,7 @@ def __init__(__self__, *, @pulumi.getter(name="unusedAccessAge") def unused_access_age(self) -> Optional[int]: """ - 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. + 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. """ return pulumi.get(self, "unused_access_age") diff --git a/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py b/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py index 24c2dcc750..b582a29b5e 100644 --- a/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py +++ b/sdk/python/pulumi_aws_native/appsync/get_graph_ql_api.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetGraphQlApiResult: - def __init__(__self__, additional_authentication_providers=None, api_id=None, api_type=None, arn=None, authentication_type=None, graph_ql_dns=None, graph_ql_url=None, id=None, lambda_authorizer_config=None, log_config=None, merged_api_execution_role_arn=None, name=None, open_id_connect_config=None, owner_contact=None, realtime_dns=None, realtime_url=None, tags=None, user_pool_config=None, visibility=None, xray_enabled=None): + def __init__(__self__, additional_authentication_providers=None, api_id=None, api_type=None, arn=None, authentication_type=None, graph_ql_dns=None, graph_ql_endpoint_arn=None, graph_ql_url=None, id=None, lambda_authorizer_config=None, log_config=None, merged_api_execution_role_arn=None, name=None, open_id_connect_config=None, owner_contact=None, realtime_dns=None, realtime_url=None, tags=None, user_pool_config=None, visibility=None, xray_enabled=None): if additional_authentication_providers and not isinstance(additional_authentication_providers, list): raise TypeError("Expected argument 'additional_authentication_providers' to be a list") pulumi.set(__self__, "additional_authentication_providers", additional_authentication_providers) @@ -38,6 +38,9 @@ def __init__(__self__, additional_authentication_providers=None, api_id=None, ap if graph_ql_dns and not isinstance(graph_ql_dns, str): raise TypeError("Expected argument 'graph_ql_dns' to be a str") pulumi.set(__self__, "graph_ql_dns", graph_ql_dns) + if graph_ql_endpoint_arn and not isinstance(graph_ql_endpoint_arn, str): + raise TypeError("Expected argument 'graph_ql_endpoint_arn' to be a str") + pulumi.set(__self__, "graph_ql_endpoint_arn", graph_ql_endpoint_arn) if graph_ql_url and not isinstance(graph_ql_url, str): raise TypeError("Expected argument 'graph_ql_url' to be a str") pulumi.set(__self__, "graph_ql_url", graph_ql_url) @@ -111,6 +114,11 @@ def authentication_type(self) -> Optional[str]: def graph_ql_dns(self) -> Optional[str]: return pulumi.get(self, "graph_ql_dns") + @property + @pulumi.getter(name="graphQlEndpointArn") + def graph_ql_endpoint_arn(self) -> Optional[str]: + return pulumi.get(self, "graph_ql_endpoint_arn") + @property @pulumi.getter(name="graphQlUrl") def graph_ql_url(self) -> Optional[str]: @@ -194,6 +202,7 @@ def __await__(self): arn=self.arn, authentication_type=self.authentication_type, graph_ql_dns=self.graph_ql_dns, + graph_ql_endpoint_arn=self.graph_ql_endpoint_arn, graph_ql_url=self.graph_ql_url, id=self.id, lambda_authorizer_config=self.lambda_authorizer_config, @@ -227,6 +236,7 @@ def get_graph_ql_api(id: Optional[str] = None, arn=pulumi.get(__ret__, 'arn'), authentication_type=pulumi.get(__ret__, 'authentication_type'), graph_ql_dns=pulumi.get(__ret__, 'graph_ql_dns'), + graph_ql_endpoint_arn=pulumi.get(__ret__, 'graph_ql_endpoint_arn'), graph_ql_url=pulumi.get(__ret__, 'graph_ql_url'), id=pulumi.get(__ret__, 'id'), lambda_authorizer_config=pulumi.get(__ret__, 'lambda_authorizer_config'), diff --git a/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py b/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py index bc5e8c7be0..cac9ccf1b9 100644 --- a/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py +++ b/sdk/python/pulumi_aws_native/appsync/graph_ql_api.py @@ -271,6 +271,7 @@ def _internal_init(__self__, __props__.__dict__["api_id"] = None __props__.__dict__["arn"] = None __props__.__dict__["graph_ql_dns"] = None + __props__.__dict__["graph_ql_endpoint_arn"] = None __props__.__dict__["graph_ql_url"] = None __props__.__dict__["realtime_dns"] = None __props__.__dict__["realtime_url"] = None @@ -302,6 +303,7 @@ def get(resource_name: str, __props__.__dict__["arn"] = None __props__.__dict__["authentication_type"] = None __props__.__dict__["graph_ql_dns"] = None + __props__.__dict__["graph_ql_endpoint_arn"] = None __props__.__dict__["graph_ql_url"] = None __props__.__dict__["lambda_authorizer_config"] = None __props__.__dict__["log_config"] = None @@ -347,6 +349,11 @@ def authentication_type(self) -> pulumi.Output[str]: def graph_ql_dns(self) -> pulumi.Output[str]: return pulumi.get(self, "graph_ql_dns") + @property + @pulumi.getter(name="graphQlEndpointArn") + def graph_ql_endpoint_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "graph_ql_endpoint_arn") + @property @pulumi.getter(name="graphQlUrl") def graph_ql_url(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py index c0ddbfd015..5ec45373fc 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/_inputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/_inputs.py @@ -171,6 +171,8 @@ def min_healthy_percentage(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type class AutoScalingGroupInstanceRequirementsArgs: def __init__(__self__, *, + memory_mi_b: pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs'], + v_cpu_count: pulumi.Input['AutoScalingGroupVCpuCountRequestArgs'], accelerator_count: Optional[pulumi.Input['AutoScalingGroupAcceleratorCountRequestArgs']] = None, accelerator_manufacturers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, accelerator_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -186,14 +188,14 @@ def __init__(__self__, *, local_storage: Optional[pulumi.Input[str]] = None, local_storage_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, memory_gi_b_per_v_cpu: Optional[pulumi.Input['AutoScalingGroupMemoryGiBPerVCpuRequestArgs']] = None, - memory_mi_b: Optional[pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs']] = None, network_bandwidth_gbps: Optional[pulumi.Input['AutoScalingGroupNetworkBandwidthGbpsRequestArgs']] = None, network_interface_count: Optional[pulumi.Input['AutoScalingGroupNetworkInterfaceCountRequestArgs']] = None, on_demand_max_price_percentage_over_lowest_price: Optional[pulumi.Input[int]] = None, require_hibernate_support: Optional[pulumi.Input[bool]] = None, spot_max_price_percentage_over_lowest_price: Optional[pulumi.Input[int]] = None, - total_local_storage_gb: Optional[pulumi.Input['AutoScalingGroupTotalLocalStorageGbRequestArgs']] = None, - v_cpu_count: Optional[pulumi.Input['AutoScalingGroupVCpuCountRequestArgs']] = None): + total_local_storage_gb: Optional[pulumi.Input['AutoScalingGroupTotalLocalStorageGbRequestArgs']] = None): + pulumi.set(__self__, "memory_mi_b", memory_mi_b) + pulumi.set(__self__, "v_cpu_count", v_cpu_count) if accelerator_count is not None: pulumi.set(__self__, "accelerator_count", accelerator_count) if accelerator_manufacturers is not None: @@ -224,8 +226,6 @@ def __init__(__self__, *, pulumi.set(__self__, "local_storage_types", local_storage_types) if memory_gi_b_per_v_cpu is not None: pulumi.set(__self__, "memory_gi_b_per_v_cpu", memory_gi_b_per_v_cpu) - if memory_mi_b is not None: - pulumi.set(__self__, "memory_mi_b", memory_mi_b) if network_bandwidth_gbps is not None: pulumi.set(__self__, "network_bandwidth_gbps", network_bandwidth_gbps) if network_interface_count is not None: @@ -238,8 +238,24 @@ def __init__(__self__, *, pulumi.set(__self__, "spot_max_price_percentage_over_lowest_price", spot_max_price_percentage_over_lowest_price) if total_local_storage_gb is not None: pulumi.set(__self__, "total_local_storage_gb", total_local_storage_gb) - if v_cpu_count is not None: - pulumi.set(__self__, "v_cpu_count", v_cpu_count) + + @property + @pulumi.getter(name="memoryMiB") + def memory_mi_b(self) -> pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs']: + return pulumi.get(self, "memory_mi_b") + + @memory_mi_b.setter + def memory_mi_b(self, value: pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs']): + pulumi.set(self, "memory_mi_b", value) + + @property + @pulumi.getter(name="vCpuCount") + def v_cpu_count(self) -> pulumi.Input['AutoScalingGroupVCpuCountRequestArgs']: + return pulumi.get(self, "v_cpu_count") + + @v_cpu_count.setter + def v_cpu_count(self, value: pulumi.Input['AutoScalingGroupVCpuCountRequestArgs']): + pulumi.set(self, "v_cpu_count", value) @property @pulumi.getter(name="acceleratorCount") @@ -376,15 +392,6 @@ def memory_gi_b_per_v_cpu(self) -> Optional[pulumi.Input['AutoScalingGroupMemory def memory_gi_b_per_v_cpu(self, value: Optional[pulumi.Input['AutoScalingGroupMemoryGiBPerVCpuRequestArgs']]): pulumi.set(self, "memory_gi_b_per_v_cpu", value) - @property - @pulumi.getter(name="memoryMiB") - def memory_mi_b(self) -> Optional[pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs']]: - return pulumi.get(self, "memory_mi_b") - - @memory_mi_b.setter - def memory_mi_b(self, value: Optional[pulumi.Input['AutoScalingGroupMemoryMiBRequestArgs']]): - pulumi.set(self, "memory_mi_b", value) - @property @pulumi.getter(name="networkBandwidthGbps") def network_bandwidth_gbps(self) -> Optional[pulumi.Input['AutoScalingGroupNetworkBandwidthGbpsRequestArgs']]: @@ -439,15 +446,6 @@ def total_local_storage_gb(self) -> Optional[pulumi.Input['AutoScalingGroupTotal def total_local_storage_gb(self, value: Optional[pulumi.Input['AutoScalingGroupTotalLocalStorageGbRequestArgs']]): pulumi.set(self, "total_local_storage_gb", value) - @property - @pulumi.getter(name="vCpuCount") - def v_cpu_count(self) -> Optional[pulumi.Input['AutoScalingGroupVCpuCountRequestArgs']]: - return pulumi.get(self, "v_cpu_count") - - @v_cpu_count.setter - def v_cpu_count(self, value: Optional[pulumi.Input['AutoScalingGroupVCpuCountRequestArgs']]): - pulumi.set(self, "v_cpu_count", value) - @pulumi.input_type class AutoScalingGroupInstancesDistributionArgs: diff --git a/sdk/python/pulumi_aws_native/autoscaling/outputs.py b/sdk/python/pulumi_aws_native/autoscaling/outputs.py index 0ab1b9418f..8a693dd95b 100644 --- a/sdk/python/pulumi_aws_native/autoscaling/outputs.py +++ b/sdk/python/pulumi_aws_native/autoscaling/outputs.py @@ -161,7 +161,11 @@ class AutoScalingGroupInstanceRequirements(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "acceleratorCount": + if key == "memoryMiB": + suggest = "memory_mi_b" + elif key == "vCpuCount": + suggest = "v_cpu_count" + elif key == "acceleratorCount": suggest = "accelerator_count" elif key == "acceleratorManufacturers": suggest = "accelerator_manufacturers" @@ -191,8 +195,6 @@ def __key_warning(key: str): suggest = "local_storage_types" elif key == "memoryGiBPerVCpu": suggest = "memory_gi_b_per_v_cpu" - elif key == "memoryMiB": - suggest = "memory_mi_b" elif key == "networkBandwidthGbps": suggest = "network_bandwidth_gbps" elif key == "networkInterfaceCount": @@ -205,8 +207,6 @@ def __key_warning(key: str): suggest = "spot_max_price_percentage_over_lowest_price" elif key == "totalLocalStorageGb": suggest = "total_local_storage_gb" - elif key == "vCpuCount": - suggest = "v_cpu_count" if suggest: pulumi.log.warn(f"Key '{key}' not found in AutoScalingGroupInstanceRequirements. Access the value via the '{suggest}' property getter instead.") @@ -220,6 +220,8 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + memory_mi_b: 'outputs.AutoScalingGroupMemoryMiBRequest', + v_cpu_count: 'outputs.AutoScalingGroupVCpuCountRequest', accelerator_count: Optional['outputs.AutoScalingGroupAcceleratorCountRequest'] = None, accelerator_manufacturers: Optional[Sequence[str]] = None, accelerator_names: Optional[Sequence[str]] = None, @@ -235,14 +237,14 @@ def __init__(__self__, *, local_storage: Optional[str] = None, local_storage_types: Optional[Sequence[str]] = None, memory_gi_b_per_v_cpu: Optional['outputs.AutoScalingGroupMemoryGiBPerVCpuRequest'] = None, - memory_mi_b: Optional['outputs.AutoScalingGroupMemoryMiBRequest'] = None, network_bandwidth_gbps: Optional['outputs.AutoScalingGroupNetworkBandwidthGbpsRequest'] = None, network_interface_count: Optional['outputs.AutoScalingGroupNetworkInterfaceCountRequest'] = None, on_demand_max_price_percentage_over_lowest_price: Optional[int] = None, require_hibernate_support: Optional[bool] = None, spot_max_price_percentage_over_lowest_price: Optional[int] = None, - total_local_storage_gb: Optional['outputs.AutoScalingGroupTotalLocalStorageGbRequest'] = None, - v_cpu_count: Optional['outputs.AutoScalingGroupVCpuCountRequest'] = None): + total_local_storage_gb: Optional['outputs.AutoScalingGroupTotalLocalStorageGbRequest'] = None): + pulumi.set(__self__, "memory_mi_b", memory_mi_b) + pulumi.set(__self__, "v_cpu_count", v_cpu_count) if accelerator_count is not None: pulumi.set(__self__, "accelerator_count", accelerator_count) if accelerator_manufacturers is not None: @@ -273,8 +275,6 @@ def __init__(__self__, *, pulumi.set(__self__, "local_storage_types", local_storage_types) if memory_gi_b_per_v_cpu is not None: pulumi.set(__self__, "memory_gi_b_per_v_cpu", memory_gi_b_per_v_cpu) - if memory_mi_b is not None: - pulumi.set(__self__, "memory_mi_b", memory_mi_b) if network_bandwidth_gbps is not None: pulumi.set(__self__, "network_bandwidth_gbps", network_bandwidth_gbps) if network_interface_count is not None: @@ -287,8 +287,16 @@ def __init__(__self__, *, pulumi.set(__self__, "spot_max_price_percentage_over_lowest_price", spot_max_price_percentage_over_lowest_price) if total_local_storage_gb is not None: pulumi.set(__self__, "total_local_storage_gb", total_local_storage_gb) - if v_cpu_count is not None: - pulumi.set(__self__, "v_cpu_count", v_cpu_count) + + @property + @pulumi.getter(name="memoryMiB") + def memory_mi_b(self) -> 'outputs.AutoScalingGroupMemoryMiBRequest': + return pulumi.get(self, "memory_mi_b") + + @property + @pulumi.getter(name="vCpuCount") + def v_cpu_count(self) -> 'outputs.AutoScalingGroupVCpuCountRequest': + return pulumi.get(self, "v_cpu_count") @property @pulumi.getter(name="acceleratorCount") @@ -365,11 +373,6 @@ def local_storage_types(self) -> Optional[Sequence[str]]: def memory_gi_b_per_v_cpu(self) -> Optional['outputs.AutoScalingGroupMemoryGiBPerVCpuRequest']: return pulumi.get(self, "memory_gi_b_per_v_cpu") - @property - @pulumi.getter(name="memoryMiB") - def memory_mi_b(self) -> Optional['outputs.AutoScalingGroupMemoryMiBRequest']: - return pulumi.get(self, "memory_mi_b") - @property @pulumi.getter(name="networkBandwidthGbps") def network_bandwidth_gbps(self) -> Optional['outputs.AutoScalingGroupNetworkBandwidthGbpsRequest']: @@ -400,11 +403,6 @@ def spot_max_price_percentage_over_lowest_price(self) -> Optional[int]: def total_local_storage_gb(self) -> Optional['outputs.AutoScalingGroupTotalLocalStorageGbRequest']: return pulumi.get(self, "total_local_storage_gb") - @property - @pulumi.getter(name="vCpuCount") - def v_cpu_count(self) -> Optional['outputs.AutoScalingGroupVCpuCountRequest']: - return pulumi.get(self, "v_cpu_count") - @pulumi.output_type class AutoScalingGroupInstancesDistribution(dict): diff --git a/sdk/python/pulumi_aws_native/billingconductor/custom_line_item.py b/sdk/python/pulumi_aws_native/billingconductor/custom_line_item.py index ee21b49cdd..c287e795c1 100644 --- a/sdk/python/pulumi_aws_native/billingconductor/custom_line_item.py +++ b/sdk/python/pulumi_aws_native/billingconductor/custom_line_item.py @@ -18,6 +18,7 @@ class CustomLineItemArgs: def __init__(__self__, *, billing_group_arn: pulumi.Input[str], + account_id: Optional[pulumi.Input[str]] = None, billing_period_range: Optional[pulumi.Input['CustomLineItemBillingPeriodRangeArgs']] = None, custom_line_item_charge_details: Optional[pulumi.Input['CustomLineItemChargeDetailsArgs']] = None, description: Optional[pulumi.Input[str]] = None, @@ -26,8 +27,11 @@ def __init__(__self__, *, """ The set of arguments for constructing a CustomLineItem resource. :param pulumi.Input[str] billing_group_arn: Billing Group ARN + :param pulumi.Input[str] account_id: The account which this custom line item will be charged to """ pulumi.set(__self__, "billing_group_arn", billing_group_arn) + if account_id is not None: + pulumi.set(__self__, "account_id", account_id) if billing_period_range is not None: pulumi.set(__self__, "billing_period_range", billing_period_range) if custom_line_item_charge_details is not None: @@ -51,6 +55,18 @@ def billing_group_arn(self) -> pulumi.Input[str]: def billing_group_arn(self, value: pulumi.Input[str]): pulumi.set(self, "billing_group_arn", value) + @property + @pulumi.getter(name="accountId") + def account_id(self) -> Optional[pulumi.Input[str]]: + """ + The account which this custom line item will be charged to + """ + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "account_id", value) + @property @pulumi.getter(name="billingPeriodRange") def billing_period_range(self) -> Optional[pulumi.Input['CustomLineItemBillingPeriodRangeArgs']]: @@ -107,6 +123,7 @@ class CustomLineItem(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, billing_group_arn: Optional[pulumi.Input[str]] = None, billing_period_range: Optional[pulumi.Input[pulumi.InputType['CustomLineItemBillingPeriodRangeArgs']]] = None, custom_line_item_charge_details: Optional[pulumi.Input[pulumi.InputType['CustomLineItemChargeDetailsArgs']]] = None, @@ -119,6 +136,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] account_id: The account which this custom line item will be charged to :param pulumi.Input[str] billing_group_arn: Billing Group ARN """ ... @@ -145,6 +163,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, billing_group_arn: Optional[pulumi.Input[str]] = None, billing_period_range: Optional[pulumi.Input[pulumi.InputType['CustomLineItemBillingPeriodRangeArgs']]] = None, custom_line_item_charge_details: Optional[pulumi.Input[pulumi.InputType['CustomLineItemChargeDetailsArgs']]] = None, @@ -161,6 +180,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = CustomLineItemArgs.__new__(CustomLineItemArgs) + __props__.__dict__["account_id"] = account_id if billing_group_arn is None and not opts.urn: raise TypeError("Missing required property 'billing_group_arn'") __props__.__dict__["billing_group_arn"] = billing_group_arn @@ -175,7 +195,7 @@ def _internal_init(__self__, __props__.__dict__["currency_code"] = None __props__.__dict__["last_modified_time"] = None __props__.__dict__["product_code"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["billing_group_arn", "billing_period_range.exclusive_end_billing_period", "billing_period_range.inclusive_start_billing_period", "custom_line_item_charge_details.type"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["account_id", "billing_group_arn", "billing_period_range.exclusive_end_billing_period", "billing_period_range.inclusive_start_billing_period", "custom_line_item_charge_details.type"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(CustomLineItem, __self__).__init__( 'aws-native:billingconductor:CustomLineItem', @@ -199,6 +219,7 @@ def get(resource_name: str, __props__ = CustomLineItemArgs.__new__(CustomLineItemArgs) + __props__.__dict__["account_id"] = None __props__.__dict__["arn"] = None __props__.__dict__["association_size"] = None __props__.__dict__["billing_group_arn"] = None @@ -213,6 +234,14 @@ def get(resource_name: str, __props__.__dict__["tags"] = None return CustomLineItem(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[Optional[str]]: + """ + The account which this custom line item will be charged to + """ + return pulumi.get(self, "account_id") + @property @pulumi.getter def arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/ce/anomaly_monitor.py b/sdk/python/pulumi_aws_native/ce/anomaly_monitor.py index 6bb7ce2e66..051eb9ea52 100644 --- a/sdk/python/pulumi_aws_native/ce/anomaly_monitor.py +++ b/sdk/python/pulumi_aws_native/ce/anomaly_monitor.py @@ -92,12 +92,7 @@ def resource_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Anom pulumi.set(self, "resource_tags", value) -warnings.warn("""AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class AnomalyMonitor(pulumi.CustomResource): - warnings.warn("""AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, @@ -147,7 +142,6 @@ def _internal_init(__self__, monitor_type: Optional[pulumi.Input['AnomalyMonitorMonitorType']] = None, resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AnomalyMonitorResourceTagArgs']]]]] = None, __props__=None): - pulumi.log.warn("""AnomalyMonitor is deprecated: AnomalyMonitor is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') diff --git a/sdk/python/pulumi_aws_native/ce/anomaly_subscription.py b/sdk/python/pulumi_aws_native/ce/anomaly_subscription.py index ffec1b9bd0..ff976654a2 100644 --- a/sdk/python/pulumi_aws_native/ce/anomaly_subscription.py +++ b/sdk/python/pulumi_aws_native/ce/anomaly_subscription.py @@ -130,12 +130,7 @@ def threshold_expression(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "threshold_expression", value) -warnings.warn("""AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class AnomalySubscription(pulumi.CustomResource): - warnings.warn("""AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, @@ -193,7 +188,6 @@ def _internal_init(__self__, threshold: Optional[pulumi.Input[float]] = None, threshold_expression: Optional[pulumi.Input[str]] = None, __props__=None): - pulumi.log.warn("""AnomalySubscription is deprecated: AnomalySubscription is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') diff --git a/sdk/python/pulumi_aws_native/cleanrooms/_inputs.py b/sdk/python/pulumi_aws_native/cleanrooms/_inputs.py index 0b7e22adca..677c27cbba 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/_inputs.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/_inputs.py @@ -16,6 +16,8 @@ 'AnalysisTemplateTagArgs', 'CollaborationDataEncryptionMetadataArgs', 'CollaborationMemberSpecificationArgs', + 'CollaborationPaymentConfigurationArgs', + 'CollaborationQueryComputePaymentConfigArgs', 'CollaborationTagArgs', 'ConfiguredTableAggregateColumnArgs', 'ConfiguredTableAggregationConstraintArgs', @@ -31,9 +33,11 @@ 'ConfiguredTableGlueTableReferenceArgs', 'ConfiguredTableTableReferenceArgs', 'ConfiguredTableTagArgs', + 'MembershipPaymentConfigurationArgs', 'MembershipProtectedQueryOutputConfigurationArgs', 'MembershipProtectedQueryResultConfigurationArgs', 'MembershipProtectedQueryS3OutputConfigurationArgs', + 'MembershipQueryComputePaymentConfigArgs', 'MembershipTagArgs', ] @@ -173,10 +177,13 @@ class CollaborationMemberSpecificationArgs: def __init__(__self__, *, account_id: pulumi.Input[str], display_name: pulumi.Input[str], - member_abilities: pulumi.Input[Sequence[pulumi.Input['CollaborationMemberAbility']]]): + member_abilities: pulumi.Input[Sequence[pulumi.Input['CollaborationMemberAbility']]], + payment_configuration: Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']] = None): pulumi.set(__self__, "account_id", account_id) pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "member_abilities", member_abilities) + if payment_configuration is not None: + pulumi.set(__self__, "payment_configuration", payment_configuration) @property @pulumi.getter(name="accountId") @@ -205,6 +212,47 @@ def member_abilities(self) -> pulumi.Input[Sequence[pulumi.Input['CollaborationM def member_abilities(self, value: pulumi.Input[Sequence[pulumi.Input['CollaborationMemberAbility']]]): pulumi.set(self, "member_abilities", value) + @property + @pulumi.getter(name="paymentConfiguration") + def payment_configuration(self) -> Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']]: + return pulumi.get(self, "payment_configuration") + + @payment_configuration.setter + def payment_configuration(self, value: Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']]): + pulumi.set(self, "payment_configuration", value) + + +@pulumi.input_type +class CollaborationPaymentConfigurationArgs: + def __init__(__self__, *, + query_compute: pulumi.Input['CollaborationQueryComputePaymentConfigArgs']): + pulumi.set(__self__, "query_compute", query_compute) + + @property + @pulumi.getter(name="queryCompute") + def query_compute(self) -> pulumi.Input['CollaborationQueryComputePaymentConfigArgs']: + return pulumi.get(self, "query_compute") + + @query_compute.setter + def query_compute(self, value: pulumi.Input['CollaborationQueryComputePaymentConfigArgs']): + pulumi.set(self, "query_compute", value) + + +@pulumi.input_type +class CollaborationQueryComputePaymentConfigArgs: + def __init__(__self__, *, + is_responsible: pulumi.Input[bool]): + pulumi.set(__self__, "is_responsible", is_responsible) + + @property + @pulumi.getter(name="isResponsible") + def is_responsible(self) -> pulumi.Input[bool]: + return pulumi.get(self, "is_responsible") + + @is_responsible.setter + def is_responsible(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_responsible", value) + @pulumi.input_type class CollaborationTagArgs: @@ -637,6 +685,22 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class MembershipPaymentConfigurationArgs: + def __init__(__self__, *, + query_compute: pulumi.Input['MembershipQueryComputePaymentConfigArgs']): + pulumi.set(__self__, "query_compute", query_compute) + + @property + @pulumi.getter(name="queryCompute") + def query_compute(self) -> pulumi.Input['MembershipQueryComputePaymentConfigArgs']: + return pulumi.get(self, "query_compute") + + @query_compute.setter + def query_compute(self, value: pulumi.Input['MembershipQueryComputePaymentConfigArgs']): + pulumi.set(self, "query_compute", value) + + @pulumi.input_type class MembershipProtectedQueryOutputConfigurationArgs: def __init__(__self__, *, @@ -720,6 +784,22 @@ def key_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "key_prefix", value) +@pulumi.input_type +class MembershipQueryComputePaymentConfigArgs: + def __init__(__self__, *, + is_responsible: pulumi.Input[bool]): + pulumi.set(__self__, "is_responsible", is_responsible) + + @property + @pulumi.getter(name="isResponsible") + def is_responsible(self) -> pulumi.Input[bool]: + return pulumi.get(self, "is_responsible") + + @is_responsible.setter + def is_responsible(self, value: pulumi.Input[bool]): + pulumi.set(self, "is_responsible", value) + + @pulumi.input_type class MembershipTagArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/cleanrooms/collaboration.py b/sdk/python/pulumi_aws_native/cleanrooms/collaboration.py index 9ffccb0e29..e4d26966cc 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/collaboration.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/collaboration.py @@ -22,6 +22,7 @@ def __init__(__self__, *, description: pulumi.Input[str], members: pulumi.Input[Sequence[pulumi.Input['CollaborationMemberSpecificationArgs']]], query_log_status: pulumi.Input['CollaborationQueryLogStatus'], + creator_payment_configuration: Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']] = None, data_encryption_metadata: Optional[pulumi.Input['CollaborationDataEncryptionMetadataArgs']] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['CollaborationTagArgs']]]] = None): @@ -34,6 +35,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) pulumi.set(__self__, "members", members) pulumi.set(__self__, "query_log_status", query_log_status) + if creator_payment_configuration is not None: + pulumi.set(__self__, "creator_payment_configuration", creator_payment_configuration) if data_encryption_metadata is not None: pulumi.set(__self__, "data_encryption_metadata", data_encryption_metadata) if name is not None: @@ -86,6 +89,15 @@ def query_log_status(self) -> pulumi.Input['CollaborationQueryLogStatus']: def query_log_status(self, value: pulumi.Input['CollaborationQueryLogStatus']): pulumi.set(self, "query_log_status", value) + @property + @pulumi.getter(name="creatorPaymentConfiguration") + def creator_payment_configuration(self) -> Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']]: + return pulumi.get(self, "creator_payment_configuration") + + @creator_payment_configuration.setter + def creator_payment_configuration(self, value: Optional[pulumi.Input['CollaborationPaymentConfigurationArgs']]): + pulumi.set(self, "creator_payment_configuration", value) + @property @pulumi.getter(name="dataEncryptionMetadata") def data_encryption_metadata(self) -> Optional[pulumi.Input['CollaborationDataEncryptionMetadataArgs']]: @@ -124,6 +136,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, creator_display_name: Optional[pulumi.Input[str]] = None, creator_member_abilities: Optional[pulumi.Input[Sequence[pulumi.Input['CollaborationMemberAbility']]]] = None, + creator_payment_configuration: Optional[pulumi.Input[pulumi.InputType['CollaborationPaymentConfigurationArgs']]] = None, data_encryption_metadata: Optional[pulumi.Input[pulumi.InputType['CollaborationDataEncryptionMetadataArgs']]] = None, description: Optional[pulumi.Input[str]] = None, members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CollaborationMemberSpecificationArgs']]]]] = None, @@ -164,6 +177,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, creator_display_name: Optional[pulumi.Input[str]] = None, creator_member_abilities: Optional[pulumi.Input[Sequence[pulumi.Input['CollaborationMemberAbility']]]] = None, + creator_payment_configuration: Optional[pulumi.Input[pulumi.InputType['CollaborationPaymentConfigurationArgs']]] = None, data_encryption_metadata: Optional[pulumi.Input[pulumi.InputType['CollaborationDataEncryptionMetadataArgs']]] = None, description: Optional[pulumi.Input[str]] = None, members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CollaborationMemberSpecificationArgs']]]]] = None, @@ -185,6 +199,7 @@ def _internal_init(__self__, if creator_member_abilities is None and not opts.urn: raise TypeError("Missing required property 'creator_member_abilities'") __props__.__dict__["creator_member_abilities"] = creator_member_abilities + __props__.__dict__["creator_payment_configuration"] = creator_payment_configuration __props__.__dict__["data_encryption_metadata"] = data_encryption_metadata if description is None and not opts.urn: raise TypeError("Missing required property 'description'") @@ -199,7 +214,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["collaboration_identifier"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["creator_display_name", "creator_member_abilities[*]", "data_encryption_metadata", "members[*]", "query_log_status"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["creator_display_name", "creator_member_abilities[*]", "creator_payment_configuration", "data_encryption_metadata", "members[*]", "query_log_status"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Collaboration, __self__).__init__( 'aws-native:cleanrooms:Collaboration', @@ -227,6 +242,7 @@ def get(resource_name: str, __props__.__dict__["collaboration_identifier"] = None __props__.__dict__["creator_display_name"] = None __props__.__dict__["creator_member_abilities"] = None + __props__.__dict__["creator_payment_configuration"] = None __props__.__dict__["data_encryption_metadata"] = None __props__.__dict__["description"] = None __props__.__dict__["members"] = None @@ -255,6 +271,11 @@ def creator_display_name(self) -> pulumi.Output[str]: def creator_member_abilities(self) -> pulumi.Output[Sequence['CollaborationMemberAbility']]: return pulumi.get(self, "creator_member_abilities") + @property + @pulumi.getter(name="creatorPaymentConfiguration") + def creator_payment_configuration(self) -> pulumi.Output[Optional['outputs.CollaborationPaymentConfiguration']]: + return pulumi.get(self, "creator_payment_configuration") + @property @pulumi.getter(name="dataEncryptionMetadata") def data_encryption_metadata(self) -> pulumi.Output[Optional['outputs.CollaborationDataEncryptionMetadata']]: diff --git a/sdk/python/pulumi_aws_native/cleanrooms/get_membership.py b/sdk/python/pulumi_aws_native/cleanrooms/get_membership.py index 34f9508205..da3ef18532 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/get_membership.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/get_membership.py @@ -20,7 +20,7 @@ @pulumi.output_type class GetMembershipResult: - def __init__(__self__, arn=None, collaboration_arn=None, collaboration_creator_account_id=None, default_result_configuration=None, membership_identifier=None, query_log_status=None, tags=None): + def __init__(__self__, arn=None, collaboration_arn=None, collaboration_creator_account_id=None, default_result_configuration=None, membership_identifier=None, payment_configuration=None, query_log_status=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -36,6 +36,9 @@ def __init__(__self__, arn=None, collaboration_arn=None, collaboration_creator_a if membership_identifier and not isinstance(membership_identifier, str): raise TypeError("Expected argument 'membership_identifier' to be a str") pulumi.set(__self__, "membership_identifier", membership_identifier) + if payment_configuration and not isinstance(payment_configuration, dict): + raise TypeError("Expected argument 'payment_configuration' to be a dict") + pulumi.set(__self__, "payment_configuration", payment_configuration) if query_log_status and not isinstance(query_log_status, str): raise TypeError("Expected argument 'query_log_status' to be a str") pulumi.set(__self__, "query_log_status", query_log_status) @@ -68,6 +71,11 @@ def default_result_configuration(self) -> Optional['outputs.MembershipProtectedQ def membership_identifier(self) -> Optional[str]: return pulumi.get(self, "membership_identifier") + @property + @pulumi.getter(name="paymentConfiguration") + def payment_configuration(self) -> Optional['outputs.MembershipPaymentConfiguration']: + return pulumi.get(self, "payment_configuration") + @property @pulumi.getter(name="queryLogStatus") def query_log_status(self) -> Optional['MembershipQueryLogStatus']: @@ -93,6 +101,7 @@ def __await__(self): collaboration_creator_account_id=self.collaboration_creator_account_id, default_result_configuration=self.default_result_configuration, membership_identifier=self.membership_identifier, + payment_configuration=self.payment_configuration, query_log_status=self.query_log_status, tags=self.tags) @@ -113,6 +122,7 @@ def get_membership(membership_identifier: Optional[str] = None, collaboration_creator_account_id=pulumi.get(__ret__, 'collaboration_creator_account_id'), default_result_configuration=pulumi.get(__ret__, 'default_result_configuration'), membership_identifier=pulumi.get(__ret__, 'membership_identifier'), + payment_configuration=pulumi.get(__ret__, 'payment_configuration'), query_log_status=pulumi.get(__ret__, 'query_log_status'), tags=pulumi.get(__ret__, 'tags')) diff --git a/sdk/python/pulumi_aws_native/cleanrooms/membership.py b/sdk/python/pulumi_aws_native/cleanrooms/membership.py index b055afcc92..d1c50e3c48 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/membership.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/membership.py @@ -20,6 +20,7 @@ def __init__(__self__, *, collaboration_identifier: pulumi.Input[str], query_log_status: pulumi.Input['MembershipQueryLogStatus'], default_result_configuration: Optional[pulumi.Input['MembershipProtectedQueryResultConfigurationArgs']] = None, + payment_configuration: Optional[pulumi.Input['MembershipPaymentConfigurationArgs']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['MembershipTagArgs']]]] = None): """ The set of arguments for constructing a Membership resource. @@ -29,6 +30,8 @@ def __init__(__self__, *, pulumi.set(__self__, "query_log_status", query_log_status) if default_result_configuration is not None: pulumi.set(__self__, "default_result_configuration", default_result_configuration) + if payment_configuration is not None: + pulumi.set(__self__, "payment_configuration", payment_configuration) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -59,6 +62,15 @@ def default_result_configuration(self) -> Optional[pulumi.Input['MembershipProte def default_result_configuration(self, value: Optional[pulumi.Input['MembershipProtectedQueryResultConfigurationArgs']]): pulumi.set(self, "default_result_configuration", value) + @property + @pulumi.getter(name="paymentConfiguration") + def payment_configuration(self) -> Optional[pulumi.Input['MembershipPaymentConfigurationArgs']]: + return pulumi.get(self, "payment_configuration") + + @payment_configuration.setter + def payment_configuration(self, value: Optional[pulumi.Input['MembershipPaymentConfigurationArgs']]): + pulumi.set(self, "payment_configuration", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MembershipTagArgs']]]]: @@ -79,6 +91,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, collaboration_identifier: Optional[pulumi.Input[str]] = None, default_result_configuration: Optional[pulumi.Input[pulumi.InputType['MembershipProtectedQueryResultConfigurationArgs']]] = None, + payment_configuration: Optional[pulumi.Input[pulumi.InputType['MembershipPaymentConfigurationArgs']]] = None, query_log_status: Optional[pulumi.Input['MembershipQueryLogStatus']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MembershipTagArgs']]]]] = None, __props__=None): @@ -115,6 +128,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, collaboration_identifier: Optional[pulumi.Input[str]] = None, default_result_configuration: Optional[pulumi.Input[pulumi.InputType['MembershipProtectedQueryResultConfigurationArgs']]] = None, + payment_configuration: Optional[pulumi.Input[pulumi.InputType['MembershipPaymentConfigurationArgs']]] = None, query_log_status: Optional[pulumi.Input['MembershipQueryLogStatus']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MembershipTagArgs']]]]] = None, __props__=None): @@ -130,6 +144,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'collaboration_identifier'") __props__.__dict__["collaboration_identifier"] = collaboration_identifier __props__.__dict__["default_result_configuration"] = default_result_configuration + __props__.__dict__["payment_configuration"] = payment_configuration if query_log_status is None and not opts.urn: raise TypeError("Missing required property 'query_log_status'") __props__.__dict__["query_log_status"] = query_log_status @@ -168,6 +183,7 @@ def get(resource_name: str, __props__.__dict__["collaboration_identifier"] = None __props__.__dict__["default_result_configuration"] = None __props__.__dict__["membership_identifier"] = None + __props__.__dict__["payment_configuration"] = None __props__.__dict__["query_log_status"] = None __props__.__dict__["tags"] = None return Membership(resource_name, opts=opts, __props__=__props__) @@ -202,6 +218,11 @@ def default_result_configuration(self) -> pulumi.Output[Optional['outputs.Member def membership_identifier(self) -> pulumi.Output[str]: return pulumi.get(self, "membership_identifier") + @property + @pulumi.getter(name="paymentConfiguration") + def payment_configuration(self) -> pulumi.Output[Optional['outputs.MembershipPaymentConfiguration']]: + return pulumi.get(self, "payment_configuration") + @property @pulumi.getter(name="queryLogStatus") def query_log_status(self) -> pulumi.Output['MembershipQueryLogStatus']: diff --git a/sdk/python/pulumi_aws_native/cleanrooms/outputs.py b/sdk/python/pulumi_aws_native/cleanrooms/outputs.py index 89b5c6c694..dd2a82c418 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/outputs.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/outputs.py @@ -18,6 +18,8 @@ 'AnalysisTemplateTag', 'CollaborationDataEncryptionMetadata', 'CollaborationMemberSpecification', + 'CollaborationPaymentConfiguration', + 'CollaborationQueryComputePaymentConfig', 'CollaborationTag', 'ConfiguredTableAggregateColumn', 'ConfiguredTableAggregationConstraint', @@ -33,9 +35,11 @@ 'ConfiguredTableGlueTableReference', 'ConfiguredTableTableReference', 'ConfiguredTableTag', + 'MembershipPaymentConfiguration', 'MembershipProtectedQueryOutputConfiguration', 'MembershipProtectedQueryResultConfiguration', 'MembershipProtectedQueryS3OutputConfiguration', + 'MembershipQueryComputePaymentConfig', 'MembershipTag', ] @@ -210,6 +214,8 @@ def __key_warning(key: str): suggest = "display_name" elif key == "memberAbilities": suggest = "member_abilities" + elif key == "paymentConfiguration": + suggest = "payment_configuration" if suggest: pulumi.log.warn(f"Key '{key}' not found in CollaborationMemberSpecification. Access the value via the '{suggest}' property getter instead.") @@ -225,10 +231,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, account_id: str, display_name: str, - member_abilities: Sequence['CollaborationMemberAbility']): + member_abilities: Sequence['CollaborationMemberAbility'], + payment_configuration: Optional['outputs.CollaborationPaymentConfiguration'] = None): pulumi.set(__self__, "account_id", account_id) pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "member_abilities", member_abilities) + if payment_configuration is not None: + pulumi.set(__self__, "payment_configuration", payment_configuration) @property @pulumi.getter(name="accountId") @@ -245,6 +254,69 @@ def display_name(self) -> str: def member_abilities(self) -> Sequence['CollaborationMemberAbility']: return pulumi.get(self, "member_abilities") + @property + @pulumi.getter(name="paymentConfiguration") + def payment_configuration(self) -> Optional['outputs.CollaborationPaymentConfiguration']: + return pulumi.get(self, "payment_configuration") + + +@pulumi.output_type +class CollaborationPaymentConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryCompute": + suggest = "query_compute" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CollaborationPaymentConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CollaborationPaymentConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CollaborationPaymentConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query_compute: 'outputs.CollaborationQueryComputePaymentConfig'): + pulumi.set(__self__, "query_compute", query_compute) + + @property + @pulumi.getter(name="queryCompute") + def query_compute(self) -> 'outputs.CollaborationQueryComputePaymentConfig': + return pulumi.get(self, "query_compute") + + +@pulumi.output_type +class CollaborationQueryComputePaymentConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isResponsible": + suggest = "is_responsible" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CollaborationQueryComputePaymentConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CollaborationQueryComputePaymentConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CollaborationQueryComputePaymentConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_responsible: bool): + pulumi.set(__self__, "is_responsible", is_responsible) + + @property + @pulumi.getter(name="isResponsible") + def is_responsible(self) -> bool: + return pulumi.get(self, "is_responsible") + @pulumi.output_type class CollaborationTag(dict): @@ -671,6 +743,35 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class MembershipPaymentConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryCompute": + suggest = "query_compute" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MembershipPaymentConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MembershipPaymentConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MembershipPaymentConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query_compute: 'outputs.MembershipQueryComputePaymentConfig'): + pulumi.set(__self__, "query_compute", query_compute) + + @property + @pulumi.getter(name="queryCompute") + def query_compute(self) -> 'outputs.MembershipQueryComputePaymentConfig': + return pulumi.get(self, "query_compute") + + @pulumi.output_type class MembershipProtectedQueryOutputConfiguration(dict): def __init__(__self__, *, @@ -768,6 +869,35 @@ def key_prefix(self) -> Optional[str]: return pulumi.get(self, "key_prefix") +@pulumi.output_type +class MembershipQueryComputePaymentConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "isResponsible": + suggest = "is_responsible" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MembershipQueryComputePaymentConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MembershipQueryComputePaymentConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MembershipQueryComputePaymentConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + is_responsible: bool): + pulumi.set(__self__, "is_responsible", is_responsible) + + @property + @pulumi.getter(name="isResponsible") + def is_responsible(self) -> bool: + return pulumi.get(self, "is_responsible") + + @pulumi.output_type class MembershipTag(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/cloud9/environment_ec2.py b/sdk/python/pulumi_aws_native/cloud9/environment_ec2.py index 5f16c5389e..d7782576eb 100644 --- a/sdk/python/pulumi_aws_native/cloud9/environment_ec2.py +++ b/sdk/python/pulumi_aws_native/cloud9/environment_ec2.py @@ -16,11 +16,11 @@ @pulumi.input_type class EnvironmentEc2Args: def __init__(__self__, *, + image_id: pulumi.Input[str], instance_type: pulumi.Input[str], automatic_stop_time_minutes: Optional[pulumi.Input[int]] = None, connection_type: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - image_id: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, owner_arn: Optional[pulumi.Input[str]] = None, repositories: Optional[pulumi.Input[Sequence[pulumi.Input['EnvironmentEc2RepositoryArgs']]]] = None, @@ -29,6 +29,7 @@ def __init__(__self__, *, """ The set of arguments for constructing a EnvironmentEc2 resource. """ + pulumi.set(__self__, "image_id", image_id) pulumi.set(__self__, "instance_type", instance_type) if automatic_stop_time_minutes is not None: pulumi.set(__self__, "automatic_stop_time_minutes", automatic_stop_time_minutes) @@ -36,8 +37,6 @@ def __init__(__self__, *, pulumi.set(__self__, "connection_type", connection_type) if description is not None: pulumi.set(__self__, "description", description) - if image_id is not None: - pulumi.set(__self__, "image_id", image_id) if name is not None: pulumi.set(__self__, "name", name) if owner_arn is not None: @@ -49,6 +48,15 @@ def __init__(__self__, *, if tags is not None: pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter(name="imageId") + def image_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "image_id") + + @image_id.setter + def image_id(self, value: pulumi.Input[str]): + pulumi.set(self, "image_id", value) + @property @pulumi.getter(name="instanceType") def instance_type(self) -> pulumi.Input[str]: @@ -85,15 +93,6 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) - @property - @pulumi.getter(name="imageId") - def image_id(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "image_id") - - @image_id.setter - def image_id(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "image_id", value) - @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -214,6 +213,8 @@ def _internal_init(__self__, __props__.__dict__["automatic_stop_time_minutes"] = automatic_stop_time_minutes __props__.__dict__["connection_type"] = connection_type __props__.__dict__["description"] = description + if image_id is None and not opts.urn: + raise TypeError("Missing required property 'image_id'") __props__.__dict__["image_id"] = image_id if instance_type is None and not opts.urn: raise TypeError("Missing required property 'instance_type'") @@ -283,7 +284,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="imageId") - def image_id(self) -> pulumi.Output[Optional[str]]: + def image_id(self) -> pulumi.Output[str]: return pulumi.get(self, "image_id") @property diff --git a/sdk/python/pulumi_aws_native/cloudfront/__init__.py b/sdk/python/pulumi_aws_native/cloudfront/__init__.py index 49c3a2caea..2e5670ffc7 100644 --- a/sdk/python/pulumi_aws_native/cloudfront/__init__.py +++ b/sdk/python/pulumi_aws_native/cloudfront/__init__.py @@ -17,6 +17,7 @@ from .get_distribution import * from .get_function import * from .get_key_group import * +from .get_key_value_store import * from .get_monitoring_subscription import * from .get_origin_access_control import * from .get_origin_request_policy import * @@ -25,6 +26,7 @@ from .get_response_headers_policy import * from .get_streaming_distribution import * from .key_group import * +from .key_value_store import * from .monitoring_subscription import * from .origin_access_control import * from .origin_request_policy import * diff --git a/sdk/python/pulumi_aws_native/cloudfront/_inputs.py b/sdk/python/pulumi_aws_native/cloudfront/_inputs.py index 5eb6dd962d..dd64998e5f 100644 --- a/sdk/python/pulumi_aws_native/cloudfront/_inputs.py +++ b/sdk/python/pulumi_aws_native/cloudfront/_inputs.py @@ -53,6 +53,7 @@ 'FunctionConfigArgs', 'FunctionMetadataArgs', 'KeyGroupConfigArgs', + 'KeyValueStoreImportSourceArgs', 'MonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs', 'MonitoringSubscriptionArgs', 'OriginAccessControlConfigArgs', @@ -2276,6 +2277,33 @@ def comment(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "comment", value) +@pulumi.input_type +class KeyValueStoreImportSourceArgs: + def __init__(__self__, *, + source_arn: pulumi.Input[str], + source_type: pulumi.Input[str]): + pulumi.set(__self__, "source_arn", source_arn) + pulumi.set(__self__, "source_type", source_type) + + @property + @pulumi.getter(name="sourceArn") + def source_arn(self) -> pulumi.Input[str]: + return pulumi.get(self, "source_arn") + + @source_arn.setter + def source_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "source_arn", value) + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "source_type") + + @source_type.setter + def source_type(self, value: pulumi.Input[str]): + pulumi.set(self, "source_type", value) + + @pulumi.input_type class MonitoringSubscriptionRealtimeMetricsSubscriptionConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/cloudfront/get_key_value_store.py b/sdk/python/pulumi_aws_native/cloudfront/get_key_value_store.py new file mode 100644 index 0000000000..9f195f8ac2 --- /dev/null +++ b/sdk/python/pulumi_aws_native/cloudfront/get_key_value_store.py @@ -0,0 +1,91 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetKeyValueStoreResult', + 'AwaitableGetKeyValueStoreResult', + 'get_key_value_store', + 'get_key_value_store_output', +] + +@pulumi.output_type +class GetKeyValueStoreResult: + def __init__(__self__, arn=None, comment=None, id=None, status=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if comment and not isinstance(comment, str): + raise TypeError("Expected argument 'comment' to be a str") + pulumi.set(__self__, "comment", comment) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def comment(self) -> Optional[str]: + return pulumi.get(self, "comment") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + return pulumi.get(self, "status") + + +class AwaitableGetKeyValueStoreResult(GetKeyValueStoreResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetKeyValueStoreResult( + arn=self.arn, + comment=self.comment, + id=self.id, + status=self.status) + + +def get_key_value_store(name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetKeyValueStoreResult: + """ + Resource Type definition for AWS::CloudFront::KeyValueStore + """ + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:cloudfront:getKeyValueStore', __args__, opts=opts, typ=GetKeyValueStoreResult).value + + return AwaitableGetKeyValueStoreResult( + arn=pulumi.get(__ret__, 'arn'), + comment=pulumi.get(__ret__, 'comment'), + id=pulumi.get(__ret__, 'id'), + status=pulumi.get(__ret__, 'status')) + + +@_utilities.lift_output_func(get_key_value_store) +def get_key_value_store_output(name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetKeyValueStoreResult]: + """ + Resource Type definition for AWS::CloudFront::KeyValueStore + """ + ... diff --git a/sdk/python/pulumi_aws_native/cloudfront/key_value_store.py b/sdk/python/pulumi_aws_native/cloudfront/key_value_store.py new file mode 100644 index 0000000000..0e800941fb --- /dev/null +++ b/sdk/python/pulumi_aws_native/cloudfront/key_value_store.py @@ -0,0 +1,177 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['KeyValueStoreArgs', 'KeyValueStore'] + +@pulumi.input_type +class KeyValueStoreArgs: + def __init__(__self__, *, + comment: Optional[pulumi.Input[str]] = None, + import_source: Optional[pulumi.Input['KeyValueStoreImportSourceArgs']] = None, + name: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a KeyValueStore resource. + """ + if comment is not None: + pulumi.set(__self__, "comment", comment) + if import_source is not None: + pulumi.set(__self__, "import_source", import_source) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def comment(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "comment") + + @comment.setter + def comment(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "comment", value) + + @property + @pulumi.getter(name="importSource") + def import_source(self) -> Optional[pulumi.Input['KeyValueStoreImportSourceArgs']]: + return pulumi.get(self, "import_source") + + @import_source.setter + def import_source(self, value: Optional[pulumi.Input['KeyValueStoreImportSourceArgs']]): + pulumi.set(self, "import_source", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + +warnings.warn("""KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) + + +class KeyValueStore(pulumi.CustomResource): + warnings.warn("""KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) + + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + comment: Optional[pulumi.Input[str]] = None, + import_source: Optional[pulumi.Input[pulumi.InputType['KeyValueStoreImportSourceArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource Type definition for AWS::CloudFront::KeyValueStore + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[KeyValueStoreArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource Type definition for AWS::CloudFront::KeyValueStore + + :param str resource_name: The name of the resource. + :param KeyValueStoreArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(KeyValueStoreArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + comment: Optional[pulumi.Input[str]] = None, + import_source: Optional[pulumi.Input[pulumi.InputType['KeyValueStoreImportSourceArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + __props__=None): + pulumi.log.warn("""KeyValueStore is deprecated: KeyValueStore is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = KeyValueStoreArgs.__new__(KeyValueStoreArgs) + + __props__.__dict__["comment"] = comment + __props__.__dict__["import_source"] = import_source + __props__.__dict__["name"] = name + __props__.__dict__["arn"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(KeyValueStore, __self__).__init__( + 'aws-native:cloudfront:KeyValueStore', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'KeyValueStore': + """ + Get an existing KeyValueStore resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = KeyValueStoreArgs.__new__(KeyValueStoreArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["comment"] = None + __props__.__dict__["import_source"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + return KeyValueStore(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def comment(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "comment") + + @property + @pulumi.getter(name="importSource") + def import_source(self) -> pulumi.Output[Optional['outputs.KeyValueStoreImportSource']]: + return pulumi.get(self, "import_source") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_aws_native/cloudfront/outputs.py b/sdk/python/pulumi_aws_native/cloudfront/outputs.py index 444d24ea0b..1734796104 100644 --- a/sdk/python/pulumi_aws_native/cloudfront/outputs.py +++ b/sdk/python/pulumi_aws_native/cloudfront/outputs.py @@ -54,6 +54,7 @@ 'FunctionConfig', 'FunctionMetadata', 'KeyGroupConfig', + 'KeyValueStoreImportSource', 'MonitoringSubscription', 'MonitoringSubscriptionRealtimeMetricsSubscriptionConfig', 'OriginAccessControlConfig', @@ -2338,6 +2339,44 @@ def comment(self) -> Optional[str]: return pulumi.get(self, "comment") +@pulumi.output_type +class KeyValueStoreImportSource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceArn": + suggest = "source_arn" + elif key == "sourceType": + suggest = "source_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in KeyValueStoreImportSource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + KeyValueStoreImportSource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + KeyValueStoreImportSource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + source_arn: str, + source_type: str): + pulumi.set(__self__, "source_arn", source_arn) + pulumi.set(__self__, "source_type", source_type) + + @property + @pulumi.getter(name="sourceArn") + def source_arn(self) -> str: + return pulumi.get(self, "source_arn") + + @property + @pulumi.getter(name="sourceType") + def source_type(self) -> str: + return pulumi.get(self, "source_type") + + @pulumi.output_type class MonitoringSubscription(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/cloudtrail/event_data_store.py b/sdk/python/pulumi_aws_native/cloudtrail/event_data_store.py index b6b37e9428..648f54cafd 100644 --- a/sdk/python/pulumi_aws_native/cloudtrail/event_data_store.py +++ b/sdk/python/pulumi_aws_native/cloudtrail/event_data_store.py @@ -18,6 +18,8 @@ class EventDataStoreArgs: def __init__(__self__, *, advanced_event_selectors: Optional[pulumi.Input[Sequence[pulumi.Input['EventDataStoreAdvancedEventSelectorArgs']]]] = None, billing_mode: Optional[pulumi.Input[str]] = None, + federation_enabled: Optional[pulumi.Input[bool]] = None, + federation_role_arn: Optional[pulumi.Input[str]] = None, ingestion_enabled: Optional[pulumi.Input[bool]] = None, insight_selectors: Optional[pulumi.Input[Sequence[pulumi.Input['EventDataStoreInsightSelectorArgs']]]] = None, insights_destination: Optional[pulumi.Input[str]] = None, @@ -32,6 +34,8 @@ def __init__(__self__, *, The set of arguments for constructing a EventDataStore resource. :param pulumi.Input[Sequence[pulumi.Input['EventDataStoreAdvancedEventSelectorArgs']]] advanced_event_selectors: The advanced event selectors that were used to select events for the data store. :param pulumi.Input[str] billing_mode: The mode that the event data store will use to charge for event storage. + :param pulumi.Input[bool] federation_enabled: Indicates whether federation is enabled on an event data store. + :param pulumi.Input[str] federation_role_arn: The ARN of the role used for event data store federation. :param pulumi.Input[bool] ingestion_enabled: Indicates whether the event data store is ingesting events. :param pulumi.Input[Sequence[pulumi.Input['EventDataStoreInsightSelectorArgs']]] insight_selectors: 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. :param pulumi.Input[str] insights_destination: 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 @@ -46,6 +50,10 @@ def __init__(__self__, *, pulumi.set(__self__, "advanced_event_selectors", advanced_event_selectors) if billing_mode is not None: pulumi.set(__self__, "billing_mode", billing_mode) + if federation_enabled is not None: + pulumi.set(__self__, "federation_enabled", federation_enabled) + if federation_role_arn is not None: + pulumi.set(__self__, "federation_role_arn", federation_role_arn) if ingestion_enabled is not None: pulumi.set(__self__, "ingestion_enabled", ingestion_enabled) if insight_selectors is not None: @@ -91,6 +99,30 @@ def billing_mode(self) -> Optional[pulumi.Input[str]]: def billing_mode(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "billing_mode", value) + @property + @pulumi.getter(name="federationEnabled") + def federation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether federation is enabled on an event data store. + """ + return pulumi.get(self, "federation_enabled") + + @federation_enabled.setter + def federation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "federation_enabled", value) + + @property + @pulumi.getter(name="federationRoleArn") + def federation_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the role used for event data store federation. + """ + return pulumi.get(self, "federation_role_arn") + + @federation_role_arn.setter + def federation_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "federation_role_arn", value) + @property @pulumi.getter(name="ingestionEnabled") def ingestion_enabled(self) -> Optional[pulumi.Input[bool]]: @@ -216,6 +248,8 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, advanced_event_selectors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreAdvancedEventSelectorArgs']]]]] = None, billing_mode: Optional[pulumi.Input[str]] = None, + federation_enabled: Optional[pulumi.Input[bool]] = None, + federation_role_arn: Optional[pulumi.Input[str]] = None, ingestion_enabled: Optional[pulumi.Input[bool]] = None, insight_selectors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreInsightSelectorArgs']]]]] = None, insights_destination: Optional[pulumi.Input[str]] = None, @@ -234,6 +268,8 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreAdvancedEventSelectorArgs']]]] advanced_event_selectors: The advanced event selectors that were used to select events for the data store. :param pulumi.Input[str] billing_mode: The mode that the event data store will use to charge for event storage. + :param pulumi.Input[bool] federation_enabled: Indicates whether federation is enabled on an event data store. + :param pulumi.Input[str] federation_role_arn: The ARN of the role used for event data store federation. :param pulumi.Input[bool] ingestion_enabled: Indicates whether the event data store is ingesting events. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreInsightSelectorArgs']]]] insight_selectors: 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. :param pulumi.Input[str] insights_destination: 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 @@ -270,6 +306,8 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, advanced_event_selectors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreAdvancedEventSelectorArgs']]]]] = None, billing_mode: Optional[pulumi.Input[str]] = None, + federation_enabled: Optional[pulumi.Input[bool]] = None, + federation_role_arn: Optional[pulumi.Input[str]] = None, ingestion_enabled: Optional[pulumi.Input[bool]] = None, insight_selectors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EventDataStoreInsightSelectorArgs']]]]] = None, insights_destination: Optional[pulumi.Input[str]] = None, @@ -291,6 +329,8 @@ def _internal_init(__self__, __props__.__dict__["advanced_event_selectors"] = advanced_event_selectors __props__.__dict__["billing_mode"] = billing_mode + __props__.__dict__["federation_enabled"] = federation_enabled + __props__.__dict__["federation_role_arn"] = federation_role_arn __props__.__dict__["ingestion_enabled"] = ingestion_enabled __props__.__dict__["insight_selectors"] = insight_selectors __props__.__dict__["insights_destination"] = insights_destination @@ -331,6 +371,8 @@ def get(resource_name: str, __props__.__dict__["billing_mode"] = None __props__.__dict__["created_timestamp"] = None __props__.__dict__["event_data_store_arn"] = None + __props__.__dict__["federation_enabled"] = None + __props__.__dict__["federation_role_arn"] = None __props__.__dict__["ingestion_enabled"] = None __props__.__dict__["insight_selectors"] = None __props__.__dict__["insights_destination"] = None @@ -377,6 +419,22 @@ def event_data_store_arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "event_data_store_arn") + @property + @pulumi.getter(name="federationEnabled") + def federation_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether federation is enabled on an event data store. + """ + return pulumi.get(self, "federation_enabled") + + @property + @pulumi.getter(name="federationRoleArn") + def federation_role_arn(self) -> pulumi.Output[Optional[str]]: + """ + The ARN of the role used for event data store federation. + """ + return pulumi.get(self, "federation_role_arn") + @property @pulumi.getter(name="ingestionEnabled") def ingestion_enabled(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_aws_native/cloudtrail/get_event_data_store.py b/sdk/python/pulumi_aws_native/cloudtrail/get_event_data_store.py index b76096b4d7..3f450e9d62 100644 --- a/sdk/python/pulumi_aws_native/cloudtrail/get_event_data_store.py +++ b/sdk/python/pulumi_aws_native/cloudtrail/get_event_data_store.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetEventDataStoreResult: - def __init__(__self__, advanced_event_selectors=None, billing_mode=None, created_timestamp=None, event_data_store_arn=None, ingestion_enabled=None, insight_selectors=None, insights_destination=None, kms_key_id=None, multi_region_enabled=None, name=None, organization_enabled=None, retention_period=None, status=None, tags=None, termination_protection_enabled=None, updated_timestamp=None): + def __init__(__self__, advanced_event_selectors=None, billing_mode=None, created_timestamp=None, event_data_store_arn=None, federation_enabled=None, federation_role_arn=None, ingestion_enabled=None, insight_selectors=None, insights_destination=None, kms_key_id=None, multi_region_enabled=None, name=None, organization_enabled=None, retention_period=None, status=None, tags=None, termination_protection_enabled=None, updated_timestamp=None): if advanced_event_selectors and not isinstance(advanced_event_selectors, list): raise TypeError("Expected argument 'advanced_event_selectors' to be a list") pulumi.set(__self__, "advanced_event_selectors", advanced_event_selectors) @@ -32,6 +32,12 @@ def __init__(__self__, advanced_event_selectors=None, billing_mode=None, created if event_data_store_arn and not isinstance(event_data_store_arn, str): raise TypeError("Expected argument 'event_data_store_arn' to be a str") pulumi.set(__self__, "event_data_store_arn", event_data_store_arn) + if federation_enabled and not isinstance(federation_enabled, bool): + raise TypeError("Expected argument 'federation_enabled' to be a bool") + pulumi.set(__self__, "federation_enabled", federation_enabled) + if federation_role_arn and not isinstance(federation_role_arn, str): + raise TypeError("Expected argument 'federation_role_arn' to be a str") + pulumi.set(__self__, "federation_role_arn", federation_role_arn) if ingestion_enabled and not isinstance(ingestion_enabled, bool): raise TypeError("Expected argument 'ingestion_enabled' to be a bool") pulumi.set(__self__, "ingestion_enabled", ingestion_enabled) @@ -101,6 +107,22 @@ def event_data_store_arn(self) -> Optional[str]: """ return pulumi.get(self, "event_data_store_arn") + @property + @pulumi.getter(name="federationEnabled") + def federation_enabled(self) -> Optional[bool]: + """ + Indicates whether federation is enabled on an event data store. + """ + return pulumi.get(self, "federation_enabled") + + @property + @pulumi.getter(name="federationRoleArn") + def federation_role_arn(self) -> Optional[str]: + """ + The ARN of the role used for event data store federation. + """ + return pulumi.get(self, "federation_role_arn") + @property @pulumi.getter(name="ingestionEnabled") def ingestion_enabled(self) -> Optional[bool]: @@ -205,6 +227,8 @@ def __await__(self): billing_mode=self.billing_mode, created_timestamp=self.created_timestamp, event_data_store_arn=self.event_data_store_arn, + federation_enabled=self.federation_enabled, + federation_role_arn=self.federation_role_arn, ingestion_enabled=self.ingestion_enabled, insight_selectors=self.insight_selectors, insights_destination=self.insights_destination, @@ -237,6 +261,8 @@ def get_event_data_store(event_data_store_arn: Optional[str] = None, billing_mode=pulumi.get(__ret__, 'billing_mode'), created_timestamp=pulumi.get(__ret__, 'created_timestamp'), event_data_store_arn=pulumi.get(__ret__, 'event_data_store_arn'), + federation_enabled=pulumi.get(__ret__, 'federation_enabled'), + federation_role_arn=pulumi.get(__ret__, 'federation_role_arn'), ingestion_enabled=pulumi.get(__ret__, 'ingestion_enabled'), insight_selectors=pulumi.get(__ret__, 'insight_selectors'), insights_destination=pulumi.get(__ret__, 'insights_destination'), diff --git a/sdk/python/pulumi_aws_native/codedeploy/_inputs.py b/sdk/python/pulumi_aws_native/codedeploy/_inputs.py index 8731221156..51bfb72356 100644 --- a/sdk/python/pulumi_aws_native/codedeploy/_inputs.py +++ b/sdk/python/pulumi_aws_native/codedeploy/_inputs.py @@ -11,10 +11,12 @@ __all__ = [ 'ApplicationTagArgs', + 'DeploymentConfigMinimumHealthyHostsPerZoneArgs', 'DeploymentConfigMinimumHealthyHostsArgs', 'DeploymentConfigTimeBasedCanaryArgs', 'DeploymentConfigTimeBasedLinearArgs', 'DeploymentConfigTrafficRoutingConfigArgs', + 'DeploymentConfigZonalConfigArgs', 'DeploymentGroupAlarmConfigurationArgs', 'DeploymentGroupAlarmArgs', 'DeploymentGroupAutoRollbackConfigurationArgs', @@ -70,6 +72,33 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class DeploymentConfigMinimumHealthyHostsPerZoneArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + value: pulumi.Input[int]): + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[int]: + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[int]): + pulumi.set(self, "value", value) + + @pulumi.input_type class DeploymentConfigMinimumHealthyHostsArgs: def __init__(__self__, *, @@ -191,6 +220,47 @@ def time_based_linear(self, value: Optional[pulumi.Input['DeploymentConfigTimeBa pulumi.set(self, "time_based_linear", value) +@pulumi.input_type +class DeploymentConfigZonalConfigArgs: + def __init__(__self__, *, + first_zone_monitor_duration_in_seconds: Optional[pulumi.Input[int]] = None, + minimum_healthy_hosts_per_zone: Optional[pulumi.Input['DeploymentConfigMinimumHealthyHostsPerZoneArgs']] = None, + monitor_duration_in_seconds: Optional[pulumi.Input[int]] = None): + if first_zone_monitor_duration_in_seconds is not None: + pulumi.set(__self__, "first_zone_monitor_duration_in_seconds", first_zone_monitor_duration_in_seconds) + if minimum_healthy_hosts_per_zone is not None: + pulumi.set(__self__, "minimum_healthy_hosts_per_zone", minimum_healthy_hosts_per_zone) + if monitor_duration_in_seconds is not None: + pulumi.set(__self__, "monitor_duration_in_seconds", monitor_duration_in_seconds) + + @property + @pulumi.getter(name="firstZoneMonitorDurationInSeconds") + def first_zone_monitor_duration_in_seconds(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "first_zone_monitor_duration_in_seconds") + + @first_zone_monitor_duration_in_seconds.setter + def first_zone_monitor_duration_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "first_zone_monitor_duration_in_seconds", value) + + @property + @pulumi.getter(name="minimumHealthyHostsPerZone") + def minimum_healthy_hosts_per_zone(self) -> Optional[pulumi.Input['DeploymentConfigMinimumHealthyHostsPerZoneArgs']]: + return pulumi.get(self, "minimum_healthy_hosts_per_zone") + + @minimum_healthy_hosts_per_zone.setter + def minimum_healthy_hosts_per_zone(self, value: Optional[pulumi.Input['DeploymentConfigMinimumHealthyHostsPerZoneArgs']]): + pulumi.set(self, "minimum_healthy_hosts_per_zone", value) + + @property + @pulumi.getter(name="monitorDurationInSeconds") + def monitor_duration_in_seconds(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "monitor_duration_in_seconds") + + @monitor_duration_in_seconds.setter + def monitor_duration_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "monitor_duration_in_seconds", value) + + @pulumi.input_type class DeploymentGroupAlarmConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/codedeploy/deployment_config.py b/sdk/python/pulumi_aws_native/codedeploy/deployment_config.py index 7e6270f20e..d6c2aa3d90 100644 --- a/sdk/python/pulumi_aws_native/codedeploy/deployment_config.py +++ b/sdk/python/pulumi_aws_native/codedeploy/deployment_config.py @@ -19,13 +19,15 @@ def __init__(__self__, *, compute_platform: Optional[pulumi.Input[str]] = None, deployment_config_name: Optional[pulumi.Input[str]] = None, minimum_healthy_hosts: Optional[pulumi.Input['DeploymentConfigMinimumHealthyHostsArgs']] = None, - traffic_routing_config: Optional[pulumi.Input['DeploymentConfigTrafficRoutingConfigArgs']] = None): + traffic_routing_config: Optional[pulumi.Input['DeploymentConfigTrafficRoutingConfigArgs']] = None, + zonal_config: Optional[pulumi.Input['DeploymentConfigZonalConfigArgs']] = None): """ The set of arguments for constructing a DeploymentConfig resource. :param pulumi.Input[str] compute_platform: The destination platform type for the deployment (Lambda, Server, or ECS). :param pulumi.Input[str] deployment_config_name: 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. :param pulumi.Input['DeploymentConfigMinimumHealthyHostsArgs'] minimum_healthy_hosts: 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. :param pulumi.Input['DeploymentConfigTrafficRoutingConfigArgs'] traffic_routing_config: The configuration that specifies how the deployment traffic is routed. + :param pulumi.Input['DeploymentConfigZonalConfigArgs'] zonal_config: The zonal deployment config that specifies how the zonal deployment behaves """ if compute_platform is not None: pulumi.set(__self__, "compute_platform", compute_platform) @@ -35,6 +37,8 @@ def __init__(__self__, *, pulumi.set(__self__, "minimum_healthy_hosts", minimum_healthy_hosts) if traffic_routing_config is not None: pulumi.set(__self__, "traffic_routing_config", traffic_routing_config) + if zonal_config is not None: + pulumi.set(__self__, "zonal_config", zonal_config) @property @pulumi.getter(name="computePlatform") @@ -84,6 +88,18 @@ def traffic_routing_config(self) -> Optional[pulumi.Input['DeploymentConfigTraff def traffic_routing_config(self, value: Optional[pulumi.Input['DeploymentConfigTrafficRoutingConfigArgs']]): pulumi.set(self, "traffic_routing_config", value) + @property + @pulumi.getter(name="zonalConfig") + def zonal_config(self) -> Optional[pulumi.Input['DeploymentConfigZonalConfigArgs']]: + """ + The zonal deployment config that specifies how the zonal deployment behaves + """ + return pulumi.get(self, "zonal_config") + + @zonal_config.setter + def zonal_config(self, value: Optional[pulumi.Input['DeploymentConfigZonalConfigArgs']]): + pulumi.set(self, "zonal_config", value) + class DeploymentConfig(pulumi.CustomResource): @overload @@ -94,6 +110,7 @@ def __init__(__self__, deployment_config_name: Optional[pulumi.Input[str]] = None, minimum_healthy_hosts: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigMinimumHealthyHostsArgs']]] = None, traffic_routing_config: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigTrafficRoutingConfigArgs']]] = None, + zonal_config: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigZonalConfigArgs']]] = None, __props__=None): """ Resource Type definition for AWS::CodeDeploy::DeploymentConfig @@ -104,6 +121,7 @@ def __init__(__self__, :param pulumi.Input[str] deployment_config_name: 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. :param pulumi.Input[pulumi.InputType['DeploymentConfigMinimumHealthyHostsArgs']] minimum_healthy_hosts: 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. :param pulumi.Input[pulumi.InputType['DeploymentConfigTrafficRoutingConfigArgs']] traffic_routing_config: The configuration that specifies how the deployment traffic is routed. + :param pulumi.Input[pulumi.InputType['DeploymentConfigZonalConfigArgs']] zonal_config: The zonal deployment config that specifies how the zonal deployment behaves """ ... @overload @@ -133,6 +151,7 @@ def _internal_init(__self__, deployment_config_name: Optional[pulumi.Input[str]] = None, minimum_healthy_hosts: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigMinimumHealthyHostsArgs']]] = None, traffic_routing_config: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigTrafficRoutingConfigArgs']]] = None, + zonal_config: Optional[pulumi.Input[pulumi.InputType['DeploymentConfigZonalConfigArgs']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -146,7 +165,8 @@ def _internal_init(__self__, __props__.__dict__["deployment_config_name"] = deployment_config_name __props__.__dict__["minimum_healthy_hosts"] = minimum_healthy_hosts __props__.__dict__["traffic_routing_config"] = traffic_routing_config - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["compute_platform", "deployment_config_name", "minimum_healthy_hosts", "traffic_routing_config"]) + __props__.__dict__["zonal_config"] = zonal_config + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["compute_platform", "deployment_config_name", "minimum_healthy_hosts", "traffic_routing_config", "zonal_config"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(DeploymentConfig, __self__).__init__( 'aws-native:codedeploy:DeploymentConfig', @@ -174,6 +194,7 @@ def get(resource_name: str, __props__.__dict__["deployment_config_name"] = None __props__.__dict__["minimum_healthy_hosts"] = None __props__.__dict__["traffic_routing_config"] = None + __props__.__dict__["zonal_config"] = None return DeploymentConfig(resource_name, opts=opts, __props__=__props__) @property @@ -208,3 +229,11 @@ def traffic_routing_config(self) -> pulumi.Output[Optional['outputs.DeploymentCo """ return pulumi.get(self, "traffic_routing_config") + @property + @pulumi.getter(name="zonalConfig") + def zonal_config(self) -> pulumi.Output[Optional['outputs.DeploymentConfigZonalConfig']]: + """ + The zonal deployment config that specifies how the zonal deployment behaves + """ + return pulumi.get(self, "zonal_config") + diff --git a/sdk/python/pulumi_aws_native/codedeploy/outputs.py b/sdk/python/pulumi_aws_native/codedeploy/outputs.py index 1d18c0e078..1a92a2cda4 100644 --- a/sdk/python/pulumi_aws_native/codedeploy/outputs.py +++ b/sdk/python/pulumi_aws_native/codedeploy/outputs.py @@ -13,9 +13,11 @@ __all__ = [ 'ApplicationTag', 'DeploymentConfigMinimumHealthyHosts', + 'DeploymentConfigMinimumHealthyHostsPerZone', 'DeploymentConfigTimeBasedCanary', 'DeploymentConfigTimeBasedLinear', 'DeploymentConfigTrafficRoutingConfig', + 'DeploymentConfigZonalConfig', 'DeploymentGroupAlarm', 'DeploymentGroupAlarmConfiguration', 'DeploymentGroupAutoRollbackConfiguration', @@ -82,6 +84,25 @@ def value(self) -> int: return pulumi.get(self, "value") +@pulumi.output_type +class DeploymentConfigMinimumHealthyHostsPerZone(dict): + def __init__(__self__, *, + type: str, + value: int): + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def type(self) -> str: + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + @pulumi.output_type class DeploymentConfigTimeBasedCanary(dict): @staticmethod @@ -205,6 +226,56 @@ def time_based_linear(self) -> Optional['outputs.DeploymentConfigTimeBasedLinear return pulumi.get(self, "time_based_linear") +@pulumi.output_type +class DeploymentConfigZonalConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "firstZoneMonitorDurationInSeconds": + suggest = "first_zone_monitor_duration_in_seconds" + elif key == "minimumHealthyHostsPerZone": + suggest = "minimum_healthy_hosts_per_zone" + elif key == "monitorDurationInSeconds": + suggest = "monitor_duration_in_seconds" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DeploymentConfigZonalConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DeploymentConfigZonalConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DeploymentConfigZonalConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + first_zone_monitor_duration_in_seconds: Optional[int] = None, + minimum_healthy_hosts_per_zone: Optional['outputs.DeploymentConfigMinimumHealthyHostsPerZone'] = None, + monitor_duration_in_seconds: Optional[int] = None): + if first_zone_monitor_duration_in_seconds is not None: + pulumi.set(__self__, "first_zone_monitor_duration_in_seconds", first_zone_monitor_duration_in_seconds) + if minimum_healthy_hosts_per_zone is not None: + pulumi.set(__self__, "minimum_healthy_hosts_per_zone", minimum_healthy_hosts_per_zone) + if monitor_duration_in_seconds is not None: + pulumi.set(__self__, "monitor_duration_in_seconds", monitor_duration_in_seconds) + + @property + @pulumi.getter(name="firstZoneMonitorDurationInSeconds") + def first_zone_monitor_duration_in_seconds(self) -> Optional[int]: + return pulumi.get(self, "first_zone_monitor_duration_in_seconds") + + @property + @pulumi.getter(name="minimumHealthyHostsPerZone") + def minimum_healthy_hosts_per_zone(self) -> Optional['outputs.DeploymentConfigMinimumHealthyHostsPerZone']: + return pulumi.get(self, "minimum_healthy_hosts_per_zone") + + @property + @pulumi.getter(name="monitorDurationInSeconds") + def monitor_duration_in_seconds(self) -> Optional[int]: + return pulumi.get(self, "monitor_duration_in_seconds") + + @pulumi.output_type class DeploymentGroupAlarm(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/codepipeline/_inputs.py b/sdk/python/pulumi_aws_native/codepipeline/_inputs.py index a09fb65b48..1316ac94c9 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/_inputs.py +++ b/sdk/python/pulumi_aws_native/codepipeline/_inputs.py @@ -20,11 +20,16 @@ 'PipelineArtifactStoreArgs', 'PipelineBlockerDeclarationArgs', 'PipelineEncryptionKeyArgs', + 'PipelineGitConfigurationArgs', + 'PipelineGitPushFilterArgs', + 'PipelineGitTagFilterCriteriaArgs', 'PipelineInputArtifactArgs', 'PipelineOutputArtifactArgs', 'PipelineStageDeclarationArgs', 'PipelineStageTransitionArgs', 'PipelineTagArgs', + 'PipelineTriggerDeclarationArgs', + 'PipelineVariableDeclarationArgs', 'WebhookAuthConfigurationArgs', 'WebhookFilterRuleArgs', ] @@ -562,6 +567,80 @@ def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) +@pulumi.input_type +class PipelineGitConfigurationArgs: + def __init__(__self__, *, + source_action_name: pulumi.Input[str], + push: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineGitPushFilterArgs']]]] = None): + pulumi.set(__self__, "source_action_name", source_action_name) + if push is not None: + pulumi.set(__self__, "push", push) + + @property + @pulumi.getter(name="sourceActionName") + def source_action_name(self) -> pulumi.Input[str]: + return pulumi.get(self, "source_action_name") + + @source_action_name.setter + def source_action_name(self, value: pulumi.Input[str]): + pulumi.set(self, "source_action_name", value) + + @property + @pulumi.getter + def push(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PipelineGitPushFilterArgs']]]]: + return pulumi.get(self, "push") + + @push.setter + def push(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineGitPushFilterArgs']]]]): + pulumi.set(self, "push", value) + + +@pulumi.input_type +class PipelineGitPushFilterArgs: + def __init__(__self__, *, + tags: Optional[pulumi.Input['PipelineGitTagFilterCriteriaArgs']] = None): + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['PipelineGitTagFilterCriteriaArgs']]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['PipelineGitTagFilterCriteriaArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class PipelineGitTagFilterCriteriaArgs: + def __init__(__self__, *, + excludes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + includes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + if excludes is not None: + pulumi.set(__self__, "excludes", excludes) + if includes is not None: + pulumi.set(__self__, "includes", includes) + + @property + @pulumi.getter + def excludes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "excludes") + + @excludes.setter + def excludes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "excludes", value) + + @property + @pulumi.getter + def includes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "includes") + + @includes.setter + def includes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "includes", value) + + @pulumi.input_type class PipelineInputArtifactArgs: def __init__(__self__, *, @@ -687,6 +766,74 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class PipelineTriggerDeclarationArgs: + def __init__(__self__, *, + provider_type: pulumi.Input[str], + git_configuration: Optional[pulumi.Input['PipelineGitConfigurationArgs']] = None): + pulumi.set(__self__, "provider_type", provider_type) + if git_configuration is not None: + pulumi.set(__self__, "git_configuration", git_configuration) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> pulumi.Input[str]: + return pulumi.get(self, "provider_type") + + @provider_type.setter + def provider_type(self, value: pulumi.Input[str]): + pulumi.set(self, "provider_type", value) + + @property + @pulumi.getter(name="gitConfiguration") + def git_configuration(self) -> Optional[pulumi.Input['PipelineGitConfigurationArgs']]: + return pulumi.get(self, "git_configuration") + + @git_configuration.setter + def git_configuration(self, value: Optional[pulumi.Input['PipelineGitConfigurationArgs']]): + pulumi.set(self, "git_configuration", value) + + +@pulumi.input_type +class PipelineVariableDeclarationArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + default_value: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "name", name) + if default_value is not None: + pulumi.set(__self__, "default_value", default_value) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="defaultValue") + def default_value(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "default_value") + + @default_value.setter + def default_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_value", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @pulumi.input_type class WebhookAuthConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/codepipeline/get_pipeline.py b/sdk/python/pulumi_aws_native/codepipeline/get_pipeline.py index c4404afeaa..61dff4e84b 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/get_pipeline.py +++ b/sdk/python/pulumi_aws_native/codepipeline/get_pipeline.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetPipelineResult: - def __init__(__self__, artifact_store=None, artifact_stores=None, disable_inbound_stage_transitions=None, id=None, restart_execution_on_update=None, role_arn=None, stages=None, tags=None, version=None): + def __init__(__self__, artifact_store=None, artifact_stores=None, disable_inbound_stage_transitions=None, id=None, pipeline_type=None, restart_execution_on_update=None, role_arn=None, stages=None, tags=None, triggers=None, variables=None, version=None): if artifact_store and not isinstance(artifact_store, dict): raise TypeError("Expected argument 'artifact_store' to be a dict") pulumi.set(__self__, "artifact_store", artifact_store) @@ -32,6 +32,9 @@ def __init__(__self__, artifact_store=None, artifact_stores=None, disable_inboun if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if pipeline_type and not isinstance(pipeline_type, str): + raise TypeError("Expected argument 'pipeline_type' to be a str") + pulumi.set(__self__, "pipeline_type", pipeline_type) if restart_execution_on_update and not isinstance(restart_execution_on_update, bool): raise TypeError("Expected argument 'restart_execution_on_update' to be a bool") pulumi.set(__self__, "restart_execution_on_update", restart_execution_on_update) @@ -44,6 +47,12 @@ def __init__(__self__, artifact_store=None, artifact_stores=None, disable_inboun if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) + if triggers and not isinstance(triggers, list): + raise TypeError("Expected argument 'triggers' to be a list") + pulumi.set(__self__, "triggers", triggers) + if variables and not isinstance(variables, list): + raise TypeError("Expected argument 'variables' to be a list") + pulumi.set(__self__, "variables", variables) if version and not isinstance(version, str): raise TypeError("Expected argument 'version' to be a str") pulumi.set(__self__, "version", version) @@ -68,6 +77,11 @@ def disable_inbound_stage_transitions(self) -> Optional[Sequence['outputs.Pipeli def id(self) -> Optional[str]: return pulumi.get(self, "id") + @property + @pulumi.getter(name="pipelineType") + def pipeline_type(self) -> Optional[str]: + return pulumi.get(self, "pipeline_type") + @property @pulumi.getter(name="restartExecutionOnUpdate") def restart_execution_on_update(self) -> Optional[bool]: @@ -88,6 +102,16 @@ def stages(self) -> Optional[Sequence['outputs.PipelineStageDeclaration']]: def tags(self) -> Optional[Sequence['outputs.PipelineTag']]: return pulumi.get(self, "tags") + @property + @pulumi.getter + def triggers(self) -> Optional[Sequence['outputs.PipelineTriggerDeclaration']]: + return pulumi.get(self, "triggers") + + @property + @pulumi.getter + def variables(self) -> Optional[Sequence['outputs.PipelineVariableDeclaration']]: + return pulumi.get(self, "variables") + @property @pulumi.getter def version(self) -> Optional[str]: @@ -104,10 +128,13 @@ def __await__(self): artifact_stores=self.artifact_stores, disable_inbound_stage_transitions=self.disable_inbound_stage_transitions, id=self.id, + pipeline_type=self.pipeline_type, restart_execution_on_update=self.restart_execution_on_update, role_arn=self.role_arn, stages=self.stages, tags=self.tags, + triggers=self.triggers, + variables=self.variables, version=self.version) @@ -126,10 +153,13 @@ def get_pipeline(id: Optional[str] = None, artifact_stores=pulumi.get(__ret__, 'artifact_stores'), disable_inbound_stage_transitions=pulumi.get(__ret__, 'disable_inbound_stage_transitions'), id=pulumi.get(__ret__, 'id'), + pipeline_type=pulumi.get(__ret__, 'pipeline_type'), restart_execution_on_update=pulumi.get(__ret__, 'restart_execution_on_update'), role_arn=pulumi.get(__ret__, 'role_arn'), stages=pulumi.get(__ret__, 'stages'), tags=pulumi.get(__ret__, 'tags'), + triggers=pulumi.get(__ret__, 'triggers'), + variables=pulumi.get(__ret__, 'variables'), version=pulumi.get(__ret__, 'version')) diff --git a/sdk/python/pulumi_aws_native/codepipeline/outputs.py b/sdk/python/pulumi_aws_native/codepipeline/outputs.py index 7fb1e6a69d..8994132158 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/outputs.py +++ b/sdk/python/pulumi_aws_native/codepipeline/outputs.py @@ -21,11 +21,16 @@ 'PipelineArtifactStoreMap', 'PipelineBlockerDeclaration', 'PipelineEncryptionKey', + 'PipelineGitConfiguration', + 'PipelineGitPushFilter', + 'PipelineGitTagFilterCriteria', 'PipelineInputArtifact', 'PipelineOutputArtifact', 'PipelineStageDeclaration', 'PipelineStageTransition', 'PipelineTag', + 'PipelineTriggerDeclaration', + 'PipelineVariableDeclaration', 'WebhookAuthConfiguration', 'WebhookFilterRule', ] @@ -525,6 +530,77 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class PipelineGitConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "sourceActionName": + suggest = "source_action_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PipelineGitConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PipelineGitConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PipelineGitConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + source_action_name: str, + push: Optional[Sequence['outputs.PipelineGitPushFilter']] = None): + pulumi.set(__self__, "source_action_name", source_action_name) + if push is not None: + pulumi.set(__self__, "push", push) + + @property + @pulumi.getter(name="sourceActionName") + def source_action_name(self) -> str: + return pulumi.get(self, "source_action_name") + + @property + @pulumi.getter + def push(self) -> Optional[Sequence['outputs.PipelineGitPushFilter']]: + return pulumi.get(self, "push") + + +@pulumi.output_type +class PipelineGitPushFilter(dict): + def __init__(__self__, *, + tags: Optional['outputs.PipelineGitTagFilterCriteria'] = None): + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.PipelineGitTagFilterCriteria']: + return pulumi.get(self, "tags") + + +@pulumi.output_type +class PipelineGitTagFilterCriteria(dict): + def __init__(__self__, *, + excludes: Optional[Sequence[str]] = None, + includes: Optional[Sequence[str]] = None): + if excludes is not None: + pulumi.set(__self__, "excludes", excludes) + if includes is not None: + pulumi.set(__self__, "includes", includes) + + @property + @pulumi.getter + def excludes(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "excludes") + + @property + @pulumi.getter + def includes(self) -> Optional[Sequence[str]]: + return pulumi.get(self, "includes") + + @pulumi.output_type class PipelineInputArtifact(dict): def __init__(__self__, *, @@ -631,6 +707,90 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class PipelineTriggerDeclaration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "providerType": + suggest = "provider_type" + elif key == "gitConfiguration": + suggest = "git_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PipelineTriggerDeclaration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PipelineTriggerDeclaration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PipelineTriggerDeclaration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + provider_type: str, + git_configuration: Optional['outputs.PipelineGitConfiguration'] = None): + pulumi.set(__self__, "provider_type", provider_type) + if git_configuration is not None: + pulumi.set(__self__, "git_configuration", git_configuration) + + @property + @pulumi.getter(name="providerType") + def provider_type(self) -> str: + return pulumi.get(self, "provider_type") + + @property + @pulumi.getter(name="gitConfiguration") + def git_configuration(self) -> Optional['outputs.PipelineGitConfiguration']: + return pulumi.get(self, "git_configuration") + + +@pulumi.output_type +class PipelineVariableDeclaration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultValue": + suggest = "default_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PipelineVariableDeclaration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PipelineVariableDeclaration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PipelineVariableDeclaration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + default_value: Optional[str] = None, + description: Optional[str] = None): + pulumi.set(__self__, "name", name) + if default_value is not None: + pulumi.set(__self__, "default_value", default_value) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="defaultValue") + def default_value(self) -> Optional[str]: + return pulumi.get(self, "default_value") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + return pulumi.get(self, "description") + + @pulumi.output_type class WebhookAuthConfiguration(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/codepipeline/pipeline.py b/sdk/python/pulumi_aws_native/codepipeline/pipeline.py index 094915e817..43a6297383 100644 --- a/sdk/python/pulumi_aws_native/codepipeline/pipeline.py +++ b/sdk/python/pulumi_aws_native/codepipeline/pipeline.py @@ -22,8 +22,11 @@ def __init__(__self__, *, artifact_stores: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineArtifactStoreMapArgs']]]] = None, disable_inbound_stage_transitions: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineStageTransitionArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, + pipeline_type: Optional[pulumi.Input[str]] = None, restart_execution_on_update: Optional[pulumi.Input[bool]] = None, - tags: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTagArgs']]]] = None): + tags: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTagArgs']]]] = None, + triggers: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTriggerDeclarationArgs']]]] = None, + variables: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineVariableDeclarationArgs']]]] = None): """ The set of arguments for constructing a Pipeline resource. """ @@ -37,10 +40,16 @@ def __init__(__self__, *, pulumi.set(__self__, "disable_inbound_stage_transitions", disable_inbound_stage_transitions) if name is not None: pulumi.set(__self__, "name", name) + if pipeline_type is not None: + pulumi.set(__self__, "pipeline_type", pipeline_type) if restart_execution_on_update is not None: pulumi.set(__self__, "restart_execution_on_update", restart_execution_on_update) if tags is not None: pulumi.set(__self__, "tags", tags) + if triggers is not None: + pulumi.set(__self__, "triggers", triggers) + if variables is not None: + pulumi.set(__self__, "variables", variables) @property @pulumi.getter(name="roleArn") @@ -96,6 +105,15 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="pipelineType") + def pipeline_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "pipeline_type") + + @pipeline_type.setter + def pipeline_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "pipeline_type", value) + @property @pulumi.getter(name="restartExecutionOnUpdate") def restart_execution_on_update(self) -> Optional[pulumi.Input[bool]]: @@ -114,6 +132,24 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTagArgs'] def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTagArgs']]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter + def triggers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTriggerDeclarationArgs']]]]: + return pulumi.get(self, "triggers") + + @triggers.setter + def triggers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTriggerDeclarationArgs']]]]): + pulumi.set(self, "triggers", value) + + @property + @pulumi.getter + def variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PipelineVariableDeclarationArgs']]]]: + return pulumi.get(self, "variables") + + @variables.setter + def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineVariableDeclarationArgs']]]]): + pulumi.set(self, "variables", value) + warnings.warn("""Pipeline is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) @@ -129,10 +165,13 @@ def __init__(__self__, artifact_stores: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineArtifactStoreMapArgs']]]]] = None, disable_inbound_stage_transitions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageTransitionArgs']]]]] = None, name: Optional[pulumi.Input[str]] = None, + pipeline_type: Optional[pulumi.Input[str]] = None, restart_execution_on_update: Optional[pulumi.Input[bool]] = None, role_arn: Optional[pulumi.Input[str]] = None, stages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageDeclarationArgs']]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineTagArgs']]]]] = None, + triggers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineTriggerDeclarationArgs']]]]] = None, + variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineVariableDeclarationArgs']]]]] = None, __props__=None): """ Resource Type definition for AWS::CodePipeline::Pipeline @@ -168,10 +207,13 @@ def _internal_init(__self__, artifact_stores: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineArtifactStoreMapArgs']]]]] = None, disable_inbound_stage_transitions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageTransitionArgs']]]]] = None, name: Optional[pulumi.Input[str]] = None, + pipeline_type: Optional[pulumi.Input[str]] = None, restart_execution_on_update: Optional[pulumi.Input[bool]] = None, role_arn: Optional[pulumi.Input[str]] = None, stages: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineStageDeclarationArgs']]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineTagArgs']]]]] = None, + triggers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineTriggerDeclarationArgs']]]]] = None, + variables: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PipelineVariableDeclarationArgs']]]]] = None, __props__=None): pulumi.log.warn("""Pipeline is deprecated: Pipeline is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -186,6 +228,7 @@ def _internal_init(__self__, __props__.__dict__["artifact_stores"] = artifact_stores __props__.__dict__["disable_inbound_stage_transitions"] = disable_inbound_stage_transitions __props__.__dict__["name"] = name + __props__.__dict__["pipeline_type"] = pipeline_type __props__.__dict__["restart_execution_on_update"] = restart_execution_on_update if role_arn is None and not opts.urn: raise TypeError("Missing required property 'role_arn'") @@ -194,6 +237,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'stages'") __props__.__dict__["stages"] = stages __props__.__dict__["tags"] = tags + __props__.__dict__["triggers"] = triggers + __props__.__dict__["variables"] = variables __props__.__dict__["version"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) @@ -223,10 +268,13 @@ def get(resource_name: str, __props__.__dict__["artifact_stores"] = None __props__.__dict__["disable_inbound_stage_transitions"] = None __props__.__dict__["name"] = None + __props__.__dict__["pipeline_type"] = None __props__.__dict__["restart_execution_on_update"] = None __props__.__dict__["role_arn"] = None __props__.__dict__["stages"] = None __props__.__dict__["tags"] = None + __props__.__dict__["triggers"] = None + __props__.__dict__["variables"] = None __props__.__dict__["version"] = None return Pipeline(resource_name, opts=opts, __props__=__props__) @@ -250,6 +298,11 @@ def disable_inbound_stage_transitions(self) -> pulumi.Output[Optional[Sequence[' def name(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "name") + @property + @pulumi.getter(name="pipelineType") + def pipeline_type(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "pipeline_type") + @property @pulumi.getter(name="restartExecutionOnUpdate") def restart_execution_on_update(self) -> pulumi.Output[Optional[bool]]: @@ -270,6 +323,16 @@ def stages(self) -> pulumi.Output[Sequence['outputs.PipelineStageDeclaration']]: def tags(self) -> pulumi.Output[Optional[Sequence['outputs.PipelineTag']]]: return pulumi.get(self, "tags") + @property + @pulumi.getter + def triggers(self) -> pulumi.Output[Optional[Sequence['outputs.PipelineTriggerDeclaration']]]: + return pulumi.get(self, "triggers") + + @property + @pulumi.getter + def variables(self) -> pulumi.Output[Optional[Sequence['outputs.PipelineVariableDeclaration']]]: + return pulumi.get(self, "variables") + @property @pulumi.getter def version(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/configuration/_inputs.py b/sdk/python/pulumi_aws_native/configuration/_inputs.py index 07c711a124..debce2b94e 100644 --- a/sdk/python/pulumi_aws_native/configuration/_inputs.py +++ b/sdk/python/pulumi_aws_native/configuration/_inputs.py @@ -22,6 +22,8 @@ 'ConfigurationAggregatorTagArgs', 'ConfigurationRecorderExclusionByResourceTypesArgs', 'ConfigurationRecorderRecordingGroupArgs', + 'ConfigurationRecorderRecordingModeOverrideArgs', + 'ConfigurationRecorderRecordingModeArgs', 'ConfigurationRecorderRecordingStrategyArgs', 'ConformancePackInputParameterArgs', 'DeliveryChannelConfigSnapshotDeliveryPropertiesArgs', @@ -573,6 +575,73 @@ def resource_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str] pulumi.set(self, "resource_types", value) +@pulumi.input_type +class ConfigurationRecorderRecordingModeOverrideArgs: + def __init__(__self__, *, + recording_frequency: pulumi.Input[str], + resource_types: pulumi.Input[Sequence[pulumi.Input[str]]], + description: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "recording_frequency", recording_frequency) + pulumi.set(__self__, "resource_types", resource_types) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter(name="recordingFrequency") + def recording_frequency(self) -> pulumi.Input[str]: + return pulumi.get(self, "recording_frequency") + + @recording_frequency.setter + def recording_frequency(self, value: pulumi.Input[str]): + pulumi.set(self, "recording_frequency", value) + + @property + @pulumi.getter(name="resourceTypes") + def resource_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + return pulumi.get(self, "resource_types") + + @resource_types.setter + def resource_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "resource_types", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + +@pulumi.input_type +class ConfigurationRecorderRecordingModeArgs: + def __init__(__self__, *, + recording_frequency: pulumi.Input[str], + recording_mode_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['ConfigurationRecorderRecordingModeOverrideArgs']]]] = None): + pulumi.set(__self__, "recording_frequency", recording_frequency) + if recording_mode_overrides is not None: + pulumi.set(__self__, "recording_mode_overrides", recording_mode_overrides) + + @property + @pulumi.getter(name="recordingFrequency") + def recording_frequency(self) -> pulumi.Input[str]: + return pulumi.get(self, "recording_frequency") + + @recording_frequency.setter + def recording_frequency(self, value: pulumi.Input[str]): + pulumi.set(self, "recording_frequency", value) + + @property + @pulumi.getter(name="recordingModeOverrides") + def recording_mode_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConfigurationRecorderRecordingModeOverrideArgs']]]]: + return pulumi.get(self, "recording_mode_overrides") + + @recording_mode_overrides.setter + def recording_mode_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ConfigurationRecorderRecordingModeOverrideArgs']]]]): + pulumi.set(self, "recording_mode_overrides", value) + + @pulumi.input_type class ConfigurationRecorderRecordingStrategyArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/configuration/configuration_recorder.py b/sdk/python/pulumi_aws_native/configuration/configuration_recorder.py index 262617a541..dc83bbf4ff 100644 --- a/sdk/python/pulumi_aws_native/configuration/configuration_recorder.py +++ b/sdk/python/pulumi_aws_native/configuration/configuration_recorder.py @@ -18,7 +18,8 @@ class ConfigurationRecorderArgs: def __init__(__self__, *, role_arn: pulumi.Input[str], name: Optional[pulumi.Input[str]] = None, - recording_group: Optional[pulumi.Input['ConfigurationRecorderRecordingGroupArgs']] = None): + recording_group: Optional[pulumi.Input['ConfigurationRecorderRecordingGroupArgs']] = None, + recording_mode: Optional[pulumi.Input['ConfigurationRecorderRecordingModeArgs']] = None): """ The set of arguments for constructing a ConfigurationRecorder resource. """ @@ -27,6 +28,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if recording_group is not None: pulumi.set(__self__, "recording_group", recording_group) + if recording_mode is not None: + pulumi.set(__self__, "recording_mode", recording_mode) @property @pulumi.getter(name="roleArn") @@ -55,6 +58,15 @@ def recording_group(self) -> Optional[pulumi.Input['ConfigurationRecorderRecordi def recording_group(self, value: Optional[pulumi.Input['ConfigurationRecorderRecordingGroupArgs']]): pulumi.set(self, "recording_group", value) + @property + @pulumi.getter(name="recordingMode") + def recording_mode(self) -> Optional[pulumi.Input['ConfigurationRecorderRecordingModeArgs']]: + return pulumi.get(self, "recording_mode") + + @recording_mode.setter + def recording_mode(self, value: Optional[pulumi.Input['ConfigurationRecorderRecordingModeArgs']]): + pulumi.set(self, "recording_mode", value) + warnings.warn("""ConfigurationRecorder is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) @@ -68,6 +80,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[str]] = None, recording_group: Optional[pulumi.Input[pulumi.InputType['ConfigurationRecorderRecordingGroupArgs']]] = None, + recording_mode: Optional[pulumi.Input[pulumi.InputType['ConfigurationRecorderRecordingModeArgs']]] = None, role_arn: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -102,6 +115,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, name: Optional[pulumi.Input[str]] = None, recording_group: Optional[pulumi.Input[pulumi.InputType['ConfigurationRecorderRecordingGroupArgs']]] = None, + recording_mode: Optional[pulumi.Input[pulumi.InputType['ConfigurationRecorderRecordingModeArgs']]] = None, role_arn: Optional[pulumi.Input[str]] = None, __props__=None): pulumi.log.warn("""ConfigurationRecorder is deprecated: ConfigurationRecorder is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") @@ -115,6 +129,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["recording_group"] = recording_group + __props__.__dict__["recording_mode"] = recording_mode if role_arn is None and not opts.urn: raise TypeError("Missing required property 'role_arn'") __props__.__dict__["role_arn"] = role_arn @@ -144,6 +159,7 @@ def get(resource_name: str, __props__.__dict__["name"] = None __props__.__dict__["recording_group"] = None + __props__.__dict__["recording_mode"] = None __props__.__dict__["role_arn"] = None return ConfigurationRecorder(resource_name, opts=opts, __props__=__props__) @@ -157,6 +173,11 @@ def name(self) -> pulumi.Output[Optional[str]]: def recording_group(self) -> pulumi.Output[Optional['outputs.ConfigurationRecorderRecordingGroup']]: return pulumi.get(self, "recording_group") + @property + @pulumi.getter(name="recordingMode") + def recording_mode(self) -> pulumi.Output[Optional['outputs.ConfigurationRecorderRecordingMode']]: + return pulumi.get(self, "recording_mode") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/configuration/get_configuration_recorder.py b/sdk/python/pulumi_aws_native/configuration/get_configuration_recorder.py index 08bacf4d61..d81f77d631 100644 --- a/sdk/python/pulumi_aws_native/configuration/get_configuration_recorder.py +++ b/sdk/python/pulumi_aws_native/configuration/get_configuration_recorder.py @@ -19,13 +19,16 @@ @pulumi.output_type class GetConfigurationRecorderResult: - def __init__(__self__, id=None, recording_group=None, role_arn=None): + def __init__(__self__, id=None, recording_group=None, recording_mode=None, role_arn=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) if recording_group and not isinstance(recording_group, dict): raise TypeError("Expected argument 'recording_group' to be a dict") pulumi.set(__self__, "recording_group", recording_group) + if recording_mode and not isinstance(recording_mode, dict): + raise TypeError("Expected argument 'recording_mode' to be a dict") + pulumi.set(__self__, "recording_mode", recording_mode) if role_arn and not isinstance(role_arn, str): raise TypeError("Expected argument 'role_arn' to be a str") pulumi.set(__self__, "role_arn", role_arn) @@ -40,6 +43,11 @@ def id(self) -> Optional[str]: def recording_group(self) -> Optional['outputs.ConfigurationRecorderRecordingGroup']: return pulumi.get(self, "recording_group") + @property + @pulumi.getter(name="recordingMode") + def recording_mode(self) -> Optional['outputs.ConfigurationRecorderRecordingMode']: + return pulumi.get(self, "recording_mode") + @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: @@ -54,6 +62,7 @@ def __await__(self): return GetConfigurationRecorderResult( id=self.id, recording_group=self.recording_group, + recording_mode=self.recording_mode, role_arn=self.role_arn) @@ -70,6 +79,7 @@ def get_configuration_recorder(id: Optional[str] = None, return AwaitableGetConfigurationRecorderResult( id=pulumi.get(__ret__, 'id'), recording_group=pulumi.get(__ret__, 'recording_group'), + recording_mode=pulumi.get(__ret__, 'recording_mode'), role_arn=pulumi.get(__ret__, 'role_arn')) diff --git a/sdk/python/pulumi_aws_native/configuration/outputs.py b/sdk/python/pulumi_aws_native/configuration/outputs.py index c833581787..caea930e9f 100644 --- a/sdk/python/pulumi_aws_native/configuration/outputs.py +++ b/sdk/python/pulumi_aws_native/configuration/outputs.py @@ -23,6 +23,8 @@ 'ConfigurationAggregatorTag', 'ConfigurationRecorderExclusionByResourceTypes', 'ConfigurationRecorderRecordingGroup', + 'ConfigurationRecorderRecordingMode', + 'ConfigurationRecorderRecordingModeOverride', 'ConfigurationRecorderRecordingStrategy', 'ConformancePackInputParameter', 'DeliveryChannelConfigSnapshotDeliveryProperties', @@ -640,6 +642,91 @@ def resource_types(self) -> Optional[Sequence[str]]: return pulumi.get(self, "resource_types") +@pulumi.output_type +class ConfigurationRecorderRecordingMode(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "recordingFrequency": + suggest = "recording_frequency" + elif key == "recordingModeOverrides": + suggest = "recording_mode_overrides" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationRecorderRecordingMode. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationRecorderRecordingMode.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationRecorderRecordingMode.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + recording_frequency: str, + recording_mode_overrides: Optional[Sequence['outputs.ConfigurationRecorderRecordingModeOverride']] = None): + pulumi.set(__self__, "recording_frequency", recording_frequency) + if recording_mode_overrides is not None: + pulumi.set(__self__, "recording_mode_overrides", recording_mode_overrides) + + @property + @pulumi.getter(name="recordingFrequency") + def recording_frequency(self) -> str: + return pulumi.get(self, "recording_frequency") + + @property + @pulumi.getter(name="recordingModeOverrides") + def recording_mode_overrides(self) -> Optional[Sequence['outputs.ConfigurationRecorderRecordingModeOverride']]: + return pulumi.get(self, "recording_mode_overrides") + + +@pulumi.output_type +class ConfigurationRecorderRecordingModeOverride(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "recordingFrequency": + suggest = "recording_frequency" + elif key == "resourceTypes": + suggest = "resource_types" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ConfigurationRecorderRecordingModeOverride. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ConfigurationRecorderRecordingModeOverride.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ConfigurationRecorderRecordingModeOverride.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + recording_frequency: str, + resource_types: Sequence[str], + description: Optional[str] = None): + pulumi.set(__self__, "recording_frequency", recording_frequency) + pulumi.set(__self__, "resource_types", resource_types) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter(name="recordingFrequency") + def recording_frequency(self) -> str: + return pulumi.get(self, "recording_frequency") + + @property + @pulumi.getter(name="resourceTypes") + def resource_types(self) -> Sequence[str]: + return pulumi.get(self, "resource_types") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + return pulumi.get(self, "description") + + @pulumi.output_type class ConfigurationRecorderRecordingStrategy(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/connect/_enums.py b/sdk/python/pulumi_aws_native/connect/_enums.py index 4d925e7739..4812f2351c 100644 --- a/sdk/python/pulumi_aws_native/connect/_enums.py +++ b/sdk/python/pulumi_aws_native/connect/_enums.py @@ -190,6 +190,7 @@ class IntegrationAssociationIntegrationType(str, Enum): """ LEX_BOT = "LEX_BOT" LAMBDA_FUNCTION = "LAMBDA_FUNCTION" + APPLICATION = "APPLICATION" class QueueStatus(str, Enum): diff --git a/sdk/python/pulumi_aws_native/connect/_inputs.py b/sdk/python/pulumi_aws_native/connect/_inputs.py index 4241bf7de7..480ccb7f6c 100644 --- a/sdk/python/pulumi_aws_native/connect/_inputs.py +++ b/sdk/python/pulumi_aws_native/connect/_inputs.py @@ -39,6 +39,7 @@ 'InstanceStorageConfigKinesisStreamConfigArgs', 'InstanceStorageConfigKinesisVideoStreamConfigArgs', 'InstanceStorageConfigS3ConfigArgs', + 'InstanceTagArgs', 'PhoneNumberTagArgs', 'PromptTagArgs', 'QueueOutboundCallerConfigArgs', @@ -1283,13 +1284,21 @@ def stream_arn(self, value: pulumi.Input[str]): @pulumi.input_type class InstanceStorageConfigKinesisVideoStreamConfigArgs: def __init__(__self__, *, + encryption_config: pulumi.Input['InstanceStorageConfigEncryptionConfigArgs'], prefix: pulumi.Input[str], - retention_period_hours: pulumi.Input[float], - encryption_config: Optional[pulumi.Input['InstanceStorageConfigEncryptionConfigArgs']] = None): + retention_period_hours: pulumi.Input[float]): + pulumi.set(__self__, "encryption_config", encryption_config) pulumi.set(__self__, "prefix", prefix) pulumi.set(__self__, "retention_period_hours", retention_period_hours) - if encryption_config is not None: - pulumi.set(__self__, "encryption_config", encryption_config) + + @property + @pulumi.getter(name="encryptionConfig") + def encryption_config(self) -> pulumi.Input['InstanceStorageConfigEncryptionConfigArgs']: + return pulumi.get(self, "encryption_config") + + @encryption_config.setter + def encryption_config(self, value: pulumi.Input['InstanceStorageConfigEncryptionConfigArgs']): + pulumi.set(self, "encryption_config", value) @property @pulumi.getter @@ -1309,15 +1318,6 @@ def retention_period_hours(self) -> pulumi.Input[float]: def retention_period_hours(self, value: pulumi.Input[float]): pulumi.set(self, "retention_period_hours", value) - @property - @pulumi.getter(name="encryptionConfig") - def encryption_config(self) -> Optional[pulumi.Input['InstanceStorageConfigEncryptionConfigArgs']]: - return pulumi.get(self, "encryption_config") - - @encryption_config.setter - def encryption_config(self, value: Optional[pulumi.Input['InstanceStorageConfigEncryptionConfigArgs']]): - pulumi.set(self, "encryption_config", value) - @pulumi.input_type class InstanceStorageConfigS3ConfigArgs: @@ -1358,6 +1358,44 @@ def encryption_config(self, value: Optional[pulumi.Input['InstanceStorageConfigE pulumi.set(self, "encryption_config", value) +@pulumi.input_type +class InstanceTagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str]): + """ + A key-value pair to associate with a resource. + :param pulumi.Input[str] key: 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 -. + :param pulumi.Input[str] value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class PhoneNumberTagArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/connect/get_instance.py b/sdk/python/pulumi_aws_native/connect/get_instance.py index 2025616512..f77f58d66e 100644 --- a/sdk/python/pulumi_aws_native/connect/get_instance.py +++ b/sdk/python/pulumi_aws_native/connect/get_instance.py @@ -20,7 +20,7 @@ @pulumi.output_type class GetInstanceResult: - def __init__(__self__, arn=None, attributes=None, created_time=None, id=None, instance_status=None, service_role=None): + def __init__(__self__, arn=None, attributes=None, created_time=None, id=None, instance_status=None, service_role=None, tags=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -39,6 +39,9 @@ def __init__(__self__, arn=None, attributes=None, created_time=None, id=None, in if service_role and not isinstance(service_role, str): raise TypeError("Expected argument 'service_role' to be a str") pulumi.set(__self__, "service_role", service_role) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) @property @pulumi.getter @@ -88,6 +91,14 @@ def service_role(self) -> Optional[str]: """ return pulumi.get(self, "service_role") + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['outputs.InstanceTag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + class AwaitableGetInstanceResult(GetInstanceResult): # pylint: disable=using-constant-test @@ -100,7 +111,8 @@ def __await__(self): created_time=self.created_time, id=self.id, instance_status=self.instance_status, - service_role=self.service_role) + service_role=self.service_role, + tags=self.tags) def get_instance(arn: Optional[str] = None, @@ -122,7 +134,8 @@ def get_instance(arn: Optional[str] = None, created_time=pulumi.get(__ret__, 'created_time'), id=pulumi.get(__ret__, 'id'), instance_status=pulumi.get(__ret__, 'instance_status'), - service_role=pulumi.get(__ret__, 'service_role')) + service_role=pulumi.get(__ret__, 'service_role'), + tags=pulumi.get(__ret__, 'tags')) @_utilities.lift_output_func(get_instance) diff --git a/sdk/python/pulumi_aws_native/connect/instance.py b/sdk/python/pulumi_aws_native/connect/instance.py index 408f6934b9..b585f3d25b 100644 --- a/sdk/python/pulumi_aws_native/connect/instance.py +++ b/sdk/python/pulumi_aws_native/connect/instance.py @@ -20,13 +20,15 @@ def __init__(__self__, *, attributes: pulumi.Input['InstanceAttributesArgs'], identity_management_type: pulumi.Input['InstanceIdentityManagementType'], directory_id: Optional[pulumi.Input[str]] = None, - instance_alias: Optional[pulumi.Input[str]] = None): + instance_alias: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]] = None): """ The set of arguments for constructing a Instance resource. :param pulumi.Input['InstanceAttributesArgs'] attributes: The attributes for the instance. :param pulumi.Input['InstanceIdentityManagementType'] identity_management_type: Specifies the type of directory integration for new instance. :param pulumi.Input[str] directory_id: Existing directoryId user wants to map to the new Connect instance. :param pulumi.Input[str] instance_alias: Alias of the new directory created as part of new instance creation. + :param pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]] tags: An array of key-value pairs to apply to this resource. """ pulumi.set(__self__, "attributes", attributes) pulumi.set(__self__, "identity_management_type", identity_management_type) @@ -34,6 +36,8 @@ def __init__(__self__, *, pulumi.set(__self__, "directory_id", directory_id) if instance_alias is not None: pulumi.set(__self__, "instance_alias", instance_alias) + if tags is not None: + pulumi.set(__self__, "tags", tags) @property @pulumi.getter @@ -83,6 +87,18 @@ def instance_alias(self) -> Optional[pulumi.Input[str]]: def instance_alias(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "instance_alias", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]): + pulumi.set(self, "tags", value) + class Instance(pulumi.CustomResource): @overload @@ -93,6 +109,7 @@ def __init__(__self__, directory_id: Optional[pulumi.Input[str]] = None, identity_management_type: Optional[pulumi.Input['InstanceIdentityManagementType']] = None, instance_alias: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]]] = None, __props__=None): """ Resource Type definition for AWS::Connect::Instance @@ -103,6 +120,7 @@ def __init__(__self__, :param pulumi.Input[str] directory_id: Existing directoryId user wants to map to the new Connect instance. :param pulumi.Input['InstanceIdentityManagementType'] identity_management_type: Specifies the type of directory integration for new instance. :param pulumi.Input[str] instance_alias: Alias of the new directory created as part of new instance creation. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]] tags: An array of key-value pairs to apply to this resource. """ ... @overload @@ -132,6 +150,7 @@ def _internal_init(__self__, directory_id: Optional[pulumi.Input[str]] = None, identity_management_type: Optional[pulumi.Input['InstanceIdentityManagementType']] = None, instance_alias: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -149,6 +168,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'identity_management_type'") __props__.__dict__["identity_management_type"] = identity_management_type __props__.__dict__["instance_alias"] = instance_alias + __props__.__dict__["tags"] = tags __props__.__dict__["arn"] = None __props__.__dict__["created_time"] = None __props__.__dict__["instance_status"] = None @@ -185,6 +205,7 @@ def get(resource_name: str, __props__.__dict__["instance_alias"] = None __props__.__dict__["instance_status"] = None __props__.__dict__["service_role"] = None + __props__.__dict__["tags"] = None return Instance(resource_name, opts=opts, __props__=__props__) @property @@ -251,3 +272,11 @@ def service_role(self) -> pulumi.Output[str]: """ return pulumi.get(self, "service_role") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceTag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/connect/outputs.py b/sdk/python/pulumi_aws_native/connect/outputs.py index fc83a10159..a2de7c830a 100644 --- a/sdk/python/pulumi_aws_native/connect/outputs.py +++ b/sdk/python/pulumi_aws_native/connect/outputs.py @@ -40,6 +40,7 @@ 'InstanceStorageConfigKinesisStreamConfig', 'InstanceStorageConfigKinesisVideoStreamConfig', 'InstanceStorageConfigS3Config', + 'InstanceTag', 'PhoneNumberTag', 'PromptTag', 'QueueOutboundCallerConfig', @@ -1399,10 +1400,10 @@ class InstanceStorageConfigKinesisVideoStreamConfig(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "retentionPeriodHours": - suggest = "retention_period_hours" - elif key == "encryptionConfig": + if key == "encryptionConfig": suggest = "encryption_config" + elif key == "retentionPeriodHours": + suggest = "retention_period_hours" if suggest: pulumi.log.warn(f"Key '{key}' not found in InstanceStorageConfigKinesisVideoStreamConfig. Access the value via the '{suggest}' property getter instead.") @@ -1416,13 +1417,17 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + encryption_config: 'outputs.InstanceStorageConfigEncryptionConfig', prefix: str, - retention_period_hours: float, - encryption_config: Optional['outputs.InstanceStorageConfigEncryptionConfig'] = None): + retention_period_hours: float): + pulumi.set(__self__, "encryption_config", encryption_config) pulumi.set(__self__, "prefix", prefix) pulumi.set(__self__, "retention_period_hours", retention_period_hours) - if encryption_config is not None: - pulumi.set(__self__, "encryption_config", encryption_config) + + @property + @pulumi.getter(name="encryptionConfig") + def encryption_config(self) -> 'outputs.InstanceStorageConfigEncryptionConfig': + return pulumi.get(self, "encryption_config") @property @pulumi.getter @@ -1434,11 +1439,6 @@ def prefix(self) -> str: def retention_period_hours(self) -> float: return pulumi.get(self, "retention_period_hours") - @property - @pulumi.getter(name="encryptionConfig") - def encryption_config(self) -> Optional['outputs.InstanceStorageConfigEncryptionConfig']: - return pulumi.get(self, "encryption_config") - @pulumi.output_type class InstanceStorageConfigS3Config(dict): @@ -1488,6 +1488,39 @@ def encryption_config(self) -> Optional['outputs.InstanceStorageConfigEncryption return pulumi.get(self, "encryption_config") +@pulumi.output_type +class InstanceTag(dict): + """ + A key-value pair to associate with a resource. + """ + def __init__(__self__, *, + key: str, + value: str): + """ + A key-value pair to associate with a resource. + :param str key: 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 -. + :param str value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class PhoneNumberTag(dict): """ diff --git a/sdk/python/pulumi_aws_native/dms/__init__.py b/sdk/python/pulumi_aws_native/dms/__init__.py index 9ab063658a..678a919c11 100644 --- a/sdk/python/pulumi_aws_native/dms/__init__.py +++ b/sdk/python/pulumi_aws_native/dms/__init__.py @@ -7,15 +7,21 @@ # Export this package's modules as members: from ._enums import * from .certificate import * +from .data_provider import * from .endpoint import * from .event_subscription import * from .get_certificate import * +from .get_data_provider import * from .get_endpoint import * from .get_event_subscription import * +from .get_instance_profile import * +from .get_migration_project import * from .get_replication_config import * from .get_replication_instance import * from .get_replication_subnet_group import * from .get_replication_task import * +from .instance_profile import * +from .migration_project import * from .replication_config import * from .replication_instance import * from .replication_subnet_group import * diff --git a/sdk/python/pulumi_aws_native/dms/_enums.py b/sdk/python/pulumi_aws_native/dms/_enums.py index 63dbf7dd99..2707b9b4a0 100644 --- a/sdk/python/pulumi_aws_native/dms/_enums.py +++ b/sdk/python/pulumi_aws_native/dms/_enums.py @@ -5,10 +5,41 @@ from enum import Enum __all__ = [ + 'DataProviderDmsSslModeValue', + 'DataProviderEngine', + 'InstanceProfileNetworkType', 'ReplicationConfigReplicationType', ] +class DataProviderDmsSslModeValue(str, Enum): + NONE = "none" + REQUIRE = "require" + VERIFY_CA = "verify_ca" + VERIFY_FULL = "verify_full" + + +class DataProviderEngine(str, Enum): + """ + The property describes a data engine for the data provider. + """ + POSTGRESQL = "postgresql" + MYSQL = "mysql" + ORACLE = "oracle" + SQLSERVER = "sqlserver" + AURORA = "aurora" + AURORA_POSTGRESQL = "aurora_postgresql" + + +class InstanceProfileNetworkType(str, Enum): + """ + The property describes a network type for the instance profile. + """ + IPV4 = "IPV4" + IPV6 = "IPV6" + DUAL = "DUAL" + + class ReplicationConfigReplicationType(str, Enum): """ The type of AWS DMS Serverless replication to provision using this replication configuration diff --git a/sdk/python/pulumi_aws_native/dms/_inputs.py b/sdk/python/pulumi_aws_native/dms/_inputs.py index d83fe83493..d02d0e737f 100644 --- a/sdk/python/pulumi_aws_native/dms/_inputs.py +++ b/sdk/python/pulumi_aws_native/dms/_inputs.py @@ -11,6 +11,7 @@ from ._enums import * __all__ = [ + 'DataProviderTagArgs', 'EndpointDocDbSettingsArgs', 'EndpointDynamoDbSettingsArgs', 'EndpointElasticsearchSettingsArgs', @@ -30,13 +31,63 @@ 'EndpointSybaseSettingsArgs', 'EndpointTagArgs', 'EventSubscriptionTagArgs', + 'InstanceProfileTagArgs', + 'MigrationProjectDataProviderDescriptorArgs', + 'MigrationProjectTagArgs', 'ReplicationConfigComputeConfigArgs', 'ReplicationConfigTagArgs', 'ReplicationInstanceTagArgs', 'ReplicationSubnetGroupTagArgs', 'ReplicationTaskTagArgs', + 'SchemaConversionApplicationAttributesPropertiesArgs', + 'Settings0PropertiesPostgreSqlSettingsPropertiesArgs', + 'Settings0PropertiesArgs', + 'Settings1PropertiesMySqlSettingsPropertiesArgs', + 'Settings1PropertiesArgs', + 'Settings2PropertiesOracleSettingsPropertiesArgs', + 'Settings2PropertiesArgs', + 'Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs', + 'Settings3PropertiesArgs', ] +@pulumi.input_type +class DataProviderTagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str]): + """ + A key-value pair to associate with a resource. + :param pulumi.Input[str] key: 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 -. + :param pulumi.Input[str] value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class EndpointDocDbSettingsArgs: def __init__(__self__, *, @@ -337,12 +388,22 @@ def username(self, value: Optional[pulumi.Input[str]]): class EndpointIbmDb2SettingsArgs: def __init__(__self__, *, current_lsn: Optional[pulumi.Input[str]] = None, + keep_csv_files: Optional[pulumi.Input[bool]] = None, + load_timeout: Optional[pulumi.Input[int]] = None, + max_file_size: Optional[pulumi.Input[int]] = None, max_k_bytes_per_read: Optional[pulumi.Input[int]] = None, secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None, secrets_manager_secret_id: Optional[pulumi.Input[str]] = None, - set_data_capture_changes: Optional[pulumi.Input[bool]] = None): + set_data_capture_changes: Optional[pulumi.Input[bool]] = None, + write_buffer_size: Optional[pulumi.Input[int]] = None): if current_lsn is not None: pulumi.set(__self__, "current_lsn", current_lsn) + if keep_csv_files is not None: + pulumi.set(__self__, "keep_csv_files", keep_csv_files) + if load_timeout is not None: + pulumi.set(__self__, "load_timeout", load_timeout) + if max_file_size is not None: + pulumi.set(__self__, "max_file_size", max_file_size) if max_k_bytes_per_read is not None: pulumi.set(__self__, "max_k_bytes_per_read", max_k_bytes_per_read) if secrets_manager_access_role_arn is not None: @@ -351,6 +412,8 @@ def __init__(__self__, *, pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id) if set_data_capture_changes is not None: pulumi.set(__self__, "set_data_capture_changes", set_data_capture_changes) + if write_buffer_size is not None: + pulumi.set(__self__, "write_buffer_size", write_buffer_size) @property @pulumi.getter(name="currentLsn") @@ -361,6 +424,33 @@ def current_lsn(self) -> Optional[pulumi.Input[str]]: def current_lsn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "current_lsn", value) + @property + @pulumi.getter(name="keepCsvFiles") + def keep_csv_files(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "keep_csv_files") + + @keep_csv_files.setter + def keep_csv_files(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "keep_csv_files", value) + + @property + @pulumi.getter(name="loadTimeout") + def load_timeout(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "load_timeout") + + @load_timeout.setter + def load_timeout(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "load_timeout", value) + + @property + @pulumi.getter(name="maxFileSize") + def max_file_size(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "max_file_size") + + @max_file_size.setter + def max_file_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "max_file_size", value) + @property @pulumi.getter(name="maxKBytesPerRead") def max_k_bytes_per_read(self) -> Optional[pulumi.Input[int]]: @@ -397,6 +487,15 @@ def set_data_capture_changes(self) -> Optional[pulumi.Input[bool]]: def set_data_capture_changes(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "set_data_capture_changes", value) + @property + @pulumi.getter(name="writeBufferSize") + def write_buffer_size(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "write_buffer_size") + + @write_buffer_size.setter + def write_buffer_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "write_buffer_size", value) + @pulumi.input_type class EndpointKafkaSettingsArgs: @@ -2924,6 +3023,150 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class InstanceProfileTagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str]): + """ + A key-value pair to associate with a resource. + :param pulumi.Input[str] key: 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 -. + :param pulumi.Input[str] value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class MigrationProjectDataProviderDescriptorArgs: + def __init__(__self__, *, + data_provider_arn: Optional[pulumi.Input[str]] = None, + data_provider_identifier: Optional[pulumi.Input[str]] = None, + data_provider_name: Optional[pulumi.Input[str]] = None, + secrets_manager_access_role_arn: Optional[pulumi.Input[str]] = None, + secrets_manager_secret_id: Optional[pulumi.Input[str]] = None): + """ + It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + """ + if data_provider_arn is not None: + pulumi.set(__self__, "data_provider_arn", data_provider_arn) + if data_provider_identifier is not None: + pulumi.set(__self__, "data_provider_identifier", data_provider_identifier) + if data_provider_name is not None: + pulumi.set(__self__, "data_provider_name", data_provider_name) + if secrets_manager_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn) + if secrets_manager_secret_id is not None: + pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id) + + @property + @pulumi.getter(name="dataProviderArn") + def data_provider_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "data_provider_arn") + + @data_provider_arn.setter + def data_provider_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_provider_arn", value) + + @property + @pulumi.getter(name="dataProviderIdentifier") + def data_provider_identifier(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "data_provider_identifier") + + @data_provider_identifier.setter + def data_provider_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_provider_identifier", value) + + @property + @pulumi.getter(name="dataProviderName") + def data_provider_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "data_provider_name") + + @data_provider_name.setter + def data_provider_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_provider_name", value) + + @property + @pulumi.getter(name="secretsManagerAccessRoleArn") + def secrets_manager_access_role_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_access_role_arn") + + @secrets_manager_access_role_arn.setter + def secrets_manager_access_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_access_role_arn", value) + + @property + @pulumi.getter(name="secretsManagerSecretId") + def secrets_manager_secret_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_secret_id") + + @secrets_manager_secret_id.setter + def secrets_manager_secret_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_secret_id", value) + + +@pulumi.input_type +class MigrationProjectTagArgs: + def __init__(__self__, *, + key: pulumi.Input[str], + value: pulumi.Input[str]): + """ + A key-value pair to associate with a resource. + :param pulumi.Input[str] key: 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 -. + :param pulumi.Input[str] value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: pulumi.Input[str]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter + def value(self) -> pulumi.Input[str]: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[str]): + pulumi.set(self, "value", value) + + @pulumi.input_type class ReplicationConfigComputeConfigArgs: def __init__(__self__, *, @@ -3159,3 +3402,423 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class SchemaConversionApplicationAttributesPropertiesArgs: + def __init__(__self__, *, + s3_bucket_path: Optional[pulumi.Input[str]] = None, + s3_bucket_role_arn: Optional[pulumi.Input[str]] = None): + """ + The property describes schema conversion application attributes for the migration project. + """ + if s3_bucket_path is not None: + pulumi.set(__self__, "s3_bucket_path", s3_bucket_path) + if s3_bucket_role_arn is not None: + pulumi.set(__self__, "s3_bucket_role_arn", s3_bucket_role_arn) + + @property + @pulumi.getter(name="s3BucketPath") + def s3_bucket_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "s3_bucket_path") + + @s3_bucket_path.setter + def s3_bucket_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_bucket_path", value) + + @property + @pulumi.getter(name="s3BucketRoleArn") + def s3_bucket_role_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "s3_bucket_role_arn") + + @s3_bucket_role_arn.setter + def s3_bucket_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_bucket_role_arn", value) + + +@pulumi.input_type +class Settings0PropertiesPostgreSqlSettingsPropertiesArgs: + def __init__(__self__, *, + certificate_arn: Optional[pulumi.Input[str]] = None, + database_name: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + server_name: Optional[pulumi.Input[str]] = None, + ssl_mode: Optional[pulumi.Input['DataProviderDmsSslModeValue']] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "certificate_arn") + + @certificate_arn.setter + def certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_arn", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "server_name") + + @server_name.setter + def server_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_name", value) + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[pulumi.Input['DataProviderDmsSslModeValue']]: + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[pulumi.Input['DataProviderDmsSslModeValue']]): + pulumi.set(self, "ssl_mode", value) + + +@pulumi.input_type +class Settings0PropertiesArgs: + def __init__(__self__, *, + postgre_sql_settings: Optional[pulumi.Input['Settings0PropertiesPostgreSqlSettingsPropertiesArgs']] = None): + """ + PostgreSqlSettings property identifier. + """ + if postgre_sql_settings is not None: + pulumi.set(__self__, "postgre_sql_settings", postgre_sql_settings) + + @property + @pulumi.getter(name="postgreSqlSettings") + def postgre_sql_settings(self) -> Optional[pulumi.Input['Settings0PropertiesPostgreSqlSettingsPropertiesArgs']]: + return pulumi.get(self, "postgre_sql_settings") + + @postgre_sql_settings.setter + def postgre_sql_settings(self, value: Optional[pulumi.Input['Settings0PropertiesPostgreSqlSettingsPropertiesArgs']]): + pulumi.set(self, "postgre_sql_settings", value) + + +@pulumi.input_type +class Settings1PropertiesMySqlSettingsPropertiesArgs: + def __init__(__self__, *, + certificate_arn: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + server_name: Optional[pulumi.Input[str]] = None, + ssl_mode: Optional[pulumi.Input['DataProviderDmsSslModeValue']] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "certificate_arn") + + @certificate_arn.setter + def certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_arn", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "server_name") + + @server_name.setter + def server_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_name", value) + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[pulumi.Input['DataProviderDmsSslModeValue']]: + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[pulumi.Input['DataProviderDmsSslModeValue']]): + pulumi.set(self, "ssl_mode", value) + + +@pulumi.input_type +class Settings1PropertiesArgs: + def __init__(__self__, *, + my_sql_settings: Optional[pulumi.Input['Settings1PropertiesMySqlSettingsPropertiesArgs']] = None): + """ + MySqlSettings property identifier. + """ + if my_sql_settings is not None: + pulumi.set(__self__, "my_sql_settings", my_sql_settings) + + @property + @pulumi.getter(name="mySqlSettings") + def my_sql_settings(self) -> Optional[pulumi.Input['Settings1PropertiesMySqlSettingsPropertiesArgs']]: + return pulumi.get(self, "my_sql_settings") + + @my_sql_settings.setter + def my_sql_settings(self, value: Optional[pulumi.Input['Settings1PropertiesMySqlSettingsPropertiesArgs']]): + pulumi.set(self, "my_sql_settings", value) + + +@pulumi.input_type +class Settings2PropertiesOracleSettingsPropertiesArgs: + def __init__(__self__, *, + asm_server: Optional[pulumi.Input[str]] = None, + certificate_arn: Optional[pulumi.Input[str]] = None, + database_name: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + secrets_manager_oracle_asm_access_role_arn: Optional[pulumi.Input[str]] = None, + secrets_manager_oracle_asm_secret_id: Optional[pulumi.Input[str]] = None, + secrets_manager_security_db_encryption_access_role_arn: Optional[pulumi.Input[str]] = None, + secrets_manager_security_db_encryption_secret_id: Optional[pulumi.Input[str]] = None, + server_name: Optional[pulumi.Input[str]] = None, + ssl_mode: Optional[pulumi.Input['DataProviderDmsSslModeValue']] = None): + if asm_server is not None: + pulumi.set(__self__, "asm_server", asm_server) + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if secrets_manager_oracle_asm_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_oracle_asm_access_role_arn", secrets_manager_oracle_asm_access_role_arn) + if secrets_manager_oracle_asm_secret_id is not None: + pulumi.set(__self__, "secrets_manager_oracle_asm_secret_id", secrets_manager_oracle_asm_secret_id) + if secrets_manager_security_db_encryption_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_security_db_encryption_access_role_arn", secrets_manager_security_db_encryption_access_role_arn) + if secrets_manager_security_db_encryption_secret_id is not None: + pulumi.set(__self__, "secrets_manager_security_db_encryption_secret_id", secrets_manager_security_db_encryption_secret_id) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="asmServer") + def asm_server(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "asm_server") + + @asm_server.setter + def asm_server(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "asm_server", value) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "certificate_arn") + + @certificate_arn.setter + def certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_arn", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="secretsManagerOracleAsmAccessRoleArn") + def secrets_manager_oracle_asm_access_role_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_oracle_asm_access_role_arn") + + @secrets_manager_oracle_asm_access_role_arn.setter + def secrets_manager_oracle_asm_access_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_oracle_asm_access_role_arn", value) + + @property + @pulumi.getter(name="secretsManagerOracleAsmSecretId") + def secrets_manager_oracle_asm_secret_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_oracle_asm_secret_id") + + @secrets_manager_oracle_asm_secret_id.setter + def secrets_manager_oracle_asm_secret_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_oracle_asm_secret_id", value) + + @property + @pulumi.getter(name="secretsManagerSecurityDbEncryptionAccessRoleArn") + def secrets_manager_security_db_encryption_access_role_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_security_db_encryption_access_role_arn") + + @secrets_manager_security_db_encryption_access_role_arn.setter + def secrets_manager_security_db_encryption_access_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_security_db_encryption_access_role_arn", value) + + @property + @pulumi.getter(name="secretsManagerSecurityDbEncryptionSecretId") + def secrets_manager_security_db_encryption_secret_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "secrets_manager_security_db_encryption_secret_id") + + @secrets_manager_security_db_encryption_secret_id.setter + def secrets_manager_security_db_encryption_secret_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secrets_manager_security_db_encryption_secret_id", value) + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "server_name") + + @server_name.setter + def server_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_name", value) + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[pulumi.Input['DataProviderDmsSslModeValue']]: + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[pulumi.Input['DataProviderDmsSslModeValue']]): + pulumi.set(self, "ssl_mode", value) + + +@pulumi.input_type +class Settings2PropertiesArgs: + def __init__(__self__, *, + oracle_settings: Optional[pulumi.Input['Settings2PropertiesOracleSettingsPropertiesArgs']] = None): + """ + OracleSettings property identifier. + """ + if oracle_settings is not None: + pulumi.set(__self__, "oracle_settings", oracle_settings) + + @property + @pulumi.getter(name="oracleSettings") + def oracle_settings(self) -> Optional[pulumi.Input['Settings2PropertiesOracleSettingsPropertiesArgs']]: + return pulumi.get(self, "oracle_settings") + + @oracle_settings.setter + def oracle_settings(self, value: Optional[pulumi.Input['Settings2PropertiesOracleSettingsPropertiesArgs']]): + pulumi.set(self, "oracle_settings", value) + + +@pulumi.input_type +class Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs: + def __init__(__self__, *, + certificate_arn: Optional[pulumi.Input[str]] = None, + database_name: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None, + server_name: Optional[pulumi.Input[str]] = None, + ssl_mode: Optional[pulumi.Input['DataProviderDmsSslModeValue']] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "certificate_arn") + + @certificate_arn.setter + def certificate_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "certificate_arn", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "server_name") + + @server_name.setter + def server_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "server_name", value) + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional[pulumi.Input['DataProviderDmsSslModeValue']]: + return pulumi.get(self, "ssl_mode") + + @ssl_mode.setter + def ssl_mode(self, value: Optional[pulumi.Input['DataProviderDmsSslModeValue']]): + pulumi.set(self, "ssl_mode", value) + + +@pulumi.input_type +class Settings3PropertiesArgs: + def __init__(__self__, *, + microsoft_sql_server_settings: Optional[pulumi.Input['Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs']] = None): + """ + MicrosoftSqlServerSettings property identifier. + """ + if microsoft_sql_server_settings is not None: + pulumi.set(__self__, "microsoft_sql_server_settings", microsoft_sql_server_settings) + + @property + @pulumi.getter(name="microsoftSqlServerSettings") + def microsoft_sql_server_settings(self) -> Optional[pulumi.Input['Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs']]: + return pulumi.get(self, "microsoft_sql_server_settings") + + @microsoft_sql_server_settings.setter + def microsoft_sql_server_settings(self, value: Optional[pulumi.Input['Settings3PropertiesMicrosoftSqlServerSettingsPropertiesArgs']]): + pulumi.set(self, "microsoft_sql_server_settings", value) + + diff --git a/sdk/python/pulumi_aws_native/dms/data_provider.py b/sdk/python/pulumi_aws_native/dms/data_provider.py new file mode 100644 index 0000000000..9e319ce05a --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/data_provider.py @@ -0,0 +1,317 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['DataProviderArgs', 'DataProvider'] + +@pulumi.input_type +class DataProviderArgs: + def __init__(__self__, *, + engine: pulumi.Input['DataProviderEngine'], + data_provider_identifier: Optional[pulumi.Input[str]] = None, + data_provider_name: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + exact_settings: Optional[pulumi.Input[bool]] = None, + settings: Optional[pulumi.Input[Union['Settings0PropertiesArgs', 'Settings1PropertiesArgs', 'Settings2PropertiesArgs', 'Settings3PropertiesArgs']]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['DataProviderTagArgs']]]] = None): + """ + The set of arguments for constructing a DataProvider resource. + :param pulumi.Input['DataProviderEngine'] engine: The property describes a data engine for the data provider. + :param pulumi.Input[str] data_provider_identifier: The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + :param pulumi.Input[str] data_provider_name: The property describes a name to identify the data provider. + :param pulumi.Input[str] description: The optional description of the data provider. + :param pulumi.Input[bool] exact_settings: The property describes the exact settings which can be modified + :param pulumi.Input[Union['Settings0PropertiesArgs', 'Settings1PropertiesArgs', 'Settings2PropertiesArgs', 'Settings3PropertiesArgs']] settings: The property identifies the exact type of settings for the data provider. + :param pulumi.Input[Sequence[pulumi.Input['DataProviderTagArgs']]] tags: An array of key-value pairs to apply to this resource. + """ + pulumi.set(__self__, "engine", engine) + if data_provider_identifier is not None: + pulumi.set(__self__, "data_provider_identifier", data_provider_identifier) + if data_provider_name is not None: + pulumi.set(__self__, "data_provider_name", data_provider_name) + if description is not None: + pulumi.set(__self__, "description", description) + if exact_settings is not None: + pulumi.set(__self__, "exact_settings", exact_settings) + if settings is not None: + pulumi.set(__self__, "settings", settings) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def engine(self) -> pulumi.Input['DataProviderEngine']: + """ + The property describes a data engine for the data provider. + """ + return pulumi.get(self, "engine") + + @engine.setter + def engine(self, value: pulumi.Input['DataProviderEngine']): + pulumi.set(self, "engine", value) + + @property + @pulumi.getter(name="dataProviderIdentifier") + def data_provider_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + """ + return pulumi.get(self, "data_provider_identifier") + + @data_provider_identifier.setter + def data_provider_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_provider_identifier", value) + + @property + @pulumi.getter(name="dataProviderName") + def data_provider_name(self) -> Optional[pulumi.Input[str]]: + """ + The property describes a name to identify the data provider. + """ + return pulumi.get(self, "data_provider_name") + + @data_provider_name.setter + def data_provider_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_provider_name", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The optional description of the data provider. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="exactSettings") + def exact_settings(self) -> Optional[pulumi.Input[bool]]: + """ + The property describes the exact settings which can be modified + """ + return pulumi.get(self, "exact_settings") + + @exact_settings.setter + def exact_settings(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "exact_settings", value) + + @property + @pulumi.getter + def settings(self) -> Optional[pulumi.Input[Union['Settings0PropertiesArgs', 'Settings1PropertiesArgs', 'Settings2PropertiesArgs', 'Settings3PropertiesArgs']]]: + """ + The property identifies the exact type of settings for the data provider. + """ + return pulumi.get(self, "settings") + + @settings.setter + def settings(self, value: Optional[pulumi.Input[Union['Settings0PropertiesArgs', 'Settings1PropertiesArgs', 'Settings2PropertiesArgs', 'Settings3PropertiesArgs']]]): + pulumi.set(self, "settings", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataProviderTagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataProviderTagArgs']]]]): + pulumi.set(self, "tags", value) + + +class DataProvider(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + data_provider_identifier: Optional[pulumi.Input[str]] = None, + data_provider_name: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + engine: Optional[pulumi.Input['DataProviderEngine']] = None, + exact_settings: Optional[pulumi.Input[bool]] = None, + settings: Optional[pulumi.Input[Union[pulumi.InputType['Settings0PropertiesArgs'], pulumi.InputType['Settings1PropertiesArgs'], pulumi.InputType['Settings2PropertiesArgs'], pulumi.InputType['Settings3PropertiesArgs']]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DataProviderTagArgs']]]]] = None, + __props__=None): + """ + Resource schema for AWS::DMS::DataProvider + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] data_provider_identifier: The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + :param pulumi.Input[str] data_provider_name: The property describes a name to identify the data provider. + :param pulumi.Input[str] description: The optional description of the data provider. + :param pulumi.Input['DataProviderEngine'] engine: The property describes a data engine for the data provider. + :param pulumi.Input[bool] exact_settings: The property describes the exact settings which can be modified + :param pulumi.Input[Union[pulumi.InputType['Settings0PropertiesArgs'], pulumi.InputType['Settings1PropertiesArgs'], pulumi.InputType['Settings2PropertiesArgs'], pulumi.InputType['Settings3PropertiesArgs']]] settings: The property identifies the exact type of settings for the data provider. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DataProviderTagArgs']]]] tags: An array of key-value pairs to apply to this resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DataProviderArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource schema for AWS::DMS::DataProvider + + :param str resource_name: The name of the resource. + :param DataProviderArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DataProviderArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + data_provider_identifier: Optional[pulumi.Input[str]] = None, + data_provider_name: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + engine: Optional[pulumi.Input['DataProviderEngine']] = None, + exact_settings: Optional[pulumi.Input[bool]] = None, + settings: Optional[pulumi.Input[Union[pulumi.InputType['Settings0PropertiesArgs'], pulumi.InputType['Settings1PropertiesArgs'], pulumi.InputType['Settings2PropertiesArgs'], pulumi.InputType['Settings3PropertiesArgs']]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DataProviderTagArgs']]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DataProviderArgs.__new__(DataProviderArgs) + + __props__.__dict__["data_provider_identifier"] = data_provider_identifier + __props__.__dict__["data_provider_name"] = data_provider_name + __props__.__dict__["description"] = description + if engine is None and not opts.urn: + raise TypeError("Missing required property 'engine'") + __props__.__dict__["engine"] = engine + __props__.__dict__["exact_settings"] = exact_settings + __props__.__dict__["settings"] = settings + __props__.__dict__["tags"] = tags + __props__.__dict__["data_provider_arn"] = None + __props__.__dict__["data_provider_creation_time"] = None + super(DataProvider, __self__).__init__( + 'aws-native:dms:DataProvider', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'DataProvider': + """ + Get an existing DataProvider resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = DataProviderArgs.__new__(DataProviderArgs) + + __props__.__dict__["data_provider_arn"] = None + __props__.__dict__["data_provider_creation_time"] = None + __props__.__dict__["data_provider_identifier"] = None + __props__.__dict__["data_provider_name"] = None + __props__.__dict__["description"] = None + __props__.__dict__["engine"] = None + __props__.__dict__["exact_settings"] = None + __props__.__dict__["settings"] = None + __props__.__dict__["tags"] = None + return DataProvider(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="dataProviderArn") + def data_provider_arn(self) -> pulumi.Output[str]: + """ + The data provider ARN. + """ + return pulumi.get(self, "data_provider_arn") + + @property + @pulumi.getter(name="dataProviderCreationTime") + def data_provider_creation_time(self) -> pulumi.Output[str]: + """ + The data provider creation time. + """ + return pulumi.get(self, "data_provider_creation_time") + + @property + @pulumi.getter(name="dataProviderIdentifier") + def data_provider_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an identifier for the data provider. It is used for describing/deleting/modifying can be name/arn + """ + return pulumi.get(self, "data_provider_identifier") + + @property + @pulumi.getter(name="dataProviderName") + def data_provider_name(self) -> pulumi.Output[Optional[str]]: + """ + The property describes a name to identify the data provider. + """ + return pulumi.get(self, "data_provider_name") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The optional description of the data provider. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def engine(self) -> pulumi.Output['DataProviderEngine']: + """ + The property describes a data engine for the data provider. + """ + return pulumi.get(self, "engine") + + @property + @pulumi.getter(name="exactSettings") + def exact_settings(self) -> pulumi.Output[Optional[bool]]: + """ + The property describes the exact settings which can be modified + """ + return pulumi.get(self, "exact_settings") + + @property + @pulumi.getter + def settings(self) -> pulumi.Output[Optional[Any]]: + """ + The property identifies the exact type of settings for the data provider. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DataProviderTag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/dms/get_data_provider.py b/sdk/python/pulumi_aws_native/dms/get_data_provider.py new file mode 100644 index 0000000000..581bd4f445 --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/get_data_provider.py @@ -0,0 +1,150 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetDataProviderResult', + 'AwaitableGetDataProviderResult', + 'get_data_provider', + 'get_data_provider_output', +] + +@pulumi.output_type +class GetDataProviderResult: + def __init__(__self__, data_provider_arn=None, data_provider_creation_time=None, data_provider_name=None, description=None, engine=None, settings=None, tags=None): + if data_provider_arn and not isinstance(data_provider_arn, str): + raise TypeError("Expected argument 'data_provider_arn' to be a str") + pulumi.set(__self__, "data_provider_arn", data_provider_arn) + if data_provider_creation_time and not isinstance(data_provider_creation_time, str): + raise TypeError("Expected argument 'data_provider_creation_time' to be a str") + pulumi.set(__self__, "data_provider_creation_time", data_provider_creation_time) + if data_provider_name and not isinstance(data_provider_name, str): + raise TypeError("Expected argument 'data_provider_name' to be a str") + pulumi.set(__self__, "data_provider_name", data_provider_name) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if engine and not isinstance(engine, str): + raise TypeError("Expected argument 'engine' to be a str") + pulumi.set(__self__, "engine", engine) + if settings and not isinstance(settings, dict): + raise TypeError("Expected argument 'settings' to be a dict") + pulumi.set(__self__, "settings", settings) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="dataProviderArn") + def data_provider_arn(self) -> Optional[str]: + """ + The data provider ARN. + """ + return pulumi.get(self, "data_provider_arn") + + @property + @pulumi.getter(name="dataProviderCreationTime") + def data_provider_creation_time(self) -> Optional[str]: + """ + The data provider creation time. + """ + return pulumi.get(self, "data_provider_creation_time") + + @property + @pulumi.getter(name="dataProviderName") + def data_provider_name(self) -> Optional[str]: + """ + The property describes a name to identify the data provider. + """ + return pulumi.get(self, "data_provider_name") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The optional description of the data provider. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def engine(self) -> Optional['DataProviderEngine']: + """ + The property describes a data engine for the data provider. + """ + return pulumi.get(self, "engine") + + @property + @pulumi.getter + def settings(self) -> Optional[Any]: + """ + The property identifies the exact type of settings for the data provider. + """ + return pulumi.get(self, "settings") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['outputs.DataProviderTag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetDataProviderResult(GetDataProviderResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDataProviderResult( + data_provider_arn=self.data_provider_arn, + data_provider_creation_time=self.data_provider_creation_time, + data_provider_name=self.data_provider_name, + description=self.description, + engine=self.engine, + settings=self.settings, + tags=self.tags) + + +def get_data_provider(data_provider_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataProviderResult: + """ + Resource schema for AWS::DMS::DataProvider + + + :param str data_provider_arn: The data provider ARN. + """ + __args__ = dict() + __args__['dataProviderArn'] = data_provider_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:dms:getDataProvider', __args__, opts=opts, typ=GetDataProviderResult).value + + return AwaitableGetDataProviderResult( + data_provider_arn=pulumi.get(__ret__, 'data_provider_arn'), + data_provider_creation_time=pulumi.get(__ret__, 'data_provider_creation_time'), + data_provider_name=pulumi.get(__ret__, 'data_provider_name'), + description=pulumi.get(__ret__, 'description'), + engine=pulumi.get(__ret__, 'engine'), + settings=pulumi.get(__ret__, 'settings'), + tags=pulumi.get(__ret__, 'tags')) + + +@_utilities.lift_output_func(get_data_provider) +def get_data_provider_output(data_provider_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDataProviderResult]: + """ + Resource schema for AWS::DMS::DataProvider + + + :param str data_provider_arn: The data provider ARN. + """ + ... diff --git a/sdk/python/pulumi_aws_native/dms/get_instance_profile.py b/sdk/python/pulumi_aws_native/dms/get_instance_profile.py new file mode 100644 index 0000000000..0c01482f70 --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/get_instance_profile.py @@ -0,0 +1,202 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetInstanceProfileResult', + 'AwaitableGetInstanceProfileResult', + 'get_instance_profile', + 'get_instance_profile_output', +] + +@pulumi.output_type +class GetInstanceProfileResult: + def __init__(__self__, availability_zone=None, description=None, instance_profile_arn=None, instance_profile_creation_time=None, instance_profile_name=None, kms_key_arn=None, network_type=None, publicly_accessible=None, subnet_group_identifier=None, tags=None, vpc_security_groups=None): + if availability_zone and not isinstance(availability_zone, str): + raise TypeError("Expected argument 'availability_zone' to be a str") + pulumi.set(__self__, "availability_zone", availability_zone) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if instance_profile_arn and not isinstance(instance_profile_arn, str): + raise TypeError("Expected argument 'instance_profile_arn' to be a str") + pulumi.set(__self__, "instance_profile_arn", instance_profile_arn) + if instance_profile_creation_time and not isinstance(instance_profile_creation_time, str): + raise TypeError("Expected argument 'instance_profile_creation_time' to be a str") + pulumi.set(__self__, "instance_profile_creation_time", instance_profile_creation_time) + if instance_profile_name and not isinstance(instance_profile_name, str): + raise TypeError("Expected argument 'instance_profile_name' to be a str") + pulumi.set(__self__, "instance_profile_name", instance_profile_name) + if kms_key_arn and not isinstance(kms_key_arn, str): + raise TypeError("Expected argument 'kms_key_arn' to be a str") + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if network_type and not isinstance(network_type, str): + raise TypeError("Expected argument 'network_type' to be a str") + pulumi.set(__self__, "network_type", network_type) + if publicly_accessible and not isinstance(publicly_accessible, bool): + raise TypeError("Expected argument 'publicly_accessible' to be a bool") + pulumi.set(__self__, "publicly_accessible", publicly_accessible) + if subnet_group_identifier and not isinstance(subnet_group_identifier, str): + raise TypeError("Expected argument 'subnet_group_identifier' to be a str") + pulumi.set(__self__, "subnet_group_identifier", subnet_group_identifier) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + if vpc_security_groups and not isinstance(vpc_security_groups, list): + raise TypeError("Expected argument 'vpc_security_groups' to be a list") + pulumi.set(__self__, "vpc_security_groups", vpc_security_groups) + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> Optional[str]: + """ + The property describes an availability zone of the instance profile. + """ + return pulumi.get(self, "availability_zone") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The optional description of the instance profile. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="instanceProfileArn") + def instance_profile_arn(self) -> Optional[str]: + """ + The property describes an ARN of the instance profile. + """ + return pulumi.get(self, "instance_profile_arn") + + @property + @pulumi.getter(name="instanceProfileCreationTime") + def instance_profile_creation_time(self) -> Optional[str]: + """ + The property describes a creating time of the instance profile. + """ + return pulumi.get(self, "instance_profile_creation_time") + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> Optional[str]: + """ + The property describes a name for the instance profile. + """ + return pulumi.get(self, "instance_profile_name") + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[str]: + """ + The property describes kms key arn for the instance profile. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter(name="networkType") + def network_type(self) -> Optional['InstanceProfileNetworkType']: + """ + The property describes a network type for the instance profile. + """ + return pulumi.get(self, "network_type") + + @property + @pulumi.getter(name="publiclyAccessible") + def publicly_accessible(self) -> Optional[bool]: + """ + The property describes the publicly accessible of the instance profile + """ + return pulumi.get(self, "publicly_accessible") + + @property + @pulumi.getter(name="subnetGroupIdentifier") + def subnet_group_identifier(self) -> Optional[str]: + """ + The property describes a subnet group identifier for the instance profile. + """ + return pulumi.get(self, "subnet_group_identifier") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['outputs.InstanceProfileTag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcSecurityGroups") + def vpc_security_groups(self) -> Optional[Sequence[str]]: + """ + The property describes vps security groups for the instance profile. + """ + return pulumi.get(self, "vpc_security_groups") + + +class AwaitableGetInstanceProfileResult(GetInstanceProfileResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetInstanceProfileResult( + availability_zone=self.availability_zone, + description=self.description, + instance_profile_arn=self.instance_profile_arn, + instance_profile_creation_time=self.instance_profile_creation_time, + instance_profile_name=self.instance_profile_name, + kms_key_arn=self.kms_key_arn, + network_type=self.network_type, + publicly_accessible=self.publicly_accessible, + subnet_group_identifier=self.subnet_group_identifier, + tags=self.tags, + vpc_security_groups=self.vpc_security_groups) + + +def get_instance_profile(instance_profile_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstanceProfileResult: + """ + Resource schema for AWS::DMS::InstanceProfile. + + + :param str instance_profile_arn: The property describes an ARN of the instance profile. + """ + __args__ = dict() + __args__['instanceProfileArn'] = instance_profile_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:dms:getInstanceProfile', __args__, opts=opts, typ=GetInstanceProfileResult).value + + return AwaitableGetInstanceProfileResult( + availability_zone=pulumi.get(__ret__, 'availability_zone'), + description=pulumi.get(__ret__, 'description'), + instance_profile_arn=pulumi.get(__ret__, 'instance_profile_arn'), + instance_profile_creation_time=pulumi.get(__ret__, 'instance_profile_creation_time'), + instance_profile_name=pulumi.get(__ret__, 'instance_profile_name'), + kms_key_arn=pulumi.get(__ret__, 'kms_key_arn'), + network_type=pulumi.get(__ret__, 'network_type'), + publicly_accessible=pulumi.get(__ret__, 'publicly_accessible'), + subnet_group_identifier=pulumi.get(__ret__, 'subnet_group_identifier'), + tags=pulumi.get(__ret__, 'tags'), + vpc_security_groups=pulumi.get(__ret__, 'vpc_security_groups')) + + +@_utilities.lift_output_func(get_instance_profile) +def get_instance_profile_output(instance_profile_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceProfileResult]: + """ + Resource schema for AWS::DMS::InstanceProfile. + + + :param str instance_profile_arn: The property describes an ARN of the instance profile. + """ + ... diff --git a/sdk/python/pulumi_aws_native/dms/get_migration_project.py b/sdk/python/pulumi_aws_native/dms/get_migration_project.py new file mode 100644 index 0000000000..1c57247bed --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/get_migration_project.py @@ -0,0 +1,201 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetMigrationProjectResult', + 'AwaitableGetMigrationProjectResult', + 'get_migration_project', + 'get_migration_project_output', +] + +@pulumi.output_type +class GetMigrationProjectResult: + def __init__(__self__, description=None, instance_profile_arn=None, instance_profile_name=None, migration_project_arn=None, migration_project_creation_time=None, migration_project_name=None, schema_conversion_application_attributes=None, source_data_provider_descriptors=None, tags=None, target_data_provider_descriptors=None, transformation_rules=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if instance_profile_arn and not isinstance(instance_profile_arn, str): + raise TypeError("Expected argument 'instance_profile_arn' to be a str") + pulumi.set(__self__, "instance_profile_arn", instance_profile_arn) + if instance_profile_name and not isinstance(instance_profile_name, str): + raise TypeError("Expected argument 'instance_profile_name' to be a str") + pulumi.set(__self__, "instance_profile_name", instance_profile_name) + if migration_project_arn and not isinstance(migration_project_arn, str): + raise TypeError("Expected argument 'migration_project_arn' to be a str") + pulumi.set(__self__, "migration_project_arn", migration_project_arn) + if migration_project_creation_time and not isinstance(migration_project_creation_time, str): + raise TypeError("Expected argument 'migration_project_creation_time' to be a str") + pulumi.set(__self__, "migration_project_creation_time", migration_project_creation_time) + if migration_project_name and not isinstance(migration_project_name, str): + raise TypeError("Expected argument 'migration_project_name' to be a str") + pulumi.set(__self__, "migration_project_name", migration_project_name) + if schema_conversion_application_attributes and not isinstance(schema_conversion_application_attributes, dict): + raise TypeError("Expected argument 'schema_conversion_application_attributes' to be a dict") + pulumi.set(__self__, "schema_conversion_application_attributes", schema_conversion_application_attributes) + if source_data_provider_descriptors and not isinstance(source_data_provider_descriptors, list): + raise TypeError("Expected argument 'source_data_provider_descriptors' to be a list") + pulumi.set(__self__, "source_data_provider_descriptors", source_data_provider_descriptors) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + if target_data_provider_descriptors and not isinstance(target_data_provider_descriptors, list): + raise TypeError("Expected argument 'target_data_provider_descriptors' to be a list") + pulumi.set(__self__, "target_data_provider_descriptors", target_data_provider_descriptors) + if transformation_rules and not isinstance(transformation_rules, str): + raise TypeError("Expected argument 'transformation_rules' to be a str") + pulumi.set(__self__, "transformation_rules", transformation_rules) + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The optional description of the migration project. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="instanceProfileArn") + def instance_profile_arn(self) -> Optional[str]: + """ + The property describes an instance profile arn for the migration project. For read + """ + return pulumi.get(self, "instance_profile_arn") + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> Optional[str]: + """ + The property describes an instance profile name for the migration project. For read + """ + return pulumi.get(self, "instance_profile_name") + + @property + @pulumi.getter(name="migrationProjectArn") + def migration_project_arn(self) -> Optional[str]: + """ + The property describes an ARN of the migration project. + """ + return pulumi.get(self, "migration_project_arn") + + @property + @pulumi.getter(name="migrationProjectCreationTime") + def migration_project_creation_time(self) -> Optional[str]: + """ + The property describes a creating time of the migration project. + """ + return pulumi.get(self, "migration_project_creation_time") + + @property + @pulumi.getter(name="migrationProjectName") + def migration_project_name(self) -> Optional[str]: + """ + The property describes a name to identify the migration project. + """ + return pulumi.get(self, "migration_project_name") + + @property + @pulumi.getter(name="schemaConversionApplicationAttributes") + def schema_conversion_application_attributes(self) -> Optional['outputs.SchemaConversionApplicationAttributesProperties']: + """ + The property describes schema conversion application attributes for the migration project. + """ + return pulumi.get(self, "schema_conversion_application_attributes") + + @property + @pulumi.getter(name="sourceDataProviderDescriptors") + def source_data_provider_descriptors(self) -> Optional[Sequence['outputs.MigrationProjectDataProviderDescriptor']]: + """ + The property describes source data provider descriptors for the migration project. + """ + return pulumi.get(self, "source_data_provider_descriptors") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['outputs.MigrationProjectTag']]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="targetDataProviderDescriptors") + def target_data_provider_descriptors(self) -> Optional[Sequence['outputs.MigrationProjectDataProviderDescriptor']]: + """ + The property describes target data provider descriptors for the migration project. + """ + return pulumi.get(self, "target_data_provider_descriptors") + + @property + @pulumi.getter(name="transformationRules") + def transformation_rules(self) -> Optional[str]: + """ + The property describes transformation rules for the migration project. + """ + return pulumi.get(self, "transformation_rules") + + +class AwaitableGetMigrationProjectResult(GetMigrationProjectResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetMigrationProjectResult( + description=self.description, + instance_profile_arn=self.instance_profile_arn, + instance_profile_name=self.instance_profile_name, + migration_project_arn=self.migration_project_arn, + migration_project_creation_time=self.migration_project_creation_time, + migration_project_name=self.migration_project_name, + schema_conversion_application_attributes=self.schema_conversion_application_attributes, + source_data_provider_descriptors=self.source_data_provider_descriptors, + tags=self.tags, + target_data_provider_descriptors=self.target_data_provider_descriptors, + transformation_rules=self.transformation_rules) + + +def get_migration_project(migration_project_arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMigrationProjectResult: + """ + Resource schema for AWS::DMS::MigrationProject + + + :param str migration_project_arn: The property describes an ARN of the migration project. + """ + __args__ = dict() + __args__['migrationProjectArn'] = migration_project_arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:dms:getMigrationProject', __args__, opts=opts, typ=GetMigrationProjectResult).value + + return AwaitableGetMigrationProjectResult( + description=pulumi.get(__ret__, 'description'), + instance_profile_arn=pulumi.get(__ret__, 'instance_profile_arn'), + instance_profile_name=pulumi.get(__ret__, 'instance_profile_name'), + migration_project_arn=pulumi.get(__ret__, 'migration_project_arn'), + migration_project_creation_time=pulumi.get(__ret__, 'migration_project_creation_time'), + migration_project_name=pulumi.get(__ret__, 'migration_project_name'), + schema_conversion_application_attributes=pulumi.get(__ret__, 'schema_conversion_application_attributes'), + source_data_provider_descriptors=pulumi.get(__ret__, 'source_data_provider_descriptors'), + tags=pulumi.get(__ret__, 'tags'), + target_data_provider_descriptors=pulumi.get(__ret__, 'target_data_provider_descriptors'), + transformation_rules=pulumi.get(__ret__, 'transformation_rules')) + + +@_utilities.lift_output_func(get_migration_project) +def get_migration_project_output(migration_project_arn: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetMigrationProjectResult]: + """ + Resource schema for AWS::DMS::MigrationProject + + + :param str migration_project_arn: The property describes an ARN of the migration project. + """ + ... diff --git a/sdk/python/pulumi_aws_native/dms/get_replication_config.py b/sdk/python/pulumi_aws_native/dms/get_replication_config.py index ba373aad70..1fc6d0b133 100644 --- a/sdk/python/pulumi_aws_native/dms/get_replication_config.py +++ b/sdk/python/pulumi_aws_native/dms/get_replication_config.py @@ -20,7 +20,7 @@ @pulumi.output_type class GetReplicationConfigResult: - def __init__(__self__, compute_config=None, replication_config_arn=None, replication_config_identifier=None, replication_settings=None, replication_type=None, resource_identifier=None, source_endpoint_arn=None, supplemental_settings=None, table_mappings=None, tags=None, target_endpoint_arn=None): + def __init__(__self__, compute_config=None, replication_config_arn=None, replication_config_identifier=None, replication_settings=None, replication_type=None, source_endpoint_arn=None, supplemental_settings=None, table_mappings=None, tags=None, target_endpoint_arn=None): if compute_config and not isinstance(compute_config, dict): raise TypeError("Expected argument 'compute_config' to be a dict") pulumi.set(__self__, "compute_config", compute_config) @@ -36,9 +36,6 @@ def __init__(__self__, compute_config=None, replication_config_arn=None, replica if replication_type and not isinstance(replication_type, str): raise TypeError("Expected argument 'replication_type' to be a str") pulumi.set(__self__, "replication_type", replication_type) - if resource_identifier and not isinstance(resource_identifier, str): - raise TypeError("Expected argument 'resource_identifier' to be a str") - pulumi.set(__self__, "resource_identifier", resource_identifier) if source_endpoint_arn and not isinstance(source_endpoint_arn, str): raise TypeError("Expected argument 'source_endpoint_arn' to be a str") pulumi.set(__self__, "source_endpoint_arn", source_endpoint_arn) @@ -92,14 +89,6 @@ def replication_type(self) -> Optional['ReplicationConfigReplicationType']: """ return pulumi.get(self, "replication_type") - @property - @pulumi.getter(name="resourceIdentifier") - def resource_identifier(self) -> Optional[str]: - """ - 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 - """ - return pulumi.get(self, "resource_identifier") - @property @pulumi.getter(name="sourceEndpointArn") def source_endpoint_arn(self) -> Optional[str]: @@ -152,7 +141,6 @@ def __await__(self): replication_config_identifier=self.replication_config_identifier, replication_settings=self.replication_settings, replication_type=self.replication_type, - resource_identifier=self.resource_identifier, source_endpoint_arn=self.source_endpoint_arn, supplemental_settings=self.supplemental_settings, table_mappings=self.table_mappings, @@ -179,7 +167,6 @@ def get_replication_config(replication_config_arn: Optional[str] = None, replication_config_identifier=pulumi.get(__ret__, 'replication_config_identifier'), replication_settings=pulumi.get(__ret__, 'replication_settings'), replication_type=pulumi.get(__ret__, 'replication_type'), - resource_identifier=pulumi.get(__ret__, 'resource_identifier'), source_endpoint_arn=pulumi.get(__ret__, 'source_endpoint_arn'), supplemental_settings=pulumi.get(__ret__, 'supplemental_settings'), table_mappings=pulumi.get(__ret__, 'table_mappings'), diff --git a/sdk/python/pulumi_aws_native/dms/instance_profile.py b/sdk/python/pulumi_aws_native/dms/instance_profile.py new file mode 100644 index 0000000000..867e904c41 --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/instance_profile.py @@ -0,0 +1,403 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['InstanceProfileArgs', 'InstanceProfile'] + +@pulumi.input_type +class InstanceProfileArgs: + def __init__(__self__, *, + availability_zone: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + kms_key_arn: Optional[pulumi.Input[str]] = None, + network_type: Optional[pulumi.Input['InstanceProfileNetworkType']] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + subnet_group_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceProfileTagArgs']]]] = None, + vpc_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a InstanceProfile resource. + :param pulumi.Input[str] availability_zone: The property describes an availability zone of the instance profile. + :param pulumi.Input[str] description: The optional description of the instance profile. + :param pulumi.Input[str] instance_profile_identifier: The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + :param pulumi.Input[str] instance_profile_name: The property describes a name for the instance profile. + :param pulumi.Input[str] kms_key_arn: The property describes kms key arn for the instance profile. + :param pulumi.Input['InstanceProfileNetworkType'] network_type: The property describes a network type for the instance profile. + :param pulumi.Input[bool] publicly_accessible: The property describes the publicly accessible of the instance profile + :param pulumi.Input[str] subnet_group_identifier: The property describes a subnet group identifier for the instance profile. + :param pulumi.Input[Sequence[pulumi.Input['InstanceProfileTagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_groups: The property describes vps security groups for the instance profile. + """ + if availability_zone is not None: + pulumi.set(__self__, "availability_zone", availability_zone) + if description is not None: + pulumi.set(__self__, "description", description) + if instance_profile_identifier is not None: + pulumi.set(__self__, "instance_profile_identifier", instance_profile_identifier) + if instance_profile_name is not None: + pulumi.set(__self__, "instance_profile_name", instance_profile_name) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if network_type is not None: + pulumi.set(__self__, "network_type", network_type) + if publicly_accessible is not None: + pulumi.set(__self__, "publicly_accessible", publicly_accessible) + if subnet_group_identifier is not None: + pulumi.set(__self__, "subnet_group_identifier", subnet_group_identifier) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if vpc_security_groups is not None: + pulumi.set(__self__, "vpc_security_groups", vpc_security_groups) + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an availability zone of the instance profile. + """ + return pulumi.get(self, "availability_zone") + + @availability_zone.setter + def availability_zone(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "availability_zone", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The optional description of the instance profile. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="instanceProfileIdentifier") + def instance_profile_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + """ + return pulumi.get(self, "instance_profile_identifier") + + @instance_profile_identifier.setter + def instance_profile_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_profile_identifier", value) + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> Optional[pulumi.Input[str]]: + """ + The property describes a name for the instance profile. + """ + return pulumi.get(self, "instance_profile_name") + + @instance_profile_name.setter + def instance_profile_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_profile_name", value) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The property describes kms key arn for the instance profile. + """ + return pulumi.get(self, "kms_key_arn") + + @kms_key_arn.setter + def kms_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_arn", value) + + @property + @pulumi.getter(name="networkType") + def network_type(self) -> Optional[pulumi.Input['InstanceProfileNetworkType']]: + """ + The property describes a network type for the instance profile. + """ + return pulumi.get(self, "network_type") + + @network_type.setter + def network_type(self, value: Optional[pulumi.Input['InstanceProfileNetworkType']]): + pulumi.set(self, "network_type", value) + + @property + @pulumi.getter(name="publiclyAccessible") + def publicly_accessible(self) -> Optional[pulumi.Input[bool]]: + """ + The property describes the publicly accessible of the instance profile + """ + return pulumi.get(self, "publicly_accessible") + + @publicly_accessible.setter + def publicly_accessible(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "publicly_accessible", value) + + @property + @pulumi.getter(name="subnetGroupIdentifier") + def subnet_group_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The property describes a subnet group identifier for the instance profile. + """ + return pulumi.get(self, "subnet_group_identifier") + + @subnet_group_identifier.setter + def subnet_group_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "subnet_group_identifier", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceProfileTagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceProfileTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="vpcSecurityGroups") + def vpc_security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The property describes vps security groups for the instance profile. + """ + return pulumi.get(self, "vpc_security_groups") + + @vpc_security_groups.setter + def vpc_security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "vpc_security_groups", value) + + +class InstanceProfile(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_zone: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + kms_key_arn: Optional[pulumi.Input[str]] = None, + network_type: Optional[pulumi.Input['InstanceProfileNetworkType']] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + subnet_group_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceProfileTagArgs']]]]] = None, + vpc_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource schema for AWS::DMS::InstanceProfile. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] availability_zone: The property describes an availability zone of the instance profile. + :param pulumi.Input[str] description: The optional description of the instance profile. + :param pulumi.Input[str] instance_profile_identifier: The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + :param pulumi.Input[str] instance_profile_name: The property describes a name for the instance profile. + :param pulumi.Input[str] kms_key_arn: The property describes kms key arn for the instance profile. + :param pulumi.Input['InstanceProfileNetworkType'] network_type: The property describes a network type for the instance profile. + :param pulumi.Input[bool] publicly_accessible: The property describes the publicly accessible of the instance profile + :param pulumi.Input[str] subnet_group_identifier: The property describes a subnet group identifier for the instance profile. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceProfileTagArgs']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_security_groups: The property describes vps security groups for the instance profile. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[InstanceProfileArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource schema for AWS::DMS::InstanceProfile. + + :param str resource_name: The name of the resource. + :param InstanceProfileArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(InstanceProfileArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_zone: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + kms_key_arn: Optional[pulumi.Input[str]] = None, + network_type: Optional[pulumi.Input['InstanceProfileNetworkType']] = None, + publicly_accessible: Optional[pulumi.Input[bool]] = None, + subnet_group_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceProfileTagArgs']]]]] = None, + vpc_security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = InstanceProfileArgs.__new__(InstanceProfileArgs) + + __props__.__dict__["availability_zone"] = availability_zone + __props__.__dict__["description"] = description + __props__.__dict__["instance_profile_identifier"] = instance_profile_identifier + __props__.__dict__["instance_profile_name"] = instance_profile_name + __props__.__dict__["kms_key_arn"] = kms_key_arn + __props__.__dict__["network_type"] = network_type + __props__.__dict__["publicly_accessible"] = publicly_accessible + __props__.__dict__["subnet_group_identifier"] = subnet_group_identifier + __props__.__dict__["tags"] = tags + __props__.__dict__["vpc_security_groups"] = vpc_security_groups + __props__.__dict__["instance_profile_arn"] = None + __props__.__dict__["instance_profile_creation_time"] = None + super(InstanceProfile, __self__).__init__( + 'aws-native:dms:InstanceProfile', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'InstanceProfile': + """ + Get an existing InstanceProfile resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = InstanceProfileArgs.__new__(InstanceProfileArgs) + + __props__.__dict__["availability_zone"] = None + __props__.__dict__["description"] = None + __props__.__dict__["instance_profile_arn"] = None + __props__.__dict__["instance_profile_creation_time"] = None + __props__.__dict__["instance_profile_identifier"] = None + __props__.__dict__["instance_profile_name"] = None + __props__.__dict__["kms_key_arn"] = None + __props__.__dict__["network_type"] = None + __props__.__dict__["publicly_accessible"] = None + __props__.__dict__["subnet_group_identifier"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["vpc_security_groups"] = None + return InstanceProfile(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an availability zone of the instance profile. + """ + return pulumi.get(self, "availability_zone") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The optional description of the instance profile. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="instanceProfileArn") + def instance_profile_arn(self) -> pulumi.Output[str]: + """ + The property describes an ARN of the instance profile. + """ + return pulumi.get(self, "instance_profile_arn") + + @property + @pulumi.getter(name="instanceProfileCreationTime") + def instance_profile_creation_time(self) -> pulumi.Output[str]: + """ + The property describes a creating time of the instance profile. + """ + return pulumi.get(self, "instance_profile_creation_time") + + @property + @pulumi.getter(name="instanceProfileIdentifier") + def instance_profile_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an identifier for the instance profile. It is used for describing/deleting/modifying. Can be name/arn + """ + return pulumi.get(self, "instance_profile_identifier") + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> pulumi.Output[Optional[str]]: + """ + The property describes a name for the instance profile. + """ + return pulumi.get(self, "instance_profile_name") + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> pulumi.Output[Optional[str]]: + """ + The property describes kms key arn for the instance profile. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter(name="networkType") + def network_type(self) -> pulumi.Output[Optional['InstanceProfileNetworkType']]: + """ + The property describes a network type for the instance profile. + """ + return pulumi.get(self, "network_type") + + @property + @pulumi.getter(name="publiclyAccessible") + def publicly_accessible(self) -> pulumi.Output[Optional[bool]]: + """ + The property describes the publicly accessible of the instance profile + """ + return pulumi.get(self, "publicly_accessible") + + @property + @pulumi.getter(name="subnetGroupIdentifier") + def subnet_group_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The property describes a subnet group identifier for the instance profile. + """ + return pulumi.get(self, "subnet_group_identifier") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceProfileTag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="vpcSecurityGroups") + def vpc_security_groups(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The property describes vps security groups for the instance profile. + """ + return pulumi.get(self, "vpc_security_groups") + diff --git a/sdk/python/pulumi_aws_native/dms/migration_project.py b/sdk/python/pulumi_aws_native/dms/migration_project.py new file mode 100644 index 0000000000..50a5766a64 --- /dev/null +++ b/sdk/python/pulumi_aws_native/dms/migration_project.py @@ -0,0 +1,450 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['MigrationProjectArgs', 'MigrationProject'] + +@pulumi.input_type +class MigrationProjectArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + instance_profile_arn: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + migration_project_creation_time: Optional[pulumi.Input[str]] = None, + migration_project_identifier: Optional[pulumi.Input[str]] = None, + migration_project_name: Optional[pulumi.Input[str]] = None, + schema_conversion_application_attributes: Optional[pulumi.Input['SchemaConversionApplicationAttributesPropertiesArgs']] = None, + source_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectTagArgs']]]] = None, + target_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]] = None, + transformation_rules: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a MigrationProject resource. + :param pulumi.Input[str] description: The optional description of the migration project. + :param pulumi.Input[str] instance_profile_arn: The property describes an instance profile arn for the migration project. For read + :param pulumi.Input[str] instance_profile_identifier: The property describes an instance profile identifier for the migration project. For create + :param pulumi.Input[str] instance_profile_name: The property describes an instance profile name for the migration project. For read + :param pulumi.Input[str] migration_project_creation_time: The property describes a creating time of the migration project. + :param pulumi.Input[str] migration_project_identifier: The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + :param pulumi.Input[str] migration_project_name: The property describes a name to identify the migration project. + :param pulumi.Input['SchemaConversionApplicationAttributesPropertiesArgs'] schema_conversion_application_attributes: The property describes schema conversion application attributes for the migration project. + :param pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]] source_data_provider_descriptors: The property describes source data provider descriptors for the migration project. + :param pulumi.Input[Sequence[pulumi.Input['MigrationProjectTagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]] target_data_provider_descriptors: The property describes target data provider descriptors for the migration project. + :param pulumi.Input[str] transformation_rules: The property describes transformation rules for the migration project. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if instance_profile_arn is not None: + pulumi.set(__self__, "instance_profile_arn", instance_profile_arn) + if instance_profile_identifier is not None: + pulumi.set(__self__, "instance_profile_identifier", instance_profile_identifier) + if instance_profile_name is not None: + pulumi.set(__self__, "instance_profile_name", instance_profile_name) + if migration_project_creation_time is not None: + pulumi.set(__self__, "migration_project_creation_time", migration_project_creation_time) + if migration_project_identifier is not None: + pulumi.set(__self__, "migration_project_identifier", migration_project_identifier) + if migration_project_name is not None: + pulumi.set(__self__, "migration_project_name", migration_project_name) + if schema_conversion_application_attributes is not None: + pulumi.set(__self__, "schema_conversion_application_attributes", schema_conversion_application_attributes) + if source_data_provider_descriptors is not None: + pulumi.set(__self__, "source_data_provider_descriptors", source_data_provider_descriptors) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if target_data_provider_descriptors is not None: + pulumi.set(__self__, "target_data_provider_descriptors", target_data_provider_descriptors) + if transformation_rules is not None: + pulumi.set(__self__, "transformation_rules", transformation_rules) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The optional description of the migration project. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="instanceProfileArn") + def instance_profile_arn(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an instance profile arn for the migration project. For read + """ + return pulumi.get(self, "instance_profile_arn") + + @instance_profile_arn.setter + def instance_profile_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_profile_arn", value) + + @property + @pulumi.getter(name="instanceProfileIdentifier") + def instance_profile_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an instance profile identifier for the migration project. For create + """ + return pulumi.get(self, "instance_profile_identifier") + + @instance_profile_identifier.setter + def instance_profile_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_profile_identifier", value) + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an instance profile name for the migration project. For read + """ + return pulumi.get(self, "instance_profile_name") + + @instance_profile_name.setter + def instance_profile_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_profile_name", value) + + @property + @pulumi.getter(name="migrationProjectCreationTime") + def migration_project_creation_time(self) -> Optional[pulumi.Input[str]]: + """ + The property describes a creating time of the migration project. + """ + return pulumi.get(self, "migration_project_creation_time") + + @migration_project_creation_time.setter + def migration_project_creation_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "migration_project_creation_time", value) + + @property + @pulumi.getter(name="migrationProjectIdentifier") + def migration_project_identifier(self) -> Optional[pulumi.Input[str]]: + """ + The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + """ + return pulumi.get(self, "migration_project_identifier") + + @migration_project_identifier.setter + def migration_project_identifier(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "migration_project_identifier", value) + + @property + @pulumi.getter(name="migrationProjectName") + def migration_project_name(self) -> Optional[pulumi.Input[str]]: + """ + The property describes a name to identify the migration project. + """ + return pulumi.get(self, "migration_project_name") + + @migration_project_name.setter + def migration_project_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "migration_project_name", value) + + @property + @pulumi.getter(name="schemaConversionApplicationAttributes") + def schema_conversion_application_attributes(self) -> Optional[pulumi.Input['SchemaConversionApplicationAttributesPropertiesArgs']]: + """ + The property describes schema conversion application attributes for the migration project. + """ + return pulumi.get(self, "schema_conversion_application_attributes") + + @schema_conversion_application_attributes.setter + def schema_conversion_application_attributes(self, value: Optional[pulumi.Input['SchemaConversionApplicationAttributesPropertiesArgs']]): + pulumi.set(self, "schema_conversion_application_attributes", value) + + @property + @pulumi.getter(name="sourceDataProviderDescriptors") + def source_data_provider_descriptors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]]: + """ + The property describes source data provider descriptors for the migration project. + """ + return pulumi.get(self, "source_data_provider_descriptors") + + @source_data_provider_descriptors.setter + def source_data_provider_descriptors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]]): + pulumi.set(self, "source_data_provider_descriptors", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectTagArgs']]]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectTagArgs']]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="targetDataProviderDescriptors") + def target_data_provider_descriptors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]]: + """ + The property describes target data provider descriptors for the migration project. + """ + return pulumi.get(self, "target_data_provider_descriptors") + + @target_data_provider_descriptors.setter + def target_data_provider_descriptors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MigrationProjectDataProviderDescriptorArgs']]]]): + pulumi.set(self, "target_data_provider_descriptors", value) + + @property + @pulumi.getter(name="transformationRules") + def transformation_rules(self) -> Optional[pulumi.Input[str]]: + """ + The property describes transformation rules for the migration project. + """ + return pulumi.get(self, "transformation_rules") + + @transformation_rules.setter + def transformation_rules(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transformation_rules", value) + + +class MigrationProject(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + instance_profile_arn: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + migration_project_creation_time: Optional[pulumi.Input[str]] = None, + migration_project_identifier: Optional[pulumi.Input[str]] = None, + migration_project_name: Optional[pulumi.Input[str]] = None, + schema_conversion_application_attributes: Optional[pulumi.Input[pulumi.InputType['SchemaConversionApplicationAttributesPropertiesArgs']]] = None, + source_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectTagArgs']]]]] = None, + target_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]]] = None, + transformation_rules: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource schema for AWS::DMS::MigrationProject + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The optional description of the migration project. + :param pulumi.Input[str] instance_profile_arn: The property describes an instance profile arn for the migration project. For read + :param pulumi.Input[str] instance_profile_identifier: The property describes an instance profile identifier for the migration project. For create + :param pulumi.Input[str] instance_profile_name: The property describes an instance profile name for the migration project. For read + :param pulumi.Input[str] migration_project_creation_time: The property describes a creating time of the migration project. + :param pulumi.Input[str] migration_project_identifier: The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + :param pulumi.Input[str] migration_project_name: The property describes a name to identify the migration project. + :param pulumi.Input[pulumi.InputType['SchemaConversionApplicationAttributesPropertiesArgs']] schema_conversion_application_attributes: The property describes schema conversion application attributes for the migration project. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]] source_data_provider_descriptors: The property describes source data provider descriptors for the migration project. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectTagArgs']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]] target_data_provider_descriptors: The property describes target data provider descriptors for the migration project. + :param pulumi.Input[str] transformation_rules: The property describes transformation rules for the migration project. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[MigrationProjectArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource schema for AWS::DMS::MigrationProject + + :param str resource_name: The name of the resource. + :param MigrationProjectArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(MigrationProjectArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + instance_profile_arn: Optional[pulumi.Input[str]] = None, + instance_profile_identifier: Optional[pulumi.Input[str]] = None, + instance_profile_name: Optional[pulumi.Input[str]] = None, + migration_project_creation_time: Optional[pulumi.Input[str]] = None, + migration_project_identifier: Optional[pulumi.Input[str]] = None, + migration_project_name: Optional[pulumi.Input[str]] = None, + schema_conversion_application_attributes: Optional[pulumi.Input[pulumi.InputType['SchemaConversionApplicationAttributesPropertiesArgs']]] = None, + source_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectTagArgs']]]]] = None, + target_data_provider_descriptors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MigrationProjectDataProviderDescriptorArgs']]]]] = None, + transformation_rules: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = MigrationProjectArgs.__new__(MigrationProjectArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["instance_profile_arn"] = instance_profile_arn + __props__.__dict__["instance_profile_identifier"] = instance_profile_identifier + __props__.__dict__["instance_profile_name"] = instance_profile_name + __props__.__dict__["migration_project_creation_time"] = migration_project_creation_time + __props__.__dict__["migration_project_identifier"] = migration_project_identifier + __props__.__dict__["migration_project_name"] = migration_project_name + __props__.__dict__["schema_conversion_application_attributes"] = schema_conversion_application_attributes + __props__.__dict__["source_data_provider_descriptors"] = source_data_provider_descriptors + __props__.__dict__["tags"] = tags + __props__.__dict__["target_data_provider_descriptors"] = target_data_provider_descriptors + __props__.__dict__["transformation_rules"] = transformation_rules + __props__.__dict__["migration_project_arn"] = None + super(MigrationProject, __self__).__init__( + 'aws-native:dms:MigrationProject', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'MigrationProject': + """ + Get an existing MigrationProject resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = MigrationProjectArgs.__new__(MigrationProjectArgs) + + __props__.__dict__["description"] = None + __props__.__dict__["instance_profile_arn"] = None + __props__.__dict__["instance_profile_identifier"] = None + __props__.__dict__["instance_profile_name"] = None + __props__.__dict__["migration_project_arn"] = None + __props__.__dict__["migration_project_creation_time"] = None + __props__.__dict__["migration_project_identifier"] = None + __props__.__dict__["migration_project_name"] = None + __props__.__dict__["schema_conversion_application_attributes"] = None + __props__.__dict__["source_data_provider_descriptors"] = None + __props__.__dict__["tags"] = None + __props__.__dict__["target_data_provider_descriptors"] = None + __props__.__dict__["transformation_rules"] = None + return MigrationProject(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + The optional description of the migration project. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="instanceProfileArn") + def instance_profile_arn(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an instance profile arn for the migration project. For read + """ + return pulumi.get(self, "instance_profile_arn") + + @property + @pulumi.getter(name="instanceProfileIdentifier") + def instance_profile_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an instance profile identifier for the migration project. For create + """ + return pulumi.get(self, "instance_profile_identifier") + + @property + @pulumi.getter(name="instanceProfileName") + def instance_profile_name(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an instance profile name for the migration project. For read + """ + return pulumi.get(self, "instance_profile_name") + + @property + @pulumi.getter(name="migrationProjectArn") + def migration_project_arn(self) -> pulumi.Output[str]: + """ + The property describes an ARN of the migration project. + """ + return pulumi.get(self, "migration_project_arn") + + @property + @pulumi.getter(name="migrationProjectCreationTime") + def migration_project_creation_time(self) -> pulumi.Output[Optional[str]]: + """ + The property describes a creating time of the migration project. + """ + return pulumi.get(self, "migration_project_creation_time") + + @property + @pulumi.getter(name="migrationProjectIdentifier") + def migration_project_identifier(self) -> pulumi.Output[Optional[str]]: + """ + The property describes an identifier for the migration project. It is used for describing/deleting/modifying can be name/arn + """ + return pulumi.get(self, "migration_project_identifier") + + @property + @pulumi.getter(name="migrationProjectName") + def migration_project_name(self) -> pulumi.Output[Optional[str]]: + """ + The property describes a name to identify the migration project. + """ + return pulumi.get(self, "migration_project_name") + + @property + @pulumi.getter(name="schemaConversionApplicationAttributes") + def schema_conversion_application_attributes(self) -> pulumi.Output[Optional['outputs.SchemaConversionApplicationAttributesProperties']]: + """ + The property describes schema conversion application attributes for the migration project. + """ + return pulumi.get(self, "schema_conversion_application_attributes") + + @property + @pulumi.getter(name="sourceDataProviderDescriptors") + def source_data_provider_descriptors(self) -> pulumi.Output[Optional[Sequence['outputs.MigrationProjectDataProviderDescriptor']]]: + """ + The property describes source data provider descriptors for the migration project. + """ + return pulumi.get(self, "source_data_provider_descriptors") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['outputs.MigrationProjectTag']]]: + """ + An array of key-value pairs to apply to this resource. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="targetDataProviderDescriptors") + def target_data_provider_descriptors(self) -> pulumi.Output[Optional[Sequence['outputs.MigrationProjectDataProviderDescriptor']]]: + """ + The property describes target data provider descriptors for the migration project. + """ + return pulumi.get(self, "target_data_provider_descriptors") + + @property + @pulumi.getter(name="transformationRules") + def transformation_rules(self) -> pulumi.Output[Optional[str]]: + """ + The property describes transformation rules for the migration project. + """ + return pulumi.get(self, "transformation_rules") + diff --git a/sdk/python/pulumi_aws_native/dms/outputs.py b/sdk/python/pulumi_aws_native/dms/outputs.py index 3919b42808..1b5edbe0cc 100644 --- a/sdk/python/pulumi_aws_native/dms/outputs.py +++ b/sdk/python/pulumi_aws_native/dms/outputs.py @@ -8,9 +8,11 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs from ._enums import * __all__ = [ + 'DataProviderTag', 'EndpointDocDbSettings', 'EndpointDynamoDbSettings', 'EndpointElasticsearchSettings', @@ -30,13 +32,58 @@ 'EndpointSybaseSettings', 'EndpointTag', 'EventSubscriptionTag', + 'InstanceProfileTag', + 'MigrationProjectDataProviderDescriptor', + 'MigrationProjectTag', 'ReplicationConfigComputeConfig', 'ReplicationConfigTag', 'ReplicationInstanceTag', 'ReplicationSubnetGroupTag', 'ReplicationTaskTag', + 'SchemaConversionApplicationAttributesProperties', + 'Settings0Properties', + 'Settings0PropertiesPostgreSqlSettingsProperties', + 'Settings1Properties', + 'Settings1PropertiesMySqlSettingsProperties', + 'Settings2Properties', + 'Settings2PropertiesOracleSettingsProperties', + 'Settings3Properties', + 'Settings3PropertiesMicrosoftSqlServerSettingsProperties', ] +@pulumi.output_type +class DataProviderTag(dict): + """ + A key-value pair to associate with a resource. + """ + def __init__(__self__, *, + key: str, + value: str): + """ + A key-value pair to associate with a resource. + :param str key: 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 -. + :param str value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class EndpointDocDbSettings(dict): @staticmethod @@ -348,6 +395,12 @@ def __key_warning(key: str): suggest = None if key == "currentLsn": suggest = "current_lsn" + elif key == "keepCsvFiles": + suggest = "keep_csv_files" + elif key == "loadTimeout": + suggest = "load_timeout" + elif key == "maxFileSize": + suggest = "max_file_size" elif key == "maxKBytesPerRead": suggest = "max_k_bytes_per_read" elif key == "secretsManagerAccessRoleArn": @@ -356,6 +409,8 @@ def __key_warning(key: str): suggest = "secrets_manager_secret_id" elif key == "setDataCaptureChanges": suggest = "set_data_capture_changes" + elif key == "writeBufferSize": + suggest = "write_buffer_size" if suggest: pulumi.log.warn(f"Key '{key}' not found in EndpointIbmDb2Settings. Access the value via the '{suggest}' property getter instead.") @@ -370,12 +425,22 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, current_lsn: Optional[str] = None, + keep_csv_files: Optional[bool] = None, + load_timeout: Optional[int] = None, + max_file_size: Optional[int] = None, max_k_bytes_per_read: Optional[int] = None, secrets_manager_access_role_arn: Optional[str] = None, secrets_manager_secret_id: Optional[str] = None, - set_data_capture_changes: Optional[bool] = None): + set_data_capture_changes: Optional[bool] = None, + write_buffer_size: Optional[int] = None): if current_lsn is not None: pulumi.set(__self__, "current_lsn", current_lsn) + if keep_csv_files is not None: + pulumi.set(__self__, "keep_csv_files", keep_csv_files) + if load_timeout is not None: + pulumi.set(__self__, "load_timeout", load_timeout) + if max_file_size is not None: + pulumi.set(__self__, "max_file_size", max_file_size) if max_k_bytes_per_read is not None: pulumi.set(__self__, "max_k_bytes_per_read", max_k_bytes_per_read) if secrets_manager_access_role_arn is not None: @@ -384,12 +449,29 @@ def __init__(__self__, *, pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id) if set_data_capture_changes is not None: pulumi.set(__self__, "set_data_capture_changes", set_data_capture_changes) + if write_buffer_size is not None: + pulumi.set(__self__, "write_buffer_size", write_buffer_size) @property @pulumi.getter(name="currentLsn") def current_lsn(self) -> Optional[str]: return pulumi.get(self, "current_lsn") + @property + @pulumi.getter(name="keepCsvFiles") + def keep_csv_files(self) -> Optional[bool]: + return pulumi.get(self, "keep_csv_files") + + @property + @pulumi.getter(name="loadTimeout") + def load_timeout(self) -> Optional[int]: + return pulumi.get(self, "load_timeout") + + @property + @pulumi.getter(name="maxFileSize") + def max_file_size(self) -> Optional[int]: + return pulumi.get(self, "max_file_size") + @property @pulumi.getter(name="maxKBytesPerRead") def max_k_bytes_per_read(self) -> Optional[int]: @@ -410,6 +492,11 @@ def secrets_manager_secret_id(self) -> Optional[str]: def set_data_capture_changes(self) -> Optional[bool]: return pulumi.get(self, "set_data_capture_changes") + @property + @pulumi.getter(name="writeBufferSize") + def write_buffer_size(self) -> Optional[int]: + return pulumi.get(self, "write_buffer_size") + @pulumi.output_type class EndpointKafkaSettings(dict): @@ -2679,6 +2766,148 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class InstanceProfileTag(dict): + """ + A key-value pair to associate with a resource. + """ + def __init__(__self__, *, + key: str, + value: str): + """ + A key-value pair to associate with a resource. + :param str key: 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 -. + :param str value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class MigrationProjectDataProviderDescriptor(dict): + """ + It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataProviderArn": + suggest = "data_provider_arn" + elif key == "dataProviderIdentifier": + suggest = "data_provider_identifier" + elif key == "dataProviderName": + suggest = "data_provider_name" + elif key == "secretsManagerAccessRoleArn": + suggest = "secrets_manager_access_role_arn" + elif key == "secretsManagerSecretId": + suggest = "secrets_manager_secret_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MigrationProjectDataProviderDescriptor. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MigrationProjectDataProviderDescriptor.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MigrationProjectDataProviderDescriptor.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + data_provider_arn: Optional[str] = None, + data_provider_identifier: Optional[str] = None, + data_provider_name: Optional[str] = None, + secrets_manager_access_role_arn: Optional[str] = None, + secrets_manager_secret_id: Optional[str] = None): + """ + It is an object that describes Source and Target DataProviders and credentials for connecting to databases that are used in MigrationProject + """ + if data_provider_arn is not None: + pulumi.set(__self__, "data_provider_arn", data_provider_arn) + if data_provider_identifier is not None: + pulumi.set(__self__, "data_provider_identifier", data_provider_identifier) + if data_provider_name is not None: + pulumi.set(__self__, "data_provider_name", data_provider_name) + if secrets_manager_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_access_role_arn", secrets_manager_access_role_arn) + if secrets_manager_secret_id is not None: + pulumi.set(__self__, "secrets_manager_secret_id", secrets_manager_secret_id) + + @property + @pulumi.getter(name="dataProviderArn") + def data_provider_arn(self) -> Optional[str]: + return pulumi.get(self, "data_provider_arn") + + @property + @pulumi.getter(name="dataProviderIdentifier") + def data_provider_identifier(self) -> Optional[str]: + return pulumi.get(self, "data_provider_identifier") + + @property + @pulumi.getter(name="dataProviderName") + def data_provider_name(self) -> Optional[str]: + return pulumi.get(self, "data_provider_name") + + @property + @pulumi.getter(name="secretsManagerAccessRoleArn") + def secrets_manager_access_role_arn(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_access_role_arn") + + @property + @pulumi.getter(name="secretsManagerSecretId") + def secrets_manager_secret_id(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_secret_id") + + +@pulumi.output_type +class MigrationProjectTag(dict): + """ + A key-value pair to associate with a resource. + """ + def __init__(__self__, *, + key: str, + value: str): + """ + A key-value pair to associate with a resource. + :param str key: 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 -. + :param str value: 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 -. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + """ + 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 -. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class ReplicationConfigComputeConfig(dict): """ @@ -2886,3 +3115,505 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class SchemaConversionApplicationAttributesProperties(dict): + """ + The property describes schema conversion application attributes for the migration project. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3BucketPath": + suggest = "s3_bucket_path" + elif key == "s3BucketRoleArn": + suggest = "s3_bucket_role_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SchemaConversionApplicationAttributesProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SchemaConversionApplicationAttributesProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SchemaConversionApplicationAttributesProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_bucket_path: Optional[str] = None, + s3_bucket_role_arn: Optional[str] = None): + """ + The property describes schema conversion application attributes for the migration project. + """ + if s3_bucket_path is not None: + pulumi.set(__self__, "s3_bucket_path", s3_bucket_path) + if s3_bucket_role_arn is not None: + pulumi.set(__self__, "s3_bucket_role_arn", s3_bucket_role_arn) + + @property + @pulumi.getter(name="s3BucketPath") + def s3_bucket_path(self) -> Optional[str]: + return pulumi.get(self, "s3_bucket_path") + + @property + @pulumi.getter(name="s3BucketRoleArn") + def s3_bucket_role_arn(self) -> Optional[str]: + return pulumi.get(self, "s3_bucket_role_arn") + + +@pulumi.output_type +class Settings0Properties(dict): + """ + PostgreSqlSettings property identifier. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "postgreSqlSettings": + suggest = "postgre_sql_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings0Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings0Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings0Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + postgre_sql_settings: Optional['outputs.Settings0PropertiesPostgreSqlSettingsProperties'] = None): + """ + PostgreSqlSettings property identifier. + """ + if postgre_sql_settings is not None: + pulumi.set(__self__, "postgre_sql_settings", postgre_sql_settings) + + @property + @pulumi.getter(name="postgreSqlSettings") + def postgre_sql_settings(self) -> Optional['outputs.Settings0PropertiesPostgreSqlSettingsProperties']: + return pulumi.get(self, "postgre_sql_settings") + + +@pulumi.output_type +class Settings0PropertiesPostgreSqlSettingsProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateArn": + suggest = "certificate_arn" + elif key == "databaseName": + suggest = "database_name" + elif key == "serverName": + suggest = "server_name" + elif key == "sslMode": + suggest = "ssl_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings0PropertiesPostgreSqlSettingsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings0PropertiesPostgreSqlSettingsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings0PropertiesPostgreSqlSettingsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_arn: Optional[str] = None, + database_name: Optional[str] = None, + port: Optional[int] = None, + server_name: Optional[str] = None, + ssl_mode: Optional['DataProviderDmsSslModeValue'] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[str]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[str]: + return pulumi.get(self, "server_name") + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional['DataProviderDmsSslModeValue']: + return pulumi.get(self, "ssl_mode") + + +@pulumi.output_type +class Settings1Properties(dict): + """ + MySqlSettings property identifier. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "mySqlSettings": + suggest = "my_sql_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings1Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings1Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings1Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + my_sql_settings: Optional['outputs.Settings1PropertiesMySqlSettingsProperties'] = None): + """ + MySqlSettings property identifier. + """ + if my_sql_settings is not None: + pulumi.set(__self__, "my_sql_settings", my_sql_settings) + + @property + @pulumi.getter(name="mySqlSettings") + def my_sql_settings(self) -> Optional['outputs.Settings1PropertiesMySqlSettingsProperties']: + return pulumi.get(self, "my_sql_settings") + + +@pulumi.output_type +class Settings1PropertiesMySqlSettingsProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateArn": + suggest = "certificate_arn" + elif key == "serverName": + suggest = "server_name" + elif key == "sslMode": + suggest = "ssl_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings1PropertiesMySqlSettingsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings1PropertiesMySqlSettingsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings1PropertiesMySqlSettingsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_arn: Optional[str] = None, + port: Optional[int] = None, + server_name: Optional[str] = None, + ssl_mode: Optional['DataProviderDmsSslModeValue'] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[str]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[str]: + return pulumi.get(self, "server_name") + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional['DataProviderDmsSslModeValue']: + return pulumi.get(self, "ssl_mode") + + +@pulumi.output_type +class Settings2Properties(dict): + """ + OracleSettings property identifier. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "oracleSettings": + suggest = "oracle_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings2Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings2Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings2Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + oracle_settings: Optional['outputs.Settings2PropertiesOracleSettingsProperties'] = None): + """ + OracleSettings property identifier. + """ + if oracle_settings is not None: + pulumi.set(__self__, "oracle_settings", oracle_settings) + + @property + @pulumi.getter(name="oracleSettings") + def oracle_settings(self) -> Optional['outputs.Settings2PropertiesOracleSettingsProperties']: + return pulumi.get(self, "oracle_settings") + + +@pulumi.output_type +class Settings2PropertiesOracleSettingsProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "asmServer": + suggest = "asm_server" + elif key == "certificateArn": + suggest = "certificate_arn" + elif key == "databaseName": + suggest = "database_name" + elif key == "secretsManagerOracleAsmAccessRoleArn": + suggest = "secrets_manager_oracle_asm_access_role_arn" + elif key == "secretsManagerOracleAsmSecretId": + suggest = "secrets_manager_oracle_asm_secret_id" + elif key == "secretsManagerSecurityDbEncryptionAccessRoleArn": + suggest = "secrets_manager_security_db_encryption_access_role_arn" + elif key == "secretsManagerSecurityDbEncryptionSecretId": + suggest = "secrets_manager_security_db_encryption_secret_id" + elif key == "serverName": + suggest = "server_name" + elif key == "sslMode": + suggest = "ssl_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings2PropertiesOracleSettingsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings2PropertiesOracleSettingsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings2PropertiesOracleSettingsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + asm_server: Optional[str] = None, + certificate_arn: Optional[str] = None, + database_name: Optional[str] = None, + port: Optional[int] = None, + secrets_manager_oracle_asm_access_role_arn: Optional[str] = None, + secrets_manager_oracle_asm_secret_id: Optional[str] = None, + secrets_manager_security_db_encryption_access_role_arn: Optional[str] = None, + secrets_manager_security_db_encryption_secret_id: Optional[str] = None, + server_name: Optional[str] = None, + ssl_mode: Optional['DataProviderDmsSslModeValue'] = None): + if asm_server is not None: + pulumi.set(__self__, "asm_server", asm_server) + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if secrets_manager_oracle_asm_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_oracle_asm_access_role_arn", secrets_manager_oracle_asm_access_role_arn) + if secrets_manager_oracle_asm_secret_id is not None: + pulumi.set(__self__, "secrets_manager_oracle_asm_secret_id", secrets_manager_oracle_asm_secret_id) + if secrets_manager_security_db_encryption_access_role_arn is not None: + pulumi.set(__self__, "secrets_manager_security_db_encryption_access_role_arn", secrets_manager_security_db_encryption_access_role_arn) + if secrets_manager_security_db_encryption_secret_id is not None: + pulumi.set(__self__, "secrets_manager_security_db_encryption_secret_id", secrets_manager_security_db_encryption_secret_id) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="asmServer") + def asm_server(self) -> Optional[str]: + return pulumi.get(self, "asm_server") + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[str]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="secretsManagerOracleAsmAccessRoleArn") + def secrets_manager_oracle_asm_access_role_arn(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_oracle_asm_access_role_arn") + + @property + @pulumi.getter(name="secretsManagerOracleAsmSecretId") + def secrets_manager_oracle_asm_secret_id(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_oracle_asm_secret_id") + + @property + @pulumi.getter(name="secretsManagerSecurityDbEncryptionAccessRoleArn") + def secrets_manager_security_db_encryption_access_role_arn(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_security_db_encryption_access_role_arn") + + @property + @pulumi.getter(name="secretsManagerSecurityDbEncryptionSecretId") + def secrets_manager_security_db_encryption_secret_id(self) -> Optional[str]: + return pulumi.get(self, "secrets_manager_security_db_encryption_secret_id") + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[str]: + return pulumi.get(self, "server_name") + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional['DataProviderDmsSslModeValue']: + return pulumi.get(self, "ssl_mode") + + +@pulumi.output_type +class Settings3Properties(dict): + """ + MicrosoftSqlServerSettings property identifier. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "microsoftSqlServerSettings": + suggest = "microsoft_sql_server_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings3Properties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings3Properties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings3Properties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + microsoft_sql_server_settings: Optional['outputs.Settings3PropertiesMicrosoftSqlServerSettingsProperties'] = None): + """ + MicrosoftSqlServerSettings property identifier. + """ + if microsoft_sql_server_settings is not None: + pulumi.set(__self__, "microsoft_sql_server_settings", microsoft_sql_server_settings) + + @property + @pulumi.getter(name="microsoftSqlServerSettings") + def microsoft_sql_server_settings(self) -> Optional['outputs.Settings3PropertiesMicrosoftSqlServerSettingsProperties']: + return pulumi.get(self, "microsoft_sql_server_settings") + + +@pulumi.output_type +class Settings3PropertiesMicrosoftSqlServerSettingsProperties(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "certificateArn": + suggest = "certificate_arn" + elif key == "databaseName": + suggest = "database_name" + elif key == "serverName": + suggest = "server_name" + elif key == "sslMode": + suggest = "ssl_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Settings3PropertiesMicrosoftSqlServerSettingsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Settings3PropertiesMicrosoftSqlServerSettingsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Settings3PropertiesMicrosoftSqlServerSettingsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + certificate_arn: Optional[str] = None, + database_name: Optional[str] = None, + port: Optional[int] = None, + server_name: Optional[str] = None, + ssl_mode: Optional['DataProviderDmsSslModeValue'] = None): + if certificate_arn is not None: + pulumi.set(__self__, "certificate_arn", certificate_arn) + if database_name is not None: + pulumi.set(__self__, "database_name", database_name) + if port is not None: + pulumi.set(__self__, "port", port) + if server_name is not None: + pulumi.set(__self__, "server_name", server_name) + if ssl_mode is not None: + pulumi.set(__self__, "ssl_mode", ssl_mode) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> Optional[str]: + return pulumi.get(self, "certificate_arn") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> Optional[str]: + return pulumi.get(self, "database_name") + + @property + @pulumi.getter + def port(self) -> Optional[int]: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="serverName") + def server_name(self) -> Optional[str]: + return pulumi.get(self, "server_name") + + @property + @pulumi.getter(name="sslMode") + def ssl_mode(self) -> Optional['DataProviderDmsSslModeValue']: + return pulumi.get(self, "ssl_mode") + + diff --git a/sdk/python/pulumi_aws_native/dms/replication_config.py b/sdk/python/pulumi_aws_native/dms/replication_config.py index 446dae6b97..700d8a4869 100644 --- a/sdk/python/pulumi_aws_native/dms/replication_config.py +++ b/sdk/python/pulumi_aws_native/dms/replication_config.py @@ -282,6 +282,8 @@ def _internal_init(__self__, __props__.__dict__["table_mappings"] = table_mappings __props__.__dict__["tags"] = tags __props__.__dict__["target_endpoint_arn"] = target_endpoint_arn + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["resource_identifier"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(ReplicationConfig, __self__).__init__( 'aws-native:dms:ReplicationConfig', resource_name, diff --git a/sdk/python/pulumi_aws_native/ec2/_enums.py b/sdk/python/pulumi_aws_native/ec2/_enums.py index 1ddf3764b4..190646f92b 100644 --- a/sdk/python/pulumi_aws_native/ec2/_enums.py +++ b/sdk/python/pulumi_aws_native/ec2/_enums.py @@ -29,6 +29,8 @@ 'FlowLogLogDestinationType', 'FlowLogResourceType', 'FlowLogTrafficType', + 'InstanceAffinity', + 'InstancePrivateDnsNameOptionsHostnameType', 'IpamPoolAwsService', 'IpamPoolIpamScopeType', 'IpamPoolPublicIpSource', @@ -266,6 +268,22 @@ class FlowLogTrafficType(str, Enum): REJECT = "REJECT" +class InstanceAffinity(str, Enum): + """ + Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + """ + DEFAULT = "default" + HOST = "host" + + +class InstancePrivateDnsNameOptionsHostnameType(str, Enum): + """ + The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ + IP_NAME = "ip-name" + RESOURCE_NAME = "resource-name" + + class IpamPoolAwsService(str, Enum): """ Limits which service in Amazon Web Services that the pool can be used in. diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index 75907f8d79..ee8bcfb08c 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -26,6 +26,8 @@ 'ClientVpnEndpointFederatedAuthenticationRequestArgs', 'ClientVpnEndpointTagSpecificationArgs', 'ClientVpnEndpointTagArgs', + 'CpuOptionsPropertiesArgs', + 'CreditSpecificationPropertiesArgs', 'CustomerGatewayTagArgs', 'DestinationOptionsPropertiesArgs', 'DhcpOptionsTagArgs', @@ -52,22 +54,19 @@ 'Ec2FleetTotalLocalStorageGbRequestArgs', 'Ec2FleetVCpuCountRangeRequestArgs', 'EipTagArgs', + 'EnclaveOptionsPropertiesArgs', 'FlowLogTagArgs', + 'HibernationOptionsPropertiesArgs', 'InstanceAssociationParameterArgs', 'InstanceBlockDeviceMappingArgs', 'InstanceConnectEndpointTagArgs', - 'InstanceCpuOptionsArgs', - 'InstanceCreditSpecificationArgs', 'InstanceEbsArgs', 'InstanceElasticGpuSpecificationArgs', 'InstanceElasticInferenceAcceleratorArgs', - 'InstanceEnclaveOptionsArgs', - 'InstanceHibernationOptionsArgs', 'InstanceIpv6AddressArgs', 'InstanceLaunchTemplateSpecificationArgs', 'InstanceLicenseSpecificationArgs', 'InstanceNetworkInterfaceArgs', - 'InstanceNoDeviceArgs', 'InstancePrivateDnsNameOptionsArgs', 'InstancePrivateIpAddressSpecificationArgs', 'InstanceSsmAssociationArgs', @@ -718,6 +717,58 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class CpuOptionsPropertiesArgs: + def __init__(__self__, *, + core_count: Optional[pulumi.Input[int]] = None, + threads_per_core: Optional[pulumi.Input[int]] = None): + """ + The CPU options for the instance. + """ + if core_count is not None: + pulumi.set(__self__, "core_count", core_count) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + + @property + @pulumi.getter(name="coreCount") + def core_count(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "core_count") + + @core_count.setter + def core_count(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "core_count", value) + + @property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[pulumi.Input[int]]: + return pulumi.get(self, "threads_per_core") + + @threads_per_core.setter + def threads_per_core(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "threads_per_core", value) + + +@pulumi.input_type +class CreditSpecificationPropertiesArgs: + def __init__(__self__, *, + cpu_credits: Optional[pulumi.Input[str]] = None): + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ + if cpu_credits is not None: + pulumi.set(__self__, "cpu_credits", cpu_credits) + + @property + @pulumi.getter(name="cpuCredits") + def cpu_credits(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "cpu_credits") + + @cpu_credits.setter + def cpu_credits(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "cpu_credits", value) + + @pulumi.input_type class CustomerGatewayTagArgs: def __init__(__self__, *, @@ -2011,6 +2062,30 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class EnclaveOptionsPropertiesArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None): + """ + Indicates whether the instance is enabled for AWS Nitro Enclaves. + :param pulumi.Input[bool] enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @pulumi.input_type class FlowLogTagArgs: def __init__(__self__, *, @@ -2038,17 +2113,48 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class HibernationOptionsPropertiesArgs: + def __init__(__self__, *, + configured: Optional[pulumi.Input[bool]] = None): + """ + Indicates whether an instance is enabled for hibernation. + :param pulumi.Input[bool] configured: If you set this parameter to true, your instance is enabled for hibernation. + """ + if configured is not None: + pulumi.set(__self__, "configured", configured) + + @property + @pulumi.getter + def configured(self) -> Optional[pulumi.Input[bool]]: + """ + If you set this parameter to true, your instance is enabled for hibernation. + """ + return pulumi.get(self, "configured") + + @configured.setter + def configured(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "configured", value) + + @pulumi.input_type class InstanceAssociationParameterArgs: def __init__(__self__, *, key: pulumi.Input[str], value: pulumi.Input[Sequence[pulumi.Input[str]]]): + """ + :param pulumi.Input[str] key: The name of an input parameter that is in the associated SSM document. + :param pulumi.Input[Sequence[pulumi.Input[str]]] value: The value of an input parameter. + """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "value", value) @property @pulumi.getter def key(self) -> pulumi.Input[str]: + """ + The name of an input parameter that is in the associated SSM document. + """ return pulumi.get(self, "key") @key.setter @@ -2058,6 +2164,9 @@ def key(self, value: pulumi.Input[str]): @property @pulumi.getter def value(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The value of an input parameter. + """ return pulumi.get(self, "value") @value.setter @@ -2070,8 +2179,12 @@ class InstanceBlockDeviceMappingArgs: def __init__(__self__, *, device_name: pulumi.Input[str], ebs: Optional[pulumi.Input['InstanceEbsArgs']] = None, - no_device: Optional[pulumi.Input['InstanceNoDeviceArgs']] = None, + no_device: Optional[Any] = None, virtual_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] device_name: The device name (for example, /dev/sdh or xvdh). + :param pulumi.Input['InstanceEbsArgs'] ebs: Parameters used to automatically set up EBS volumes when the instance is launched. + """ pulumi.set(__self__, "device_name", device_name) if ebs is not None: pulumi.set(__self__, "ebs", ebs) @@ -2083,6 +2196,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="deviceName") def device_name(self) -> pulumi.Input[str]: + """ + The device name (for example, /dev/sdh or xvdh). + """ return pulumi.get(self, "device_name") @device_name.setter @@ -2092,6 +2208,9 @@ def device_name(self, value: pulumi.Input[str]): @property @pulumi.getter def ebs(self) -> Optional[pulumi.Input['InstanceEbsArgs']]: + """ + Parameters used to automatically set up EBS volumes when the instance is launched. + """ return pulumi.get(self, "ebs") @ebs.setter @@ -2100,11 +2219,11 @@ def ebs(self, value: Optional[pulumi.Input['InstanceEbsArgs']]): @property @pulumi.getter(name="noDevice") - def no_device(self) -> Optional[pulumi.Input['InstanceNoDeviceArgs']]: + def no_device(self) -> Optional[Any]: return pulumi.get(self, "no_device") @no_device.setter - def no_device(self, value: Optional[pulumi.Input['InstanceNoDeviceArgs']]): + def no_device(self, value: Optional[Any]): pulumi.set(self, "no_device", value) @property @@ -2147,52 +2266,6 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) -@pulumi.input_type -class InstanceCpuOptionsArgs: - def __init__(__self__, *, - core_count: Optional[pulumi.Input[int]] = None, - threads_per_core: Optional[pulumi.Input[int]] = None): - if core_count is not None: - pulumi.set(__self__, "core_count", core_count) - if threads_per_core is not None: - pulumi.set(__self__, "threads_per_core", threads_per_core) - - @property - @pulumi.getter(name="coreCount") - def core_count(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "core_count") - - @core_count.setter - def core_count(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "core_count", value) - - @property - @pulumi.getter(name="threadsPerCore") - def threads_per_core(self) -> Optional[pulumi.Input[int]]: - return pulumi.get(self, "threads_per_core") - - @threads_per_core.setter - def threads_per_core(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "threads_per_core", value) - - -@pulumi.input_type -class InstanceCreditSpecificationArgs: - def __init__(__self__, *, - cpu_credits: Optional[pulumi.Input[str]] = None): - if cpu_credits is not None: - pulumi.set(__self__, "cpu_credits", cpu_credits) - - @property - @pulumi.getter(name="cpuCredits") - def cpu_credits(self) -> Optional[pulumi.Input[str]]: - return pulumi.get(self, "cpu_credits") - - @cpu_credits.setter - def cpu_credits(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "cpu_credits", value) - - @pulumi.input_type class InstanceEbsArgs: def __init__(__self__, *, @@ -2203,6 +2276,15 @@ def __init__(__self__, *, snapshot_id: Optional[pulumi.Input[str]] = None, volume_size: Optional[pulumi.Input[int]] = None, volume_type: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] delete_on_termination: Indicates whether the EBS volume is deleted on instance termination. + :param pulumi.Input[bool] encrypted: Indicates whether the volume should be encrypted. + :param pulumi.Input[int] iops: The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + :param pulumi.Input[str] kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + :param pulumi.Input[str] snapshot_id: The ID of the snapshot. + :param pulumi.Input[int] volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + :param pulumi.Input[str] volume_type: The volume type. + """ if delete_on_termination is not None: pulumi.set(__self__, "delete_on_termination", delete_on_termination) if encrypted is not None: @@ -2221,6 +2303,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="deleteOnTermination") def delete_on_termination(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the EBS volume is deleted on instance termination. + """ return pulumi.get(self, "delete_on_termination") @delete_on_termination.setter @@ -2230,6 +2315,9 @@ def delete_on_termination(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter def encrypted(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the volume should be encrypted. + """ return pulumi.get(self, "encrypted") @encrypted.setter @@ -2239,6 +2327,9 @@ def encrypted(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter def iops(self) -> Optional[pulumi.Input[int]]: + """ + The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + """ return pulumi.get(self, "iops") @iops.setter @@ -2248,6 +2339,9 @@ def iops(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + """ return pulumi.get(self, "kms_key_id") @kms_key_id.setter @@ -2257,6 +2351,9 @@ def kms_key_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="snapshotId") def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the snapshot. + """ return pulumi.get(self, "snapshot_id") @snapshot_id.setter @@ -2266,6 +2363,9 @@ def snapshot_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="volumeSize") def volume_size(self) -> Optional[pulumi.Input[int]]: + """ + The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + """ return pulumi.get(self, "volume_size") @volume_size.setter @@ -2275,6 +2375,9 @@ def volume_size(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[pulumi.Input[str]]: + """ + The volume type. + """ return pulumi.get(self, "volume_type") @volume_type.setter @@ -2286,11 +2389,17 @@ def volume_type(self, value: Optional[pulumi.Input[str]]): class InstanceElasticGpuSpecificationArgs: def __init__(__self__, *, type: pulumi.Input[str]): + """ + :param pulumi.Input[str] type: The type of Elastic Graphics accelerator. + """ pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> pulumi.Input[str]: + """ + The type of Elastic Graphics accelerator. + """ return pulumi.get(self, "type") @type.setter @@ -2303,6 +2412,10 @@ class InstanceElasticInferenceAcceleratorArgs: def __init__(__self__, *, type: pulumi.Input[str], count: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input[str] type: The type of elastic inference accelerator. + :param pulumi.Input[int] count: The number of elastic inference accelerators to attach to the instance. + """ pulumi.set(__self__, "type", type) if count is not None: pulumi.set(__self__, "count", count) @@ -2310,6 +2423,9 @@ def __init__(__self__, *, @property @pulumi.getter def type(self) -> pulumi.Input[str]: + """ + The type of elastic inference accelerator. + """ return pulumi.get(self, "type") @type.setter @@ -2319,6 +2435,9 @@ def type(self, value: pulumi.Input[str]): @property @pulumi.getter def count(self) -> Optional[pulumi.Input[int]]: + """ + The number of elastic inference accelerators to attach to the instance. + """ return pulumi.get(self, "count") @count.setter @@ -2326,49 +2445,21 @@ def count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "count", value) -@pulumi.input_type -class InstanceEnclaveOptionsArgs: - def __init__(__self__, *, - enabled: Optional[pulumi.Input[bool]] = None): - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter - def enabled(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "enabled") - - @enabled.setter - def enabled(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "enabled", value) - - -@pulumi.input_type -class InstanceHibernationOptionsArgs: - def __init__(__self__, *, - configured: Optional[pulumi.Input[bool]] = None): - if configured is not None: - pulumi.set(__self__, "configured", configured) - - @property - @pulumi.getter - def configured(self) -> Optional[pulumi.Input[bool]]: - return pulumi.get(self, "configured") - - @configured.setter - def configured(self, value: Optional[pulumi.Input[bool]]): - pulumi.set(self, "configured", value) - - @pulumi.input_type class InstanceIpv6AddressArgs: def __init__(__self__, *, ipv6_address: pulumi.Input[str]): + """ + :param pulumi.Input[str] ipv6_address: The IPv6 address. + """ pulumi.set(__self__, "ipv6_address", ipv6_address) @property @pulumi.getter(name="ipv6Address") def ipv6_address(self) -> pulumi.Input[str]: + """ + The IPv6 address. + """ return pulumi.get(self, "ipv6_address") @ipv6_address.setter @@ -2379,27 +2470,27 @@ def ipv6_address(self, value: pulumi.Input[str]): @pulumi.input_type class InstanceLaunchTemplateSpecificationArgs: def __init__(__self__, *, - version: pulumi.Input[str], launch_template_id: Optional[pulumi.Input[str]] = None, - launch_template_name: Optional[pulumi.Input[str]] = None): - pulumi.set(__self__, "version", version) + launch_template_name: Optional[pulumi.Input[str]] = None, + version: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] launch_template_id: The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + :param pulumi.Input[str] launch_template_name: The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + :param pulumi.Input[str] version: The version number of the launch template. + """ if launch_template_id is not None: pulumi.set(__self__, "launch_template_id", launch_template_id) if launch_template_name is not None: pulumi.set(__self__, "launch_template_name", launch_template_name) - - @property - @pulumi.getter - def version(self) -> pulumi.Input[str]: - return pulumi.get(self, "version") - - @version.setter - def version(self, value: pulumi.Input[str]): - pulumi.set(self, "version", value) + if version is not None: + pulumi.set(__self__, "version", version) @property @pulumi.getter(name="launchTemplateId") def launch_template_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + """ return pulumi.get(self, "launch_template_id") @launch_template_id.setter @@ -2409,22 +2500,43 @@ def launch_template_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="launchTemplateName") def launch_template_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + """ return pulumi.get(self, "launch_template_name") @launch_template_name.setter def launch_template_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "launch_template_name", value) + @property + @pulumi.getter + def version(self) -> Optional[pulumi.Input[str]]: + """ + The version number of the launch template. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "version", value) + @pulumi.input_type class InstanceLicenseSpecificationArgs: def __init__(__self__, *, license_configuration_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] license_configuration_arn: The Amazon Resource Name (ARN) of the license configuration. + """ pulumi.set(__self__, "license_configuration_arn", license_configuration_arn) @property @pulumi.getter(name="licenseConfigurationArn") def license_configuration_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the license configuration. + """ return pulumi.get(self, "license_configuration_arn") @license_configuration_arn.setter @@ -2448,6 +2560,21 @@ def __init__(__self__, *, private_ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input['InstancePrivateIpAddressSpecificationArgs']]]] = None, secondary_private_ip_address_count: Optional[pulumi.Input[int]] = None, subnet_id: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] device_index: The position of the network interface in the attachment order. A primary network interface has a device index of 0. + :param pulumi.Input[bool] associate_carrier_ip_address: Not currently supported by AWS CloudFormation. + :param pulumi.Input[bool] associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + :param pulumi.Input[bool] delete_on_termination: If set to true, the interface is deleted when the instance is terminated. + :param pulumi.Input[str] description: The description of the network interface. + :param pulumi.Input[Sequence[pulumi.Input[str]]] group_set: The IDs of the security groups for the network interface. + :param pulumi.Input[int] ipv6_address_count: A number of IPv6 addresses to assign to the network interface. + :param pulumi.Input[Sequence[pulumi.Input['InstanceIpv6AddressArgs']]] ipv6_addresses: The IPv6 addresses associated with the network interface. + :param pulumi.Input[str] network_interface_id: The ID of the network interface. + :param pulumi.Input[str] private_ip_address: The private IPv4 address of the network interface. + :param pulumi.Input[Sequence[pulumi.Input['InstancePrivateIpAddressSpecificationArgs']]] private_ip_addresses: One or more private IPv4 addresses to assign to the network interface. + :param pulumi.Input[int] secondary_private_ip_address_count: The number of secondary private IPv4 addresses. + :param pulumi.Input[str] subnet_id: The ID of the subnet. + """ pulumi.set(__self__, "device_index", device_index) if associate_carrier_ip_address is not None: pulumi.set(__self__, "associate_carrier_ip_address", associate_carrier_ip_address) @@ -2477,6 +2604,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="deviceIndex") def device_index(self) -> pulumi.Input[str]: + """ + The position of the network interface in the attachment order. A primary network interface has a device index of 0. + """ return pulumi.get(self, "device_index") @device_index.setter @@ -2486,6 +2616,9 @@ def device_index(self, value: pulumi.Input[str]): @property @pulumi.getter(name="associateCarrierIpAddress") def associate_carrier_ip_address(self) -> Optional[pulumi.Input[bool]]: + """ + Not currently supported by AWS CloudFormation. + """ return pulumi.get(self, "associate_carrier_ip_address") @associate_carrier_ip_address.setter @@ -2495,6 +2628,9 @@ def associate_carrier_ip_address(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="associatePublicIpAddress") def associate_public_ip_address(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + """ return pulumi.get(self, "associate_public_ip_address") @associate_public_ip_address.setter @@ -2504,6 +2640,9 @@ def associate_public_ip_address(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="deleteOnTermination") def delete_on_termination(self) -> Optional[pulumi.Input[bool]]: + """ + If set to true, the interface is deleted when the instance is terminated. + """ return pulumi.get(self, "delete_on_termination") @delete_on_termination.setter @@ -2513,6 +2652,9 @@ def delete_on_termination(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the network interface. + """ return pulumi.get(self, "description") @description.setter @@ -2522,6 +2664,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="groupSet") def group_set(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The IDs of the security groups for the network interface. + """ return pulumi.get(self, "group_set") @group_set.setter @@ -2531,6 +2676,9 @@ def group_set(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @property @pulumi.getter(name="ipv6AddressCount") def ipv6_address_count(self) -> Optional[pulumi.Input[int]]: + """ + A number of IPv6 addresses to assign to the network interface. + """ return pulumi.get(self, "ipv6_address_count") @ipv6_address_count.setter @@ -2540,6 +2688,9 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="ipv6Addresses") def ipv6_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceIpv6AddressArgs']]]]: + """ + The IPv6 addresses associated with the network interface. + """ return pulumi.get(self, "ipv6_addresses") @ipv6_addresses.setter @@ -2549,6 +2700,9 @@ def ipv6_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ins @property @pulumi.getter(name="networkInterfaceId") def network_interface_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the network interface. + """ return pulumi.get(self, "network_interface_id") @network_interface_id.setter @@ -2558,6 +2712,9 @@ def network_interface_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> Optional[pulumi.Input[str]]: + """ + The private IPv4 address of the network interface. + """ return pulumi.get(self, "private_ip_address") @private_ip_address.setter @@ -2567,6 +2724,9 @@ def private_ip_address(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="privateIpAddresses") def private_ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstancePrivateIpAddressSpecificationArgs']]]]: + """ + One or more private IPv4 addresses to assign to the network interface. + """ return pulumi.get(self, "private_ip_addresses") @private_ip_addresses.setter @@ -2576,6 +2736,9 @@ def private_ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Inpu @property @pulumi.getter(name="secondaryPrivateIpAddressCount") def secondary_private_ip_address_count(self) -> Optional[pulumi.Input[int]]: + """ + The number of secondary private IPv4 addresses. + """ return pulumi.get(self, "secondary_private_ip_address_count") @secondary_private_ip_address_count.setter @@ -2585,6 +2748,9 @@ def secondary_private_ip_address_count(self, value: Optional[pulumi.Input[int]]) @property @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the subnet. + """ return pulumi.get(self, "subnet_id") @subnet_id.setter @@ -2592,18 +2758,17 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "subnet_id", value) -@pulumi.input_type -class InstanceNoDeviceArgs: - def __init__(__self__): - pass - - @pulumi.input_type class InstancePrivateDnsNameOptionsArgs: def __init__(__self__, *, enable_resource_name_dns_a_record: Optional[pulumi.Input[bool]] = None, enable_resource_name_dns_aaaa_record: Optional[pulumi.Input[bool]] = None, - hostname_type: Optional[pulumi.Input[str]] = None): + hostname_type: Optional[pulumi.Input['InstancePrivateDnsNameOptionsHostnameType']] = None): + """ + :param pulumi.Input[bool] enable_resource_name_dns_a_record: Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input[bool] enable_resource_name_dns_aaaa_record: Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + :param pulumi.Input['InstancePrivateDnsNameOptionsHostnameType'] hostname_type: The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ if enable_resource_name_dns_a_record is not None: pulumi.set(__self__, "enable_resource_name_dns_a_record", enable_resource_name_dns_a_record) if enable_resource_name_dns_aaaa_record is not None: @@ -2614,6 +2779,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="enableResourceNameDnsARecord") def enable_resource_name_dns_a_record(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "enable_resource_name_dns_a_record") @enable_resource_name_dns_a_record.setter @@ -2623,6 +2791,9 @@ def enable_resource_name_dns_a_record(self, value: Optional[pulumi.Input[bool]]) @property @pulumi.getter(name="enableResourceNameDnsAaaaRecord") def enable_resource_name_dns_aaaa_record(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "enable_resource_name_dns_aaaa_record") @enable_resource_name_dns_aaaa_record.setter @@ -2631,11 +2802,14 @@ def enable_resource_name_dns_aaaa_record(self, value: Optional[pulumi.Input[bool @property @pulumi.getter(name="hostnameType") - def hostname_type(self) -> Optional[pulumi.Input[str]]: + def hostname_type(self) -> Optional[pulumi.Input['InstancePrivateDnsNameOptionsHostnameType']]: + """ + The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "hostname_type") @hostname_type.setter - def hostname_type(self, value: Optional[pulumi.Input[str]]): + def hostname_type(self, value: Optional[pulumi.Input['InstancePrivateDnsNameOptionsHostnameType']]): pulumi.set(self, "hostname_type", value) @@ -2644,12 +2818,19 @@ class InstancePrivateIpAddressSpecificationArgs: def __init__(__self__, *, primary: pulumi.Input[bool], private_ip_address: pulumi.Input[str]): + """ + :param pulumi.Input[bool] primary: Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + :param pulumi.Input[str] private_ip_address: The private IPv4 addresses. + """ pulumi.set(__self__, "primary", primary) pulumi.set(__self__, "private_ip_address", private_ip_address) @property @pulumi.getter def primary(self) -> pulumi.Input[bool]: + """ + Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + """ return pulumi.get(self, "primary") @primary.setter @@ -2659,6 +2840,9 @@ def primary(self, value: pulumi.Input[bool]): @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> pulumi.Input[str]: + """ + The private IPv4 addresses. + """ return pulumi.get(self, "private_ip_address") @private_ip_address.setter @@ -2671,6 +2855,10 @@ class InstanceSsmAssociationArgs: def __init__(__self__, *, document_name: pulumi.Input[str], association_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceAssociationParameterArgs']]]] = None): + """ + :param pulumi.Input[str] document_name: The name of an SSM document to associate with the instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceAssociationParameterArgs']]] association_parameters: The input parameter values to use with the associated SSM document. + """ pulumi.set(__self__, "document_name", document_name) if association_parameters is not None: pulumi.set(__self__, "association_parameters", association_parameters) @@ -2678,6 +2866,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="documentName") def document_name(self) -> pulumi.Input[str]: + """ + The name of an SSM document to associate with the instance. + """ return pulumi.get(self, "document_name") @document_name.setter @@ -2687,6 +2878,9 @@ def document_name(self, value: pulumi.Input[str]): @property @pulumi.getter(name="associationParameters") def association_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceAssociationParameterArgs']]]]: + """ + The input parameter values to use with the associated SSM document. + """ return pulumi.get(self, "association_parameters") @association_parameters.setter @@ -2726,12 +2920,19 @@ class InstanceVolumeArgs: def __init__(__self__, *, device: pulumi.Input[str], volume_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] device: The device name (for example, /dev/sdh or xvdh). + :param pulumi.Input[str] volume_id: The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + """ pulumi.set(__self__, "device", device) pulumi.set(__self__, "volume_id", volume_id) @property @pulumi.getter def device(self) -> pulumi.Input[str]: + """ + The device name (for example, /dev/sdh or xvdh). + """ return pulumi.get(self, "device") @device.setter @@ -2741,6 +2942,9 @@ def device(self, value: pulumi.Input[str]): @property @pulumi.getter(name="volumeId") def volume_id(self) -> pulumi.Input[str]: + """ + The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + """ return pulumi.get(self, "volume_id") @volume_id.setter @@ -9928,14 +10132,30 @@ def verified_access_trust_provider_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class VerifiedAccessTrustProviderDeviceOptionsArgs: def __init__(__self__, *, + public_signing_key_url: Optional[pulumi.Input[str]] = None, tenant_id: Optional[pulumi.Input[str]] = None): """ The options for device identity based trust providers. + :param pulumi.Input[str] public_signing_key_url: URL Verified Access will use to verify authenticity of the device tokens. :param pulumi.Input[str] tenant_id: The ID of the tenant application with the device-identity provider. """ + if public_signing_key_url is not None: + pulumi.set(__self__, "public_signing_key_url", public_signing_key_url) if tenant_id is not None: pulumi.set(__self__, "tenant_id", tenant_id) + @property + @pulumi.getter(name="publicSigningKeyUrl") + def public_signing_key_url(self) -> Optional[pulumi.Input[str]]: + """ + URL Verified Access will use to verify authenticity of the device tokens. + """ + return pulumi.get(self, "public_signing_key_url") + + @public_signing_key_url.setter + def public_signing_key_url(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "public_signing_key_url", value) + @property @pulumi.getter(name="tenantId") def tenant_id(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws_native/ec2/get_instance.py b/sdk/python/pulumi_aws_native/ec2/get_instance.py index 0ff56b2eb1..59a87788a4 100644 --- a/sdk/python/pulumi_aws_native/ec2/get_instance.py +++ b/sdk/python/pulumi_aws_native/ec2/get_instance.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * __all__ = [ 'GetInstanceResult', @@ -19,10 +20,7 @@ @pulumi.output_type class GetInstanceResult: - def __init__(__self__, additional_info=None, affinity=None, block_device_mappings=None, credit_specification=None, disable_api_termination=None, ebs_optimized=None, host_id=None, iam_instance_profile=None, id=None, instance_initiated_shutdown_behavior=None, instance_type=None, kernel_id=None, monitoring=None, private_dns_name=None, private_dns_name_options=None, private_ip=None, propagate_tags_to_volume_on_creation=None, public_dns_name=None, public_ip=None, ramdisk_id=None, security_group_ids=None, source_dest_check=None, ssm_associations=None, tags=None, tenancy=None, user_data=None, volumes=None): - if additional_info and not isinstance(additional_info, str): - raise TypeError("Expected argument 'additional_info' to be a str") - pulumi.set(__self__, "additional_info", additional_info) + def __init__(__self__, affinity=None, block_device_mappings=None, credit_specification=None, disable_api_termination=None, ebs_optimized=None, host_id=None, iam_instance_profile=None, instance_id=None, instance_initiated_shutdown_behavior=None, instance_type=None, kernel_id=None, monitoring=None, private_dns_name=None, private_dns_name_options=None, private_ip=None, public_dns_name=None, public_ip=None, ramdisk_id=None, security_group_ids=None, source_dest_check=None, ssm_associations=None, tags=None, tenancy=None, user_data=None): if affinity and not isinstance(affinity, str): raise TypeError("Expected argument 'affinity' to be a str") pulumi.set(__self__, "affinity", affinity) @@ -44,9 +42,9 @@ def __init__(__self__, additional_info=None, affinity=None, block_device_mapping if iam_instance_profile and not isinstance(iam_instance_profile, str): raise TypeError("Expected argument 'iam_instance_profile' to be a str") pulumi.set(__self__, "iam_instance_profile", iam_instance_profile) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) if instance_initiated_shutdown_behavior and not isinstance(instance_initiated_shutdown_behavior, str): raise TypeError("Expected argument 'instance_initiated_shutdown_behavior' to be a str") pulumi.set(__self__, "instance_initiated_shutdown_behavior", instance_initiated_shutdown_behavior) @@ -68,9 +66,6 @@ def __init__(__self__, additional_info=None, affinity=None, block_device_mapping if private_ip and not isinstance(private_ip, str): raise TypeError("Expected argument 'private_ip' to be a str") pulumi.set(__self__, "private_ip", private_ip) - if propagate_tags_to_volume_on_creation and not isinstance(propagate_tags_to_volume_on_creation, bool): - raise TypeError("Expected argument 'propagate_tags_to_volume_on_creation' to be a bool") - pulumi.set(__self__, "propagate_tags_to_volume_on_creation", propagate_tags_to_volume_on_creation) if public_dns_name and not isinstance(public_dns_name, str): raise TypeError("Expected argument 'public_dns_name' to be a str") pulumi.set(__self__, "public_dns_name", public_dns_name) @@ -98,145 +93,199 @@ def __init__(__self__, additional_info=None, affinity=None, block_device_mapping if user_data and not isinstance(user_data, str): raise TypeError("Expected argument 'user_data' to be a str") pulumi.set(__self__, "user_data", user_data) - if volumes and not isinstance(volumes, list): - raise TypeError("Expected argument 'volumes' to be a list") - pulumi.set(__self__, "volumes", volumes) - - @property - @pulumi.getter(name="additionalInfo") - def additional_info(self) -> Optional[str]: - return pulumi.get(self, "additional_info") @property @pulumi.getter - def affinity(self) -> Optional[str]: + def affinity(self) -> Optional['InstanceAffinity']: + """ + Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + """ return pulumi.get(self, "affinity") @property @pulumi.getter(name="blockDeviceMappings") def block_device_mappings(self) -> Optional[Sequence['outputs.InstanceBlockDeviceMapping']]: + """ + The block device mapping entries that defines the block devices to attach to the instance at launch. + """ return pulumi.get(self, "block_device_mappings") @property @pulumi.getter(name="creditSpecification") - def credit_specification(self) -> Optional['outputs.InstanceCreditSpecification']: + def credit_specification(self) -> Optional['outputs.CreditSpecificationProperties']: + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ return pulumi.get(self, "credit_specification") @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> Optional[bool]: + """ + If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + """ return pulumi.get(self, "disable_api_termination") @property @pulumi.getter(name="ebsOptimized") def ebs_optimized(self) -> Optional[bool]: + """ + Indicates whether the instance is optimized for Amazon EBS I/O. + """ return pulumi.get(self, "ebs_optimized") @property @pulumi.getter(name="hostId") def host_id(self) -> Optional[str]: + """ + If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + """ return pulumi.get(self, "host_id") @property @pulumi.getter(name="iamInstanceProfile") def iam_instance_profile(self) -> Optional[str]: + """ + The IAM instance profile. + """ return pulumi.get(self, "iam_instance_profile") @property - @pulumi.getter - def id(self) -> Optional[str]: - return pulumi.get(self, "id") + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[str]: + """ + The EC2 Instance ID. + """ + return pulumi.get(self, "instance_id") @property @pulumi.getter(name="instanceInitiatedShutdownBehavior") def instance_initiated_shutdown_behavior(self) -> Optional[str]: + """ + Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + """ return pulumi.get(self, "instance_initiated_shutdown_behavior") @property @pulumi.getter(name="instanceType") def instance_type(self) -> Optional[str]: + """ + The instance type. + """ return pulumi.get(self, "instance_type") @property @pulumi.getter(name="kernelId") def kernel_id(self) -> Optional[str]: + """ + The ID of the kernel. + """ return pulumi.get(self, "kernel_id") @property @pulumi.getter def monitoring(self) -> Optional[bool]: + """ + Specifies whether detailed monitoring is enabled for the instance. + """ return pulumi.get(self, "monitoring") @property @pulumi.getter(name="privateDnsName") def private_dns_name(self) -> Optional[str]: + """ + The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + """ return pulumi.get(self, "private_dns_name") @property @pulumi.getter(name="privateDnsNameOptions") def private_dns_name_options(self) -> Optional['outputs.InstancePrivateDnsNameOptions']: + """ + The options for the instance hostname. + """ return pulumi.get(self, "private_dns_name_options") @property @pulumi.getter(name="privateIp") def private_ip(self) -> Optional[str]: + """ + The private IP address of the specified instance. For example: 10.24.34.0. + """ return pulumi.get(self, "private_ip") - @property - @pulumi.getter(name="propagateTagsToVolumeOnCreation") - def propagate_tags_to_volume_on_creation(self) -> Optional[bool]: - return pulumi.get(self, "propagate_tags_to_volume_on_creation") - @property @pulumi.getter(name="publicDnsName") def public_dns_name(self) -> Optional[str]: + """ + The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + """ return pulumi.get(self, "public_dns_name") @property @pulumi.getter(name="publicIp") def public_ip(self) -> Optional[str]: + """ + The public IP address of the specified instance. For example: 192.0.2.0. + """ return pulumi.get(self, "public_ip") @property @pulumi.getter(name="ramdiskId") def ramdisk_id(self) -> Optional[str]: + """ + The ID of the RAM disk to select. + """ return pulumi.get(self, "ramdisk_id") @property @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[Sequence[str]]: + """ + The IDs of the security groups. + """ return pulumi.get(self, "security_group_ids") @property @pulumi.getter(name="sourceDestCheck") def source_dest_check(self) -> Optional[bool]: + """ + Specifies whether to enable an instance launched in a VPC to perform NAT. + """ return pulumi.get(self, "source_dest_check") @property @pulumi.getter(name="ssmAssociations") def ssm_associations(self) -> Optional[Sequence['outputs.InstanceSsmAssociation']]: + """ + The SSM document and parameter values in AWS Systems Manager to associate with this instance. + """ return pulumi.get(self, "ssm_associations") @property @pulumi.getter def tags(self) -> Optional[Sequence['outputs.InstanceTag']]: + """ + The tags to add to the instance. + """ return pulumi.get(self, "tags") @property @pulumi.getter def tenancy(self) -> Optional[str]: + """ + The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + """ return pulumi.get(self, "tenancy") @property @pulumi.getter(name="userData") def user_data(self) -> Optional[str]: + """ + The user data to make available to the instance. + """ return pulumi.get(self, "user_data") - @property - @pulumi.getter - def volumes(self) -> Optional[Sequence['outputs.InstanceVolume']]: - return pulumi.get(self, "volumes") - class AwaitableGetInstanceResult(GetInstanceResult): # pylint: disable=using-constant-test @@ -244,7 +293,6 @@ def __await__(self): if False: yield self return GetInstanceResult( - additional_info=self.additional_info, affinity=self.affinity, block_device_mappings=self.block_device_mappings, credit_specification=self.credit_specification, @@ -252,7 +300,7 @@ def __await__(self): ebs_optimized=self.ebs_optimized, host_id=self.host_id, iam_instance_profile=self.iam_instance_profile, - id=self.id, + instance_id=self.instance_id, instance_initiated_shutdown_behavior=self.instance_initiated_shutdown_behavior, instance_type=self.instance_type, kernel_id=self.kernel_id, @@ -260,7 +308,6 @@ def __await__(self): private_dns_name=self.private_dns_name, private_dns_name_options=self.private_dns_name_options, private_ip=self.private_ip, - propagate_tags_to_volume_on_creation=self.propagate_tags_to_volume_on_creation, public_dns_name=self.public_dns_name, public_ip=self.public_ip, ramdisk_id=self.ramdisk_id, @@ -269,22 +316,23 @@ def __await__(self): ssm_associations=self.ssm_associations, tags=self.tags, tenancy=self.tenancy, - user_data=self.user_data, - volumes=self.volumes) + user_data=self.user_data) -def get_instance(id: Optional[str] = None, +def get_instance(instance_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetInstanceResult: """ Resource Type definition for AWS::EC2::Instance + + + :param str instance_id: The EC2 Instance ID. """ __args__ = dict() - __args__['id'] = id + __args__['instanceId'] = instance_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:ec2:getInstance', __args__, opts=opts, typ=GetInstanceResult).value return AwaitableGetInstanceResult( - additional_info=pulumi.get(__ret__, 'additional_info'), affinity=pulumi.get(__ret__, 'affinity'), block_device_mappings=pulumi.get(__ret__, 'block_device_mappings'), credit_specification=pulumi.get(__ret__, 'credit_specification'), @@ -292,7 +340,7 @@ def get_instance(id: Optional[str] = None, ebs_optimized=pulumi.get(__ret__, 'ebs_optimized'), host_id=pulumi.get(__ret__, 'host_id'), iam_instance_profile=pulumi.get(__ret__, 'iam_instance_profile'), - id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), instance_initiated_shutdown_behavior=pulumi.get(__ret__, 'instance_initiated_shutdown_behavior'), instance_type=pulumi.get(__ret__, 'instance_type'), kernel_id=pulumi.get(__ret__, 'kernel_id'), @@ -300,7 +348,6 @@ def get_instance(id: Optional[str] = None, private_dns_name=pulumi.get(__ret__, 'private_dns_name'), private_dns_name_options=pulumi.get(__ret__, 'private_dns_name_options'), private_ip=pulumi.get(__ret__, 'private_ip'), - propagate_tags_to_volume_on_creation=pulumi.get(__ret__, 'propagate_tags_to_volume_on_creation'), public_dns_name=pulumi.get(__ret__, 'public_dns_name'), public_ip=pulumi.get(__ret__, 'public_ip'), ramdisk_id=pulumi.get(__ret__, 'ramdisk_id'), @@ -309,14 +356,16 @@ def get_instance(id: Optional[str] = None, ssm_associations=pulumi.get(__ret__, 'ssm_associations'), tags=pulumi.get(__ret__, 'tags'), tenancy=pulumi.get(__ret__, 'tenancy'), - user_data=pulumi.get(__ret__, 'user_data'), - volumes=pulumi.get(__ret__, 'volumes')) + user_data=pulumi.get(__ret__, 'user_data')) @_utilities.lift_output_func(get_instance) -def get_instance_output(id: Optional[pulumi.Input[str]] = None, +def get_instance_output(instance_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceResult]: """ Resource Type definition for AWS::EC2::Instance + + + :param str instance_id: The EC2 Instance ID. """ ... diff --git a/sdk/python/pulumi_aws_native/ec2/get_security_group_egress.py b/sdk/python/pulumi_aws_native/ec2/get_security_group_egress.py index 919295837d..2256ec3f77 100644 --- a/sdk/python/pulumi_aws_native/ec2/get_security_group_egress.py +++ b/sdk/python/pulumi_aws_native/ec2/get_security_group_egress.py @@ -29,11 +29,17 @@ def __init__(__self__, description=None, id=None): @property @pulumi.getter def description(self) -> Optional[str]: + """ + Resource Type definition for an egress (outbound) security group rule. + """ return pulumi.get(self, "description") @property @pulumi.getter def id(self) -> Optional[str]: + """ + The Security Group Rule Id + """ return pulumi.get(self, "id") @@ -51,6 +57,9 @@ def get_security_group_egress(id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGroupEgressResult: """ Resource Type definition for AWS::EC2::SecurityGroupEgress + + + :param str id: The Security Group Rule Id """ __args__ = dict() __args__['id'] = id @@ -67,5 +76,8 @@ def get_security_group_egress_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSecurityGroupEgressResult]: """ Resource Type definition for AWS::EC2::SecurityGroupEgress + + + :param str id: The Security Group Rule Id """ ... diff --git a/sdk/python/pulumi_aws_native/ec2/instance.py b/sdk/python/pulumi_aws_native/ec2/instance.py index c0e03ebde2..ea183c96f0 100644 --- a/sdk/python/pulumi_aws_native/ec2/instance.py +++ b/sdk/python/pulumi_aws_native/ec2/instance.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['InstanceArgs', 'Instance'] @@ -17,17 +18,17 @@ class InstanceArgs: def __init__(__self__, *, additional_info: Optional[pulumi.Input[str]] = None, - affinity: Optional[pulumi.Input[str]] = None, + affinity: Optional[pulumi.Input['InstanceAffinity']] = None, availability_zone: Optional[pulumi.Input[str]] = None, block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceBlockDeviceMappingArgs']]]] = None, - cpu_options: Optional[pulumi.Input['InstanceCpuOptionsArgs']] = None, - credit_specification: Optional[pulumi.Input['InstanceCreditSpecificationArgs']] = None, + cpu_options: Optional[pulumi.Input['CpuOptionsPropertiesArgs']] = None, + credit_specification: Optional[pulumi.Input['CreditSpecificationPropertiesArgs']] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, elastic_gpu_specifications: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceElasticGpuSpecificationArgs']]]] = None, elastic_inference_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceElasticInferenceAcceleratorArgs']]]] = None, - enclave_options: Optional[pulumi.Input['InstanceEnclaveOptionsArgs']] = None, - hibernation_options: Optional[pulumi.Input['InstanceHibernationOptionsArgs']] = None, + enclave_options: Optional[pulumi.Input['EnclaveOptionsPropertiesArgs']] = None, + hibernation_options: Optional[pulumi.Input['HibernationOptionsPropertiesArgs']] = None, host_id: Optional[pulumi.Input[str]] = None, host_resource_group_arn: Optional[pulumi.Input[str]] = None, iam_instance_profile: Optional[pulumi.Input[str]] = None, @@ -58,6 +59,46 @@ def __init__(__self__, *, volumes: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceVolumeArgs']]]] = None): """ The set of arguments for constructing a Instance resource. + :param pulumi.Input[str] additional_info: This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + :param pulumi.Input['InstanceAffinity'] affinity: Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + :param pulumi.Input[str] availability_zone: The Availability Zone of the instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceBlockDeviceMappingArgs']]] block_device_mappings: The block device mapping entries that defines the block devices to attach to the instance at launch. + :param pulumi.Input['CpuOptionsPropertiesArgs'] cpu_options: The CPU options for the instance. + :param pulumi.Input['CreditSpecificationPropertiesArgs'] credit_specification: The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + :param pulumi.Input[bool] disable_api_termination: If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + :param pulumi.Input[bool] ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. + :param pulumi.Input[Sequence[pulumi.Input['InstanceElasticGpuSpecificationArgs']]] elastic_gpu_specifications: An elastic GPU to associate with the instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceElasticInferenceAcceleratorArgs']]] elastic_inference_accelerators: An elastic inference accelerator to associate with the instance. + :param pulumi.Input['EnclaveOptionsPropertiesArgs'] enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. + :param pulumi.Input['HibernationOptionsPropertiesArgs'] hibernation_options: Indicates whether an instance is enabled for hibernation. + :param pulumi.Input[str] host_id: If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + :param pulumi.Input[str] host_resource_group_arn: The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + :param pulumi.Input[str] iam_instance_profile: The IAM instance profile. + :param pulumi.Input[str] image_id: The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + :param pulumi.Input[str] instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + :param pulumi.Input[str] instance_type: The instance type. + :param pulumi.Input[int] ipv6_address_count: [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + :param pulumi.Input[Sequence[pulumi.Input['InstanceIpv6AddressArgs']]] ipv6_addresses: [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + :param pulumi.Input[str] kernel_id: The ID of the kernel. + :param pulumi.Input[str] key_name: The name of the key pair. + :param pulumi.Input['InstanceLaunchTemplateSpecificationArgs'] launch_template: The launch template to use to launch the instances. + :param pulumi.Input[Sequence[pulumi.Input['InstanceLicenseSpecificationArgs']]] license_specifications: The license configurations. + :param pulumi.Input[bool] monitoring: Specifies whether detailed monitoring is enabled for the instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceNetworkInterfaceArgs']]] network_interfaces: The network interfaces to associate with the instance. + :param pulumi.Input[str] placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + :param pulumi.Input['InstancePrivateDnsNameOptionsArgs'] private_dns_name_options: The options for the instance hostname. + :param pulumi.Input[str] private_ip_address: [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + :param pulumi.Input[bool] propagate_tags_to_volume_on_creation: Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + :param pulumi.Input[str] ramdisk_id: The ID of the RAM disk to select. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The IDs of the security groups. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + :param pulumi.Input[bool] source_dest_check: Specifies whether to enable an instance launched in a VPC to perform NAT. + :param pulumi.Input[Sequence[pulumi.Input['InstanceSsmAssociationArgs']]] ssm_associations: The SSM document and parameter values in AWS Systems Manager to associate with this instance. + :param pulumi.Input[str] subnet_id: [EC2-VPC] The ID of the subnet to launch the instance into. + :param pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]] tags: The tags to add to the instance. + :param pulumi.Input[str] tenancy: The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + :param pulumi.Input[str] user_data: The user data to make available to the instance. + :param pulumi.Input[Sequence[pulumi.Input['InstanceVolumeArgs']]] volumes: The volumes to attach to the instance. """ if additional_info is not None: pulumi.set(__self__, "additional_info", additional_info) @@ -143,6 +184,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="additionalInfo") def additional_info(self) -> Optional[pulumi.Input[str]]: + """ + This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + """ return pulumi.get(self, "additional_info") @additional_info.setter @@ -151,16 +195,22 @@ def additional_info(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def affinity(self) -> Optional[pulumi.Input[str]]: + def affinity(self) -> Optional[pulumi.Input['InstanceAffinity']]: + """ + Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + """ return pulumi.get(self, "affinity") @affinity.setter - def affinity(self, value: Optional[pulumi.Input[str]]): + def affinity(self, value: Optional[pulumi.Input['InstanceAffinity']]): pulumi.set(self, "affinity", value) @property @pulumi.getter(name="availabilityZone") def availability_zone(self) -> Optional[pulumi.Input[str]]: + """ + The Availability Zone of the instance. + """ return pulumi.get(self, "availability_zone") @availability_zone.setter @@ -170,6 +220,9 @@ def availability_zone(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="blockDeviceMappings") def block_device_mappings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceBlockDeviceMappingArgs']]]]: + """ + The block device mapping entries that defines the block devices to attach to the instance at launch. + """ return pulumi.get(self, "block_device_mappings") @block_device_mappings.setter @@ -178,25 +231,34 @@ def block_device_mappings(self, value: Optional[pulumi.Input[Sequence[pulumi.Inp @property @pulumi.getter(name="cpuOptions") - def cpu_options(self) -> Optional[pulumi.Input['InstanceCpuOptionsArgs']]: + def cpu_options(self) -> Optional[pulumi.Input['CpuOptionsPropertiesArgs']]: + """ + The CPU options for the instance. + """ return pulumi.get(self, "cpu_options") @cpu_options.setter - def cpu_options(self, value: Optional[pulumi.Input['InstanceCpuOptionsArgs']]): + def cpu_options(self, value: Optional[pulumi.Input['CpuOptionsPropertiesArgs']]): pulumi.set(self, "cpu_options", value) @property @pulumi.getter(name="creditSpecification") - def credit_specification(self) -> Optional[pulumi.Input['InstanceCreditSpecificationArgs']]: + def credit_specification(self) -> Optional[pulumi.Input['CreditSpecificationPropertiesArgs']]: + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ return pulumi.get(self, "credit_specification") @credit_specification.setter - def credit_specification(self, value: Optional[pulumi.Input['InstanceCreditSpecificationArgs']]): + def credit_specification(self, value: Optional[pulumi.Input['CreditSpecificationPropertiesArgs']]): pulumi.set(self, "credit_specification", value) @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> Optional[pulumi.Input[bool]]: + """ + If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + """ return pulumi.get(self, "disable_api_termination") @disable_api_termination.setter @@ -206,6 +268,9 @@ def disable_api_termination(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="ebsOptimized") def ebs_optimized(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether the instance is optimized for Amazon EBS I/O. + """ return pulumi.get(self, "ebs_optimized") @ebs_optimized.setter @@ -215,6 +280,9 @@ def ebs_optimized(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="elasticGpuSpecifications") def elastic_gpu_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceElasticGpuSpecificationArgs']]]]: + """ + An elastic GPU to associate with the instance. + """ return pulumi.get(self, "elastic_gpu_specifications") @elastic_gpu_specifications.setter @@ -224,6 +292,9 @@ def elastic_gpu_specifications(self, value: Optional[pulumi.Input[Sequence[pulum @property @pulumi.getter(name="elasticInferenceAccelerators") def elastic_inference_accelerators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceElasticInferenceAcceleratorArgs']]]]: + """ + An elastic inference accelerator to associate with the instance. + """ return pulumi.get(self, "elastic_inference_accelerators") @elastic_inference_accelerators.setter @@ -232,25 +303,34 @@ def elastic_inference_accelerators(self, value: Optional[pulumi.Input[Sequence[p @property @pulumi.getter(name="enclaveOptions") - def enclave_options(self) -> Optional[pulumi.Input['InstanceEnclaveOptionsArgs']]: + def enclave_options(self) -> Optional[pulumi.Input['EnclaveOptionsPropertiesArgs']]: + """ + Indicates whether the instance is enabled for AWS Nitro Enclaves. + """ return pulumi.get(self, "enclave_options") @enclave_options.setter - def enclave_options(self, value: Optional[pulumi.Input['InstanceEnclaveOptionsArgs']]): + def enclave_options(self, value: Optional[pulumi.Input['EnclaveOptionsPropertiesArgs']]): pulumi.set(self, "enclave_options", value) @property @pulumi.getter(name="hibernationOptions") - def hibernation_options(self) -> Optional[pulumi.Input['InstanceHibernationOptionsArgs']]: + def hibernation_options(self) -> Optional[pulumi.Input['HibernationOptionsPropertiesArgs']]: + """ + Indicates whether an instance is enabled for hibernation. + """ return pulumi.get(self, "hibernation_options") @hibernation_options.setter - def hibernation_options(self, value: Optional[pulumi.Input['InstanceHibernationOptionsArgs']]): + def hibernation_options(self, value: Optional[pulumi.Input['HibernationOptionsPropertiesArgs']]): pulumi.set(self, "hibernation_options", value) @property @pulumi.getter(name="hostId") def host_id(self) -> Optional[pulumi.Input[str]]: + """ + If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + """ return pulumi.get(self, "host_id") @host_id.setter @@ -260,6 +340,9 @@ def host_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="hostResourceGroupArn") def host_resource_group_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + """ return pulumi.get(self, "host_resource_group_arn") @host_resource_group_arn.setter @@ -269,6 +352,9 @@ def host_resource_group_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="iamInstanceProfile") def iam_instance_profile(self) -> Optional[pulumi.Input[str]]: + """ + The IAM instance profile. + """ return pulumi.get(self, "iam_instance_profile") @iam_instance_profile.setter @@ -278,6 +364,9 @@ def iam_instance_profile(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="imageId") def image_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + """ return pulumi.get(self, "image_id") @image_id.setter @@ -287,6 +376,9 @@ def image_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="instanceInitiatedShutdownBehavior") def instance_initiated_shutdown_behavior(self) -> Optional[pulumi.Input[str]]: + """ + Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + """ return pulumi.get(self, "instance_initiated_shutdown_behavior") @instance_initiated_shutdown_behavior.setter @@ -296,6 +388,9 @@ def instance_initiated_shutdown_behavior(self, value: Optional[pulumi.Input[str] @property @pulumi.getter(name="instanceType") def instance_type(self) -> Optional[pulumi.Input[str]]: + """ + The instance type. + """ return pulumi.get(self, "instance_type") @instance_type.setter @@ -305,6 +400,9 @@ def instance_type(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="ipv6AddressCount") def ipv6_address_count(self) -> Optional[pulumi.Input[int]]: + """ + [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + """ return pulumi.get(self, "ipv6_address_count") @ipv6_address_count.setter @@ -314,6 +412,9 @@ def ipv6_address_count(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="ipv6Addresses") def ipv6_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceIpv6AddressArgs']]]]: + """ + [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + """ return pulumi.get(self, "ipv6_addresses") @ipv6_addresses.setter @@ -323,6 +424,9 @@ def ipv6_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ins @property @pulumi.getter(name="kernelId") def kernel_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the kernel. + """ return pulumi.get(self, "kernel_id") @kernel_id.setter @@ -332,6 +436,9 @@ def kernel_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="keyName") def key_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the key pair. + """ return pulumi.get(self, "key_name") @key_name.setter @@ -341,6 +448,9 @@ def key_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="launchTemplate") def launch_template(self) -> Optional[pulumi.Input['InstanceLaunchTemplateSpecificationArgs']]: + """ + The launch template to use to launch the instances. + """ return pulumi.get(self, "launch_template") @launch_template.setter @@ -350,6 +460,9 @@ def launch_template(self, value: Optional[pulumi.Input['InstanceLaunchTemplateSp @property @pulumi.getter(name="licenseSpecifications") def license_specifications(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceLicenseSpecificationArgs']]]]: + """ + The license configurations. + """ return pulumi.get(self, "license_specifications") @license_specifications.setter @@ -359,6 +472,9 @@ def license_specifications(self, value: Optional[pulumi.Input[Sequence[pulumi.In @property @pulumi.getter def monitoring(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether detailed monitoring is enabled for the instance. + """ return pulumi.get(self, "monitoring") @monitoring.setter @@ -368,6 +484,9 @@ def monitoring(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="networkInterfaces") def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceNetworkInterfaceArgs']]]]: + """ + The network interfaces to associate with the instance. + """ return pulumi.get(self, "network_interfaces") @network_interfaces.setter @@ -377,6 +496,9 @@ def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @property @pulumi.getter(name="placementGroupName") def placement_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + """ return pulumi.get(self, "placement_group_name") @placement_group_name.setter @@ -386,6 +508,9 @@ def placement_group_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="privateDnsNameOptions") def private_dns_name_options(self) -> Optional[pulumi.Input['InstancePrivateDnsNameOptionsArgs']]: + """ + The options for the instance hostname. + """ return pulumi.get(self, "private_dns_name_options") @private_dns_name_options.setter @@ -395,6 +520,9 @@ def private_dns_name_options(self, value: Optional[pulumi.Input['InstancePrivate @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> Optional[pulumi.Input[str]]: + """ + [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + """ return pulumi.get(self, "private_ip_address") @private_ip_address.setter @@ -404,6 +532,9 @@ def private_ip_address(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="propagateTagsToVolumeOnCreation") def propagate_tags_to_volume_on_creation(self) -> Optional[pulumi.Input[bool]]: + """ + Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + """ return pulumi.get(self, "propagate_tags_to_volume_on_creation") @propagate_tags_to_volume_on_creation.setter @@ -413,6 +544,9 @@ def propagate_tags_to_volume_on_creation(self, value: Optional[pulumi.Input[bool @property @pulumi.getter(name="ramdiskId") def ramdisk_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the RAM disk to select. + """ return pulumi.get(self, "ramdisk_id") @ramdisk_id.setter @@ -422,6 +556,9 @@ def ramdisk_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The IDs of the security groups. + """ return pulumi.get(self, "security_group_ids") @security_group_ids.setter @@ -431,6 +568,9 @@ def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[ @property @pulumi.getter(name="securityGroups") def security_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + """ return pulumi.get(self, "security_groups") @security_groups.setter @@ -440,6 +580,9 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str @property @pulumi.getter(name="sourceDestCheck") def source_dest_check(self) -> Optional[pulumi.Input[bool]]: + """ + Specifies whether to enable an instance launched in a VPC to perform NAT. + """ return pulumi.get(self, "source_dest_check") @source_dest_check.setter @@ -449,6 +592,9 @@ def source_dest_check(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter(name="ssmAssociations") def ssm_associations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceSsmAssociationArgs']]]]: + """ + The SSM document and parameter values in AWS Systems Manager to associate with this instance. + """ return pulumi.get(self, "ssm_associations") @ssm_associations.setter @@ -458,6 +604,9 @@ def ssm_associations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['I @property @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[pulumi.Input[str]]: + """ + [EC2-VPC] The ID of the subnet to launch the instance into. + """ return pulumi.get(self, "subnet_id") @subnet_id.setter @@ -467,6 +616,9 @@ def subnet_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagArgs']]]]: + """ + The tags to add to the instance. + """ return pulumi.get(self, "tags") @tags.setter @@ -476,6 +628,9 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceTagAr @property @pulumi.getter def tenancy(self) -> Optional[pulumi.Input[str]]: + """ + The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + """ return pulumi.get(self, "tenancy") @tenancy.setter @@ -485,6 +640,9 @@ def tenancy(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="userData") def user_data(self) -> Optional[pulumi.Input[str]]: + """ + The user data to make available to the instance. + """ return pulumi.get(self, "user_data") @user_data.setter @@ -494,6 +652,9 @@ def user_data(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def volumes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceVolumeArgs']]]]: + """ + The volumes to attach to the instance. + """ return pulumi.get(self, "volumes") @volumes.setter @@ -501,28 +662,23 @@ def volumes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceVo pulumi.set(self, "volumes", value) -warnings.warn("""Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class Instance(pulumi.CustomResource): - warnings.warn("""Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, additional_info: Optional[pulumi.Input[str]] = None, - affinity: Optional[pulumi.Input[str]] = None, + affinity: Optional[pulumi.Input['InstanceAffinity']] = None, availability_zone: Optional[pulumi.Input[str]] = None, block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceBlockDeviceMappingArgs']]]]] = None, - cpu_options: Optional[pulumi.Input[pulumi.InputType['InstanceCpuOptionsArgs']]] = None, - credit_specification: Optional[pulumi.Input[pulumi.InputType['InstanceCreditSpecificationArgs']]] = None, + cpu_options: Optional[pulumi.Input[pulumi.InputType['CpuOptionsPropertiesArgs']]] = None, + credit_specification: Optional[pulumi.Input[pulumi.InputType['CreditSpecificationPropertiesArgs']]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, elastic_gpu_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticGpuSpecificationArgs']]]]] = None, elastic_inference_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticInferenceAcceleratorArgs']]]]] = None, - enclave_options: Optional[pulumi.Input[pulumi.InputType['InstanceEnclaveOptionsArgs']]] = None, - hibernation_options: Optional[pulumi.Input[pulumi.InputType['InstanceHibernationOptionsArgs']]] = None, + enclave_options: Optional[pulumi.Input[pulumi.InputType['EnclaveOptionsPropertiesArgs']]] = None, + hibernation_options: Optional[pulumi.Input[pulumi.InputType['HibernationOptionsPropertiesArgs']]] = None, host_id: Optional[pulumi.Input[str]] = None, host_resource_group_arn: Optional[pulumi.Input[str]] = None, iam_instance_profile: Optional[pulumi.Input[str]] = None, @@ -557,6 +713,46 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] additional_info: This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + :param pulumi.Input['InstanceAffinity'] affinity: Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + :param pulumi.Input[str] availability_zone: The Availability Zone of the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceBlockDeviceMappingArgs']]]] block_device_mappings: The block device mapping entries that defines the block devices to attach to the instance at launch. + :param pulumi.Input[pulumi.InputType['CpuOptionsPropertiesArgs']] cpu_options: The CPU options for the instance. + :param pulumi.Input[pulumi.InputType['CreditSpecificationPropertiesArgs']] credit_specification: The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + :param pulumi.Input[bool] disable_api_termination: If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + :param pulumi.Input[bool] ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticGpuSpecificationArgs']]]] elastic_gpu_specifications: An elastic GPU to associate with the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticInferenceAcceleratorArgs']]]] elastic_inference_accelerators: An elastic inference accelerator to associate with the instance. + :param pulumi.Input[pulumi.InputType['EnclaveOptionsPropertiesArgs']] enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. + :param pulumi.Input[pulumi.InputType['HibernationOptionsPropertiesArgs']] hibernation_options: Indicates whether an instance is enabled for hibernation. + :param pulumi.Input[str] host_id: If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + :param pulumi.Input[str] host_resource_group_arn: The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + :param pulumi.Input[str] iam_instance_profile: The IAM instance profile. + :param pulumi.Input[str] image_id: The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + :param pulumi.Input[str] instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + :param pulumi.Input[str] instance_type: The instance type. + :param pulumi.Input[int] ipv6_address_count: [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceIpv6AddressArgs']]]] ipv6_addresses: [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + :param pulumi.Input[str] kernel_id: The ID of the kernel. + :param pulumi.Input[str] key_name: The name of the key pair. + :param pulumi.Input[pulumi.InputType['InstanceLaunchTemplateSpecificationArgs']] launch_template: The launch template to use to launch the instances. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceLicenseSpecificationArgs']]]] license_specifications: The license configurations. + :param pulumi.Input[bool] monitoring: Specifies whether detailed monitoring is enabled for the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkInterfaceArgs']]]] network_interfaces: The network interfaces to associate with the instance. + :param pulumi.Input[str] placement_group_name: The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + :param pulumi.Input[pulumi.InputType['InstancePrivateDnsNameOptionsArgs']] private_dns_name_options: The options for the instance hostname. + :param pulumi.Input[str] private_ip_address: [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + :param pulumi.Input[bool] propagate_tags_to_volume_on_creation: Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + :param pulumi.Input[str] ramdisk_id: The ID of the RAM disk to select. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The IDs of the security groups. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + :param pulumi.Input[bool] source_dest_check: Specifies whether to enable an instance launched in a VPC to perform NAT. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceSsmAssociationArgs']]]] ssm_associations: The SSM document and parameter values in AWS Systems Manager to associate with this instance. + :param pulumi.Input[str] subnet_id: [EC2-VPC] The ID of the subnet to launch the instance into. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceTagArgs']]]] tags: The tags to add to the instance. + :param pulumi.Input[str] tenancy: The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + :param pulumi.Input[str] user_data: The user data to make available to the instance. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceVolumeArgs']]]] volumes: The volumes to attach to the instance. """ ... @overload @@ -583,17 +779,17 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, additional_info: Optional[pulumi.Input[str]] = None, - affinity: Optional[pulumi.Input[str]] = None, + affinity: Optional[pulumi.Input['InstanceAffinity']] = None, availability_zone: Optional[pulumi.Input[str]] = None, block_device_mappings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceBlockDeviceMappingArgs']]]]] = None, - cpu_options: Optional[pulumi.Input[pulumi.InputType['InstanceCpuOptionsArgs']]] = None, - credit_specification: Optional[pulumi.Input[pulumi.InputType['InstanceCreditSpecificationArgs']]] = None, + cpu_options: Optional[pulumi.Input[pulumi.InputType['CpuOptionsPropertiesArgs']]] = None, + credit_specification: Optional[pulumi.Input[pulumi.InputType['CreditSpecificationPropertiesArgs']]] = None, disable_api_termination: Optional[pulumi.Input[bool]] = None, ebs_optimized: Optional[pulumi.Input[bool]] = None, elastic_gpu_specifications: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticGpuSpecificationArgs']]]]] = None, elastic_inference_accelerators: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceElasticInferenceAcceleratorArgs']]]]] = None, - enclave_options: Optional[pulumi.Input[pulumi.InputType['InstanceEnclaveOptionsArgs']]] = None, - hibernation_options: Optional[pulumi.Input[pulumi.InputType['InstanceHibernationOptionsArgs']]] = None, + enclave_options: Optional[pulumi.Input[pulumi.InputType['EnclaveOptionsPropertiesArgs']]] = None, + hibernation_options: Optional[pulumi.Input[pulumi.InputType['HibernationOptionsPropertiesArgs']]] = None, host_id: Optional[pulumi.Input[str]] = None, host_resource_group_arn: Optional[pulumi.Input[str]] = None, iam_instance_profile: Optional[pulumi.Input[str]] = None, @@ -623,7 +819,6 @@ def _internal_init(__self__, user_data: Optional[pulumi.Input[str]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceVolumeArgs']]]]] = None, __props__=None): - pulumi.log.warn("""Instance is deprecated: Instance is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') @@ -672,6 +867,7 @@ def _internal_init(__self__, __props__.__dict__["tenancy"] = tenancy __props__.__dict__["user_data"] = user_data __props__.__dict__["volumes"] = volumes + __props__.__dict__["instance_id"] = None __props__.__dict__["private_dns_name"] = None __props__.__dict__["private_ip"] = None __props__.__dict__["public_dns_name"] = None @@ -716,6 +912,7 @@ def get(resource_name: str, __props__.__dict__["host_resource_group_arn"] = None __props__.__dict__["iam_instance_profile"] = None __props__.__dict__["image_id"] = None + __props__.__dict__["instance_id"] = None __props__.__dict__["instance_initiated_shutdown_behavior"] = None __props__.__dict__["instance_type"] = None __props__.__dict__["ipv6_address_count"] = None @@ -749,220 +946,360 @@ def get(resource_name: str, @property @pulumi.getter(name="additionalInfo") def additional_info(self) -> pulumi.Output[Optional[str]]: + """ + This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX). + """ return pulumi.get(self, "additional_info") @property @pulumi.getter - def affinity(self) -> pulumi.Output[Optional[str]]: + def affinity(self) -> pulumi.Output[Optional['InstanceAffinity']]: + """ + Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host. If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default. + """ return pulumi.get(self, "affinity") @property @pulumi.getter(name="availabilityZone") def availability_zone(self) -> pulumi.Output[Optional[str]]: + """ + The Availability Zone of the instance. + """ return pulumi.get(self, "availability_zone") @property @pulumi.getter(name="blockDeviceMappings") def block_device_mappings(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceBlockDeviceMapping']]]: + """ + The block device mapping entries that defines the block devices to attach to the instance at launch. + """ return pulumi.get(self, "block_device_mappings") @property @pulumi.getter(name="cpuOptions") - def cpu_options(self) -> pulumi.Output[Optional['outputs.InstanceCpuOptions']]: + def cpu_options(self) -> pulumi.Output[Optional['outputs.CpuOptionsProperties']]: + """ + The CPU options for the instance. + """ return pulumi.get(self, "cpu_options") @property @pulumi.getter(name="creditSpecification") - def credit_specification(self) -> pulumi.Output[Optional['outputs.InstanceCreditSpecification']]: + def credit_specification(self) -> pulumi.Output[Optional['outputs.CreditSpecificationProperties']]: + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ return pulumi.get(self, "credit_specification") @property @pulumi.getter(name="disableApiTermination") def disable_api_termination(self) -> pulumi.Output[Optional[bool]]: + """ + If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. + """ return pulumi.get(self, "disable_api_termination") @property @pulumi.getter(name="ebsOptimized") def ebs_optimized(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether the instance is optimized for Amazon EBS I/O. + """ return pulumi.get(self, "ebs_optimized") @property @pulumi.getter(name="elasticGpuSpecifications") def elastic_gpu_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceElasticGpuSpecification']]]: + """ + An elastic GPU to associate with the instance. + """ return pulumi.get(self, "elastic_gpu_specifications") @property @pulumi.getter(name="elasticInferenceAccelerators") def elastic_inference_accelerators(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceElasticInferenceAccelerator']]]: + """ + An elastic inference accelerator to associate with the instance. + """ return pulumi.get(self, "elastic_inference_accelerators") @property @pulumi.getter(name="enclaveOptions") - def enclave_options(self) -> pulumi.Output[Optional['outputs.InstanceEnclaveOptions']]: + def enclave_options(self) -> pulumi.Output[Optional['outputs.EnclaveOptionsProperties']]: + """ + Indicates whether the instance is enabled for AWS Nitro Enclaves. + """ return pulumi.get(self, "enclave_options") @property @pulumi.getter(name="hibernationOptions") - def hibernation_options(self) -> pulumi.Output[Optional['outputs.InstanceHibernationOptions']]: + def hibernation_options(self) -> pulumi.Output[Optional['outputs.HibernationOptionsProperties']]: + """ + Indicates whether an instance is enabled for hibernation. + """ return pulumi.get(self, "hibernation_options") @property @pulumi.getter(name="hostId") def host_id(self) -> pulumi.Output[Optional[str]]: + """ + If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. + """ return pulumi.get(self, "host_id") @property @pulumi.getter(name="hostResourceGroupArn") def host_resource_group_arn(self) -> pulumi.Output[Optional[str]]: + """ + The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host. + """ return pulumi.get(self, "host_resource_group_arn") @property @pulumi.getter(name="iamInstanceProfile") def iam_instance_profile(self) -> pulumi.Output[Optional[str]]: + """ + The IAM instance profile. + """ return pulumi.get(self, "iam_instance_profile") @property @pulumi.getter(name="imageId") def image_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template. + """ return pulumi.get(self, "image_id") + @property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[str]: + """ + The EC2 Instance ID. + """ + return pulumi.get(self, "instance_id") + @property @pulumi.getter(name="instanceInitiatedShutdownBehavior") def instance_initiated_shutdown_behavior(self) -> pulumi.Output[Optional[str]]: + """ + Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). + """ return pulumi.get(self, "instance_initiated_shutdown_behavior") @property @pulumi.getter(name="instanceType") def instance_type(self) -> pulumi.Output[Optional[str]]: + """ + The instance type. + """ return pulumi.get(self, "instance_type") @property @pulumi.getter(name="ipv6AddressCount") def ipv6_address_count(self) -> pulumi.Output[Optional[int]]: + """ + [EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. + """ return pulumi.get(self, "ipv6_address_count") @property @pulumi.getter(name="ipv6Addresses") def ipv6_addresses(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceIpv6Address']]]: + """ + [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. + """ return pulumi.get(self, "ipv6_addresses") @property @pulumi.getter(name="kernelId") def kernel_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the kernel. + """ return pulumi.get(self, "kernel_id") @property @pulumi.getter(name="keyName") def key_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the key pair. + """ return pulumi.get(self, "key_name") @property @pulumi.getter(name="launchTemplate") def launch_template(self) -> pulumi.Output[Optional['outputs.InstanceLaunchTemplateSpecification']]: + """ + The launch template to use to launch the instances. + """ return pulumi.get(self, "launch_template") @property @pulumi.getter(name="licenseSpecifications") def license_specifications(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceLicenseSpecification']]]: + """ + The license configurations. + """ return pulumi.get(self, "license_specifications") @property @pulumi.getter def monitoring(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether detailed monitoring is enabled for the instance. + """ return pulumi.get(self, "monitoring") @property @pulumi.getter(name="networkInterfaces") def network_interfaces(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceNetworkInterface']]]: + """ + The network interfaces to associate with the instance. + """ return pulumi.get(self, "network_interfaces") @property @pulumi.getter(name="placementGroupName") def placement_group_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of an existing placement group that you want to launch the instance into (cluster | partition | spread). + """ return pulumi.get(self, "placement_group_name") @property @pulumi.getter(name="privateDnsName") def private_dns_name(self) -> pulumi.Output[str]: + """ + The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal. + """ return pulumi.get(self, "private_dns_name") @property @pulumi.getter(name="privateDnsNameOptions") def private_dns_name_options(self) -> pulumi.Output[Optional['outputs.InstancePrivateDnsNameOptions']]: + """ + The options for the instance hostname. + """ return pulumi.get(self, "private_dns_name_options") @property @pulumi.getter(name="privateIp") def private_ip(self) -> pulumi.Output[str]: + """ + The private IP address of the specified instance. For example: 10.24.34.0. + """ return pulumi.get(self, "private_ip") @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> pulumi.Output[Optional[str]]: + """ + [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet. + """ return pulumi.get(self, "private_ip_address") @property @pulumi.getter(name="propagateTagsToVolumeOnCreation") def propagate_tags_to_volume_on_creation(self) -> pulumi.Output[Optional[bool]]: + """ + Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false, those tags are not assigned to the attached volumes. + """ return pulumi.get(self, "propagate_tags_to_volume_on_creation") @property @pulumi.getter(name="publicDnsName") def public_dns_name(self) -> pulumi.Output[str]: + """ + The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com. + """ return pulumi.get(self, "public_dns_name") @property @pulumi.getter(name="publicIp") def public_ip(self) -> pulumi.Output[str]: + """ + The public IP address of the specified instance. For example: 192.0.2.0. + """ return pulumi.get(self, "public_ip") @property @pulumi.getter(name="ramdiskId") def ramdisk_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the RAM disk to select. + """ return pulumi.get(self, "ramdisk_id") @property @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + The IDs of the security groups. + """ return pulumi.get(self, "security_group_ids") @property @pulumi.getter(name="securityGroups") def security_groups(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + the names of the security groups. For a nondefault VPC, you must use security group IDs instead. + """ return pulumi.get(self, "security_groups") @property @pulumi.getter(name="sourceDestCheck") def source_dest_check(self) -> pulumi.Output[Optional[bool]]: + """ + Specifies whether to enable an instance launched in a VPC to perform NAT. + """ return pulumi.get(self, "source_dest_check") @property @pulumi.getter(name="ssmAssociations") def ssm_associations(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceSsmAssociation']]]: + """ + The SSM document and parameter values in AWS Systems Manager to associate with this instance. + """ return pulumi.get(self, "ssm_associations") @property @pulumi.getter(name="subnetId") def subnet_id(self) -> pulumi.Output[Optional[str]]: + """ + [EC2-VPC] The ID of the subnet to launch the instance into. + """ return pulumi.get(self, "subnet_id") @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceTag']]]: + """ + The tags to add to the instance. + """ return pulumi.get(self, "tags") @property @pulumi.getter def tenancy(self) -> pulumi.Output[Optional[str]]: + """ + The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. + """ return pulumi.get(self, "tenancy") @property @pulumi.getter(name="userData") def user_data(self) -> pulumi.Output[Optional[str]]: + """ + The user data to make available to the instance. + """ return pulumi.get(self, "user_data") @property @pulumi.getter def volumes(self) -> pulumi.Output[Optional[Sequence['outputs.InstanceVolume']]]: + """ + The volumes to attach to the instance. + """ return pulumi.get(self, "volumes") diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index a40a75d838..695a749a40 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -27,6 +27,8 @@ 'ClientVpnEndpointFederatedAuthenticationRequest', 'ClientVpnEndpointTag', 'ClientVpnEndpointTagSpecification', + 'CpuOptionsProperties', + 'CreditSpecificationProperties', 'CustomerGatewayTag', 'DestinationOptionsProperties', 'DhcpOptionsTag', @@ -53,22 +55,19 @@ 'Ec2FleetTotalLocalStorageGbRequest', 'Ec2FleetVCpuCountRangeRequest', 'EipTag', + 'EnclaveOptionsProperties', 'FlowLogTag', + 'HibernationOptionsProperties', 'InstanceAssociationParameter', 'InstanceBlockDeviceMapping', 'InstanceConnectEndpointTag', - 'InstanceCpuOptions', - 'InstanceCreditSpecification', 'InstanceEbs', 'InstanceElasticGpuSpecification', 'InstanceElasticInferenceAccelerator', - 'InstanceEnclaveOptions', - 'InstanceHibernationOptions', 'InstanceIpv6Address', 'InstanceLaunchTemplateSpecification', 'InstanceLicenseSpecification', 'InstanceNetworkInterface', - 'InstanceNoDevice', 'InstancePrivateDnsNameOptions', 'InstancePrivateIpAddressSpecification', 'InstanceSsmAssociation', @@ -792,6 +791,88 @@ def tags(self) -> Sequence['outputs.ClientVpnEndpointTag']: return pulumi.get(self, "tags") +@pulumi.output_type +class CpuOptionsProperties(dict): + """ + The CPU options for the instance. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "coreCount": + suggest = "core_count" + elif key == "threadsPerCore": + suggest = "threads_per_core" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CpuOptionsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CpuOptionsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CpuOptionsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + core_count: Optional[int] = None, + threads_per_core: Optional[int] = None): + """ + The CPU options for the instance. + """ + if core_count is not None: + pulumi.set(__self__, "core_count", core_count) + if threads_per_core is not None: + pulumi.set(__self__, "threads_per_core", threads_per_core) + + @property + @pulumi.getter(name="coreCount") + def core_count(self) -> Optional[int]: + return pulumi.get(self, "core_count") + + @property + @pulumi.getter(name="threadsPerCore") + def threads_per_core(self) -> Optional[int]: + return pulumi.get(self, "threads_per_core") + + +@pulumi.output_type +class CreditSpecificationProperties(dict): + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "cpuCredits": + suggest = "cpu_credits" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CreditSpecificationProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CreditSpecificationProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CreditSpecificationProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cpu_credits: Optional[str] = None): + """ + The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. + """ + if cpu_credits is not None: + pulumi.set(__self__, "cpu_credits", cpu_credits) + + @property + @pulumi.getter(name="cpuCredits") + def cpu_credits(self) -> Optional[str]: + return pulumi.get(self, "cpu_credits") + + @pulumi.output_type class CustomerGatewayTag(dict): def __init__(__self__, *, @@ -2018,6 +2099,29 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class EnclaveOptionsProperties(dict): + """ + Indicates whether the instance is enabled for AWS Nitro Enclaves. + """ + def __init__(__self__, *, + enabled: Optional[bool] = None): + """ + Indicates whether the instance is enabled for AWS Nitro Enclaves. + :param bool enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. + """ + return pulumi.get(self, "enabled") + + @pulumi.output_type class FlowLogTag(dict): def __init__(__self__, *, @@ -2037,22 +2141,55 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class HibernationOptionsProperties(dict): + """ + Indicates whether an instance is enabled for hibernation. + """ + def __init__(__self__, *, + configured: Optional[bool] = None): + """ + Indicates whether an instance is enabled for hibernation. + :param bool configured: If you set this parameter to true, your instance is enabled for hibernation. + """ + if configured is not None: + pulumi.set(__self__, "configured", configured) + + @property + @pulumi.getter + def configured(self) -> Optional[bool]: + """ + If you set this parameter to true, your instance is enabled for hibernation. + """ + return pulumi.get(self, "configured") + + @pulumi.output_type class InstanceAssociationParameter(dict): def __init__(__self__, *, key: str, value: Sequence[str]): + """ + :param str key: The name of an input parameter that is in the associated SSM document. + :param Sequence[str] value: The value of an input parameter. + """ pulumi.set(__self__, "key", key) pulumi.set(__self__, "value", value) @property @pulumi.getter def key(self) -> str: + """ + The name of an input parameter that is in the associated SSM document. + """ return pulumi.get(self, "key") @property @pulumi.getter def value(self) -> Sequence[str]: + """ + The value of an input parameter. + """ return pulumi.get(self, "value") @@ -2082,8 +2219,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, device_name: str, ebs: Optional['outputs.InstanceEbs'] = None, - no_device: Optional['outputs.InstanceNoDevice'] = None, + no_device: Optional[Any] = None, virtual_name: Optional[str] = None): + """ + :param str device_name: The device name (for example, /dev/sdh or xvdh). + :param 'InstanceEbs' ebs: Parameters used to automatically set up EBS volumes when the instance is launched. + """ pulumi.set(__self__, "device_name", device_name) if ebs is not None: pulumi.set(__self__, "ebs", ebs) @@ -2095,16 +2236,22 @@ def __init__(__self__, *, @property @pulumi.getter(name="deviceName") def device_name(self) -> str: + """ + The device name (for example, /dev/sdh or xvdh). + """ return pulumi.get(self, "device_name") @property @pulumi.getter def ebs(self) -> Optional['outputs.InstanceEbs']: + """ + Parameters used to automatically set up EBS volumes when the instance is launched. + """ return pulumi.get(self, "ebs") @property @pulumi.getter(name="noDevice") - def no_device(self) -> Optional['outputs.InstanceNoDevice']: + def no_device(self) -> Optional[Any]: return pulumi.get(self, "no_device") @property @@ -2138,76 +2285,6 @@ def value(self) -> str: return pulumi.get(self, "value") -@pulumi.output_type -class InstanceCpuOptions(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "coreCount": - suggest = "core_count" - elif key == "threadsPerCore": - suggest = "threads_per_core" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in InstanceCpuOptions. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - InstanceCpuOptions.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - InstanceCpuOptions.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - core_count: Optional[int] = None, - threads_per_core: Optional[int] = None): - if core_count is not None: - pulumi.set(__self__, "core_count", core_count) - if threads_per_core is not None: - pulumi.set(__self__, "threads_per_core", threads_per_core) - - @property - @pulumi.getter(name="coreCount") - def core_count(self) -> Optional[int]: - return pulumi.get(self, "core_count") - - @property - @pulumi.getter(name="threadsPerCore") - def threads_per_core(self) -> Optional[int]: - return pulumi.get(self, "threads_per_core") - - -@pulumi.output_type -class InstanceCreditSpecification(dict): - @staticmethod - def __key_warning(key: str): - suggest = None - if key == "cpuCredits": - suggest = "cpu_credits" - - if suggest: - pulumi.log.warn(f"Key '{key}' not found in InstanceCreditSpecification. Access the value via the '{suggest}' property getter instead.") - - def __getitem__(self, key: str) -> Any: - InstanceCreditSpecification.__key_warning(key) - return super().__getitem__(key) - - def get(self, key: str, default = None) -> Any: - InstanceCreditSpecification.__key_warning(key) - return super().get(key, default) - - def __init__(__self__, *, - cpu_credits: Optional[str] = None): - if cpu_credits is not None: - pulumi.set(__self__, "cpu_credits", cpu_credits) - - @property - @pulumi.getter(name="cpuCredits") - def cpu_credits(self) -> Optional[str]: - return pulumi.get(self, "cpu_credits") - - @pulumi.output_type class InstanceEbs(dict): @staticmethod @@ -2243,6 +2320,15 @@ def __init__(__self__, *, snapshot_id: Optional[str] = None, volume_size: Optional[int] = None, volume_type: Optional[str] = None): + """ + :param bool delete_on_termination: Indicates whether the EBS volume is deleted on instance termination. + :param bool encrypted: Indicates whether the volume should be encrypted. + :param int iops: The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + :param str kms_key_id: The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + :param str snapshot_id: The ID of the snapshot. + :param int volume_size: The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + :param str volume_type: The volume type. + """ if delete_on_termination is not None: pulumi.set(__self__, "delete_on_termination", delete_on_termination) if encrypted is not None: @@ -2261,36 +2347,57 @@ def __init__(__self__, *, @property @pulumi.getter(name="deleteOnTermination") def delete_on_termination(self) -> Optional[bool]: + """ + Indicates whether the EBS volume is deleted on instance termination. + """ return pulumi.get(self, "delete_on_termination") @property @pulumi.getter def encrypted(self) -> Optional[bool]: + """ + Indicates whether the volume should be encrypted. + """ return pulumi.get(self, "encrypted") @property @pulumi.getter def iops(self) -> Optional[int]: + """ + The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + """ return pulumi.get(self, "iops") @property @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[str]: + """ + The identifier of the AWS Key Management Service (AWS KMS) customer managed CMK to use for Amazon EBS encryption. If KmsKeyId is specified, the encrypted state must be true. If the encrypted state is true but you do not specify KmsKeyId, your AWS managed CMK for EBS is used. + """ return pulumi.get(self, "kms_key_id") @property @pulumi.getter(name="snapshotId") def snapshot_id(self) -> Optional[str]: + """ + The ID of the snapshot. + """ return pulumi.get(self, "snapshot_id") @property @pulumi.getter(name="volumeSize") def volume_size(self) -> Optional[int]: + """ + The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. + """ return pulumi.get(self, "volume_size") @property @pulumi.getter(name="volumeType") def volume_type(self) -> Optional[str]: + """ + The volume type. + """ return pulumi.get(self, "volume_type") @@ -2298,11 +2405,17 @@ def volume_type(self) -> Optional[str]: class InstanceElasticGpuSpecification(dict): def __init__(__self__, *, type: str): + """ + :param str type: The type of Elastic Graphics accelerator. + """ pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> str: + """ + The type of Elastic Graphics accelerator. + """ return pulumi.get(self, "type") @@ -2311,6 +2424,10 @@ class InstanceElasticInferenceAccelerator(dict): def __init__(__self__, *, type: str, count: Optional[int] = None): + """ + :param str type: The type of elastic inference accelerator. + :param int count: The number of elastic inference accelerators to attach to the instance. + """ pulumi.set(__self__, "type", type) if count is not None: pulumi.set(__self__, "count", count) @@ -2318,40 +2435,20 @@ def __init__(__self__, *, @property @pulumi.getter def type(self) -> str: + """ + The type of elastic inference accelerator. + """ return pulumi.get(self, "type") @property @pulumi.getter def count(self) -> Optional[int]: + """ + The number of elastic inference accelerators to attach to the instance. + """ return pulumi.get(self, "count") -@pulumi.output_type -class InstanceEnclaveOptions(dict): - def __init__(__self__, *, - enabled: Optional[bool] = None): - if enabled is not None: - pulumi.set(__self__, "enabled", enabled) - - @property - @pulumi.getter - def enabled(self) -> Optional[bool]: - return pulumi.get(self, "enabled") - - -@pulumi.output_type -class InstanceHibernationOptions(dict): - def __init__(__self__, *, - configured: Optional[bool] = None): - if configured is not None: - pulumi.set(__self__, "configured", configured) - - @property - @pulumi.getter - def configured(self) -> Optional[bool]: - return pulumi.get(self, "configured") - - @pulumi.output_type class InstanceIpv6Address(dict): @staticmethod @@ -2373,11 +2470,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, ipv6_address: str): + """ + :param str ipv6_address: The IPv6 address. + """ pulumi.set(__self__, "ipv6_address", ipv6_address) @property @pulumi.getter(name="ipv6Address") def ipv6_address(self) -> str: + """ + The IPv6 address. + """ return pulumi.get(self, "ipv6_address") @@ -2403,30 +2506,45 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - version: str, launch_template_id: Optional[str] = None, - launch_template_name: Optional[str] = None): - pulumi.set(__self__, "version", version) + launch_template_name: Optional[str] = None, + version: Optional[str] = None): + """ + :param str launch_template_id: The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + :param str launch_template_name: The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + :param str version: The version number of the launch template. + """ if launch_template_id is not None: pulumi.set(__self__, "launch_template_id", launch_template_id) if launch_template_name is not None: pulumi.set(__self__, "launch_template_name", launch_template_name) - - @property - @pulumi.getter - def version(self) -> str: - return pulumi.get(self, "version") + if version is not None: + pulumi.set(__self__, "version", version) @property @pulumi.getter(name="launchTemplateId") def launch_template_id(self) -> Optional[str]: + """ + The ID of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + """ return pulumi.get(self, "launch_template_id") @property @pulumi.getter(name="launchTemplateName") def launch_template_name(self) -> Optional[str]: + """ + The name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateId, but not both. + """ return pulumi.get(self, "launch_template_name") + @property + @pulumi.getter + def version(self) -> Optional[str]: + """ + The version number of the launch template. + """ + return pulumi.get(self, "version") + @pulumi.output_type class InstanceLicenseSpecification(dict): @@ -2449,11 +2567,17 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, license_configuration_arn: str): + """ + :param str license_configuration_arn: The Amazon Resource Name (ARN) of the license configuration. + """ pulumi.set(__self__, "license_configuration_arn", license_configuration_arn) @property @pulumi.getter(name="licenseConfigurationArn") def license_configuration_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the license configuration. + """ return pulumi.get(self, "license_configuration_arn") @@ -2512,6 +2636,21 @@ def __init__(__self__, *, private_ip_addresses: Optional[Sequence['outputs.InstancePrivateIpAddressSpecification']] = None, secondary_private_ip_address_count: Optional[int] = None, subnet_id: Optional[str] = None): + """ + :param str device_index: The position of the network interface in the attachment order. A primary network interface has a device index of 0. + :param bool associate_carrier_ip_address: Not currently supported by AWS CloudFormation. + :param bool associate_public_ip_address: Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + :param bool delete_on_termination: If set to true, the interface is deleted when the instance is terminated. + :param str description: The description of the network interface. + :param Sequence[str] group_set: The IDs of the security groups for the network interface. + :param int ipv6_address_count: A number of IPv6 addresses to assign to the network interface. + :param Sequence['InstanceIpv6Address'] ipv6_addresses: The IPv6 addresses associated with the network interface. + :param str network_interface_id: The ID of the network interface. + :param str private_ip_address: The private IPv4 address of the network interface. + :param Sequence['InstancePrivateIpAddressSpecification'] private_ip_addresses: One or more private IPv4 addresses to assign to the network interface. + :param int secondary_private_ip_address_count: The number of secondary private IPv4 addresses. + :param str subnet_id: The ID of the subnet. + """ pulumi.set(__self__, "device_index", device_index) if associate_carrier_ip_address is not None: pulumi.set(__self__, "associate_carrier_ip_address", associate_carrier_ip_address) @@ -2541,75 +2680,108 @@ def __init__(__self__, *, @property @pulumi.getter(name="deviceIndex") def device_index(self) -> str: + """ + The position of the network interface in the attachment order. A primary network interface has a device index of 0. + """ return pulumi.get(self, "device_index") @property @pulumi.getter(name="associateCarrierIpAddress") def associate_carrier_ip_address(self) -> Optional[bool]: + """ + Not currently supported by AWS CloudFormation. + """ return pulumi.get(self, "associate_carrier_ip_address") @property @pulumi.getter(name="associatePublicIpAddress") def associate_public_ip_address(self) -> Optional[bool]: + """ + Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. + """ return pulumi.get(self, "associate_public_ip_address") @property @pulumi.getter(name="deleteOnTermination") def delete_on_termination(self) -> Optional[bool]: + """ + If set to true, the interface is deleted when the instance is terminated. + """ return pulumi.get(self, "delete_on_termination") @property @pulumi.getter def description(self) -> Optional[str]: + """ + The description of the network interface. + """ return pulumi.get(self, "description") @property @pulumi.getter(name="groupSet") def group_set(self) -> Optional[Sequence[str]]: + """ + The IDs of the security groups for the network interface. + """ return pulumi.get(self, "group_set") @property @pulumi.getter(name="ipv6AddressCount") def ipv6_address_count(self) -> Optional[int]: + """ + A number of IPv6 addresses to assign to the network interface. + """ return pulumi.get(self, "ipv6_address_count") @property @pulumi.getter(name="ipv6Addresses") def ipv6_addresses(self) -> Optional[Sequence['outputs.InstanceIpv6Address']]: + """ + The IPv6 addresses associated with the network interface. + """ return pulumi.get(self, "ipv6_addresses") @property @pulumi.getter(name="networkInterfaceId") def network_interface_id(self) -> Optional[str]: + """ + The ID of the network interface. + """ return pulumi.get(self, "network_interface_id") @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> Optional[str]: + """ + The private IPv4 address of the network interface. + """ return pulumi.get(self, "private_ip_address") @property @pulumi.getter(name="privateIpAddresses") def private_ip_addresses(self) -> Optional[Sequence['outputs.InstancePrivateIpAddressSpecification']]: + """ + One or more private IPv4 addresses to assign to the network interface. + """ return pulumi.get(self, "private_ip_addresses") @property @pulumi.getter(name="secondaryPrivateIpAddressCount") def secondary_private_ip_address_count(self) -> Optional[int]: + """ + The number of secondary private IPv4 addresses. + """ return pulumi.get(self, "secondary_private_ip_address_count") @property @pulumi.getter(name="subnetId") def subnet_id(self) -> Optional[str]: + """ + The ID of the subnet. + """ return pulumi.get(self, "subnet_id") -@pulumi.output_type -class InstanceNoDevice(dict): - def __init__(__self__): - pass - - @pulumi.output_type class InstancePrivateDnsNameOptions(dict): @staticmethod @@ -2636,7 +2808,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, enable_resource_name_dns_a_record: Optional[bool] = None, enable_resource_name_dns_aaaa_record: Optional[bool] = None, - hostname_type: Optional[str] = None): + hostname_type: Optional['InstancePrivateDnsNameOptionsHostnameType'] = None): + """ + :param bool enable_resource_name_dns_a_record: Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + :param bool enable_resource_name_dns_aaaa_record: Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + :param 'InstancePrivateDnsNameOptionsHostnameType' hostname_type: The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ if enable_resource_name_dns_a_record is not None: pulumi.set(__self__, "enable_resource_name_dns_a_record", enable_resource_name_dns_a_record) if enable_resource_name_dns_aaaa_record is not None: @@ -2647,16 +2824,25 @@ def __init__(__self__, *, @property @pulumi.getter(name="enableResourceNameDnsARecord") def enable_resource_name_dns_a_record(self) -> Optional[bool]: + """ + Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "enable_resource_name_dns_a_record") @property @pulumi.getter(name="enableResourceNameDnsAaaaRecord") def enable_resource_name_dns_aaaa_record(self) -> Optional[bool]: + """ + Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "enable_resource_name_dns_aaaa_record") @property @pulumi.getter(name="hostnameType") - def hostname_type(self) -> Optional[str]: + def hostname_type(self) -> Optional['InstancePrivateDnsNameOptionsHostnameType']: + """ + The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide. + """ return pulumi.get(self, "hostname_type") @@ -2682,17 +2868,27 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, primary: bool, private_ip_address: str): + """ + :param bool primary: Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + :param str private_ip_address: The private IPv4 addresses. + """ pulumi.set(__self__, "primary", primary) pulumi.set(__self__, "private_ip_address", private_ip_address) @property @pulumi.getter def primary(self) -> bool: + """ + Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. + """ return pulumi.get(self, "primary") @property @pulumi.getter(name="privateIpAddress") def private_ip_address(self) -> str: + """ + The private IPv4 addresses. + """ return pulumi.get(self, "private_ip_address") @@ -2720,6 +2916,10 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, document_name: str, association_parameters: Optional[Sequence['outputs.InstanceAssociationParameter']] = None): + """ + :param str document_name: The name of an SSM document to associate with the instance. + :param Sequence['InstanceAssociationParameter'] association_parameters: The input parameter values to use with the associated SSM document. + """ pulumi.set(__self__, "document_name", document_name) if association_parameters is not None: pulumi.set(__self__, "association_parameters", association_parameters) @@ -2727,11 +2927,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="documentName") def document_name(self) -> str: + """ + The name of an SSM document to associate with the instance. + """ return pulumi.get(self, "document_name") @property @pulumi.getter(name="associationParameters") def association_parameters(self) -> Optional[Sequence['outputs.InstanceAssociationParameter']]: + """ + The input parameter values to use with the associated SSM document. + """ return pulumi.get(self, "association_parameters") @@ -2776,17 +2982,27 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, device: str, volume_id: str): + """ + :param str device: The device name (for example, /dev/sdh or xvdh). + :param str volume_id: The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + """ pulumi.set(__self__, "device", device) pulumi.set(__self__, "volume_id", volume_id) @property @pulumi.getter def device(self) -> str: + """ + The device name (for example, /dev/sdh or xvdh). + """ return pulumi.get(self, "device") @property @pulumi.getter(name="volumeId") def volume_id(self) -> str: + """ + The ID of the EBS volume. The volume and instance must be within the same Availability Zone. + """ return pulumi.get(self, "volume_id") @@ -11387,7 +11603,9 @@ class VerifiedAccessTrustProviderDeviceOptions(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "tenantId": + if key == "publicSigningKeyUrl": + suggest = "public_signing_key_url" + elif key == "tenantId": suggest = "tenant_id" if suggest: @@ -11402,14 +11620,26 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + public_signing_key_url: Optional[str] = None, tenant_id: Optional[str] = None): """ The options for device identity based trust providers. + :param str public_signing_key_url: URL Verified Access will use to verify authenticity of the device tokens. :param str tenant_id: The ID of the tenant application with the device-identity provider. """ + if public_signing_key_url is not None: + pulumi.set(__self__, "public_signing_key_url", public_signing_key_url) if tenant_id is not None: pulumi.set(__self__, "tenant_id", tenant_id) + @property + @pulumi.getter(name="publicSigningKeyUrl") + def public_signing_key_url(self) -> Optional[str]: + """ + URL Verified Access will use to verify authenticity of the device tokens. + """ + return pulumi.get(self, "public_signing_key_url") + @property @pulumi.getter(name="tenantId") def tenant_id(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws_native/ec2/security_group_egress.py b/sdk/python/pulumi_aws_native/ec2/security_group_egress.py index 5499fde7ba..0c70a88ebb 100644 --- a/sdk/python/pulumi_aws_native/ec2/security_group_egress.py +++ b/sdk/python/pulumi_aws_native/ec2/security_group_egress.py @@ -25,6 +25,15 @@ def __init__(__self__, *, to_port: Optional[pulumi.Input[int]] = None): """ The set of arguments for constructing a SecurityGroupEgress resource. + :param pulumi.Input[str] group_id: 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. + :param pulumi.Input[str] ip_protocol: [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. + :param pulumi.Input[str] cidr_ip: The IPv4 ranges + :param pulumi.Input[str] cidr_ipv6: [VPC only] The IPv6 ranges + :param pulumi.Input[str] description: Resource Type definition for an egress (outbound) security group rule. + :param pulumi.Input[str] destination_prefix_list_id: [EC2-VPC only] The ID of a prefix list. + :param pulumi.Input[str] destination_security_group_id: You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + :param pulumi.Input[int] from_port: 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. + :param pulumi.Input[int] to_port: 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. """ pulumi.set(__self__, "group_id", group_id) pulumi.set(__self__, "ip_protocol", ip_protocol) @@ -46,6 +55,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="groupId") def group_id(self) -> pulumi.Input[str]: + """ + 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. + """ return pulumi.get(self, "group_id") @group_id.setter @@ -55,6 +67,9 @@ def group_id(self, value: pulumi.Input[str]): @property @pulumi.getter(name="ipProtocol") def ip_protocol(self) -> pulumi.Input[str]: + """ + [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. + """ return pulumi.get(self, "ip_protocol") @ip_protocol.setter @@ -64,6 +79,9 @@ def ip_protocol(self, value: pulumi.Input[str]): @property @pulumi.getter(name="cidrIp") def cidr_ip(self) -> Optional[pulumi.Input[str]]: + """ + The IPv4 ranges + """ return pulumi.get(self, "cidr_ip") @cidr_ip.setter @@ -73,6 +91,9 @@ def cidr_ip(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="cidrIpv6") def cidr_ipv6(self) -> Optional[pulumi.Input[str]]: + """ + [VPC only] The IPv6 ranges + """ return pulumi.get(self, "cidr_ipv6") @cidr_ipv6.setter @@ -82,6 +103,9 @@ def cidr_ipv6(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + Resource Type definition for an egress (outbound) security group rule. + """ return pulumi.get(self, "description") @description.setter @@ -91,6 +115,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="destinationPrefixListId") def destination_prefix_list_id(self) -> Optional[pulumi.Input[str]]: + """ + [EC2-VPC only] The ID of a prefix list. + """ return pulumi.get(self, "destination_prefix_list_id") @destination_prefix_list_id.setter @@ -100,6 +127,9 @@ def destination_prefix_list_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="destinationSecurityGroupId") def destination_security_group_id(self) -> Optional[pulumi.Input[str]]: + """ + You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + """ return pulumi.get(self, "destination_security_group_id") @destination_security_group_id.setter @@ -109,6 +139,9 @@ def destination_security_group_id(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="fromPort") def from_port(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ return pulumi.get(self, "from_port") @from_port.setter @@ -118,6 +151,9 @@ def from_port(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="toPort") def to_port(self) -> Optional[pulumi.Input[int]]: + """ + 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. + """ return pulumi.get(self, "to_port") @to_port.setter @@ -125,12 +161,7 @@ def to_port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "to_port", value) -warnings.warn("""SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class SecurityGroupEgress(pulumi.CustomResource): - warnings.warn("""SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, @@ -150,6 +181,15 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cidr_ip: The IPv4 ranges + :param pulumi.Input[str] cidr_ipv6: [VPC only] The IPv6 ranges + :param pulumi.Input[str] description: Resource Type definition for an egress (outbound) security group rule. + :param pulumi.Input[str] destination_prefix_list_id: [EC2-VPC only] The ID of a prefix list. + :param pulumi.Input[str] destination_security_group_id: You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + :param pulumi.Input[int] from_port: 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. + :param pulumi.Input[str] group_id: 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. + :param pulumi.Input[str] ip_protocol: [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. + :param pulumi.Input[int] to_port: 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. """ ... @overload @@ -185,7 +225,6 @@ def _internal_init(__self__, ip_protocol: Optional[pulumi.Input[str]] = None, to_port: Optional[pulumi.Input[int]] = None, __props__=None): - pulumi.log.warn("""SecurityGroupEgress is deprecated: SecurityGroupEgress is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') @@ -245,45 +284,72 @@ def get(resource_name: str, @property @pulumi.getter(name="cidrIp") def cidr_ip(self) -> pulumi.Output[Optional[str]]: + """ + The IPv4 ranges + """ return pulumi.get(self, "cidr_ip") @property @pulumi.getter(name="cidrIpv6") def cidr_ipv6(self) -> pulumi.Output[Optional[str]]: + """ + [VPC only] The IPv6 ranges + """ return pulumi.get(self, "cidr_ipv6") @property @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: + """ + Resource Type definition for an egress (outbound) security group rule. + """ return pulumi.get(self, "description") @property @pulumi.getter(name="destinationPrefixListId") def destination_prefix_list_id(self) -> pulumi.Output[Optional[str]]: + """ + [EC2-VPC only] The ID of a prefix list. + """ return pulumi.get(self, "destination_prefix_list_id") @property @pulumi.getter(name="destinationSecurityGroupId") def destination_security_group_id(self) -> pulumi.Output[Optional[str]]: + """ + You must specify a destination security group (DestinationPrefixListId or DestinationSecurityGroupId) or a CIDR range (CidrIp or CidrIpv6). + """ return pulumi.get(self, "destination_security_group_id") @property @pulumi.getter(name="fromPort") def from_port(self) -> pulumi.Output[Optional[int]]: + """ + 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. + """ return pulumi.get(self, "from_port") @property @pulumi.getter(name="groupId") def group_id(self) -> pulumi.Output[str]: + """ + 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. + """ return pulumi.get(self, "group_id") @property @pulumi.getter(name="ipProtocol") def ip_protocol(self) -> pulumi.Output[str]: + """ + [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. + """ return pulumi.get(self, "ip_protocol") @property @pulumi.getter(name="toPort") def to_port(self) -> pulumi.Output[Optional[int]]: + """ + 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. + """ return pulumi.get(self, "to_port") diff --git a/sdk/python/pulumi_aws_native/ecs/_enums.py b/sdk/python/pulumi_aws_native/ecs/_enums.py index c2d06c030d..331147207f 100644 --- a/sdk/python/pulumi_aws_native/ecs/_enums.py +++ b/sdk/python/pulumi_aws_native/ecs/_enums.py @@ -5,6 +5,7 @@ from enum import Enum __all__ = [ + 'CapacityProviderAutoScalingGroupProviderManagedDraining', 'CapacityProviderAutoScalingGroupProviderManagedTerminationProtection', 'CapacityProviderManagedScalingStatus', 'ClusterCapacityProviderAssociationsCapacityProvider', @@ -25,6 +26,11 @@ ] +class CapacityProviderAutoScalingGroupProviderManagedDraining(str, Enum): + DISABLED = "DISABLED" + ENABLED = "ENABLED" + + class CapacityProviderAutoScalingGroupProviderManagedTerminationProtection(str, Enum): DISABLED = "DISABLED" ENABLED = "ENABLED" diff --git a/sdk/python/pulumi_aws_native/ecs/_inputs.py b/sdk/python/pulumi_aws_native/ecs/_inputs.py index dde23f3e4c..4e9efc9374 100644 --- a/sdk/python/pulumi_aws_native/ecs/_inputs.py +++ b/sdk/python/pulumi_aws_native/ecs/_inputs.py @@ -81,9 +81,12 @@ class CapacityProviderAutoScalingGroupProviderArgs: def __init__(__self__, *, auto_scaling_group_arn: pulumi.Input[str], + managed_draining: Optional[pulumi.Input['CapacityProviderAutoScalingGroupProviderManagedDraining']] = None, managed_scaling: Optional[pulumi.Input['CapacityProviderManagedScalingArgs']] = None, managed_termination_protection: Optional[pulumi.Input['CapacityProviderAutoScalingGroupProviderManagedTerminationProtection']] = None): pulumi.set(__self__, "auto_scaling_group_arn", auto_scaling_group_arn) + if managed_draining is not None: + pulumi.set(__self__, "managed_draining", managed_draining) if managed_scaling is not None: pulumi.set(__self__, "managed_scaling", managed_scaling) if managed_termination_protection is not None: @@ -98,6 +101,15 @@ def auto_scaling_group_arn(self) -> pulumi.Input[str]: def auto_scaling_group_arn(self, value: pulumi.Input[str]): pulumi.set(self, "auto_scaling_group_arn", value) + @property + @pulumi.getter(name="managedDraining") + def managed_draining(self) -> Optional[pulumi.Input['CapacityProviderAutoScalingGroupProviderManagedDraining']]: + return pulumi.get(self, "managed_draining") + + @managed_draining.setter + def managed_draining(self, value: Optional[pulumi.Input['CapacityProviderAutoScalingGroupProviderManagedDraining']]): + pulumi.set(self, "managed_draining", value) + @property @pulumi.getter(name="managedScaling") def managed_scaling(self) -> Optional[pulumi.Input['CapacityProviderManagedScalingArgs']]: diff --git a/sdk/python/pulumi_aws_native/ecs/outputs.py b/sdk/python/pulumi_aws_native/ecs/outputs.py index b2a197981d..05f94d230f 100644 --- a/sdk/python/pulumi_aws_native/ecs/outputs.py +++ b/sdk/python/pulumi_aws_native/ecs/outputs.py @@ -85,6 +85,8 @@ def __key_warning(key: str): suggest = None if key == "autoScalingGroupArn": suggest = "auto_scaling_group_arn" + elif key == "managedDraining": + suggest = "managed_draining" elif key == "managedScaling": suggest = "managed_scaling" elif key == "managedTerminationProtection": @@ -103,9 +105,12 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, auto_scaling_group_arn: str, + managed_draining: Optional['CapacityProviderAutoScalingGroupProviderManagedDraining'] = None, managed_scaling: Optional['outputs.CapacityProviderManagedScaling'] = None, managed_termination_protection: Optional['CapacityProviderAutoScalingGroupProviderManagedTerminationProtection'] = None): pulumi.set(__self__, "auto_scaling_group_arn", auto_scaling_group_arn) + if managed_draining is not None: + pulumi.set(__self__, "managed_draining", managed_draining) if managed_scaling is not None: pulumi.set(__self__, "managed_scaling", managed_scaling) if managed_termination_protection is not None: @@ -116,6 +121,11 @@ def __init__(__self__, *, def auto_scaling_group_arn(self) -> str: return pulumi.get(self, "auto_scaling_group_arn") + @property + @pulumi.getter(name="managedDraining") + def managed_draining(self) -> Optional['CapacityProviderAutoScalingGroupProviderManagedDraining']: + return pulumi.get(self, "managed_draining") + @property @pulumi.getter(name="managedScaling") def managed_scaling(self) -> Optional['outputs.CapacityProviderManagedScaling']: diff --git a/sdk/python/pulumi_aws_native/elasticache/_inputs.py b/sdk/python/pulumi_aws_native/elasticache/_inputs.py index 92ee4dcc50..85b4b845eb 100644 --- a/sdk/python/pulumi_aws_native/elasticache/_inputs.py +++ b/sdk/python/pulumi_aws_native/elasticache/_inputs.py @@ -31,6 +31,7 @@ 'ServerlessCacheCacheUsageLimitsArgs', 'ServerlessCacheDataStorageArgs', 'ServerlessCacheEcpuPerSecondArgs', + 'ServerlessCacheEndpointArgs', 'ServerlessCacheTagArgs', 'SubnetGroupTagArgs', 'UserGroupTagArgs', @@ -710,6 +711,46 @@ def maximum(self, value: pulumi.Input[int]): pulumi.set(self, "maximum", value) +@pulumi.input_type +class ServerlessCacheEndpointArgs: + def __init__(__self__, *, + address: Optional[pulumi.Input[str]] = None, + port: Optional[pulumi.Input[int]] = None): + """ + The address and the port. + :param pulumi.Input[str] address: Endpoint address. + :param pulumi.Input[int] port: Endpoint port. + """ + if address is not None: + pulumi.set(__self__, "address", address) + if port is not None: + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def address(self) -> Optional[pulumi.Input[str]]: + """ + Endpoint address. + """ + return pulumi.get(self, "address") + + @address.setter + def address(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "address", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + Endpoint port. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @pulumi.input_type class ServerlessCacheTagArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/elasticache/serverless_cache.py b/sdk/python/pulumi_aws_native/elasticache/serverless_cache.py index 24f68c5560..bcf24fed2e 100644 --- a/sdk/python/pulumi_aws_native/elasticache/serverless_cache.py +++ b/sdk/python/pulumi_aws_native/elasticache/serverless_cache.py @@ -21,9 +21,11 @@ def __init__(__self__, *, cache_usage_limits: Optional[pulumi.Input['ServerlessCacheCacheUsageLimitsArgs']] = None, daily_snapshot_time: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + endpoint: Optional[pulumi.Input['ServerlessCacheEndpointArgs']] = None, final_snapshot_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, major_engine_version: Optional[pulumi.Input[str]] = None, + reader_endpoint: Optional[pulumi.Input['ServerlessCacheEndpointArgs']] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_cache_name: Optional[pulumi.Input[str]] = None, snapshot_arns_to_restore: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -54,12 +56,16 @@ def __init__(__self__, *, pulumi.set(__self__, "daily_snapshot_time", daily_snapshot_time) if description is not None: pulumi.set(__self__, "description", description) + if endpoint is not None: + pulumi.set(__self__, "endpoint", endpoint) if final_snapshot_name is not None: pulumi.set(__self__, "final_snapshot_name", final_snapshot_name) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) if major_engine_version is not None: pulumi.set(__self__, "major_engine_version", major_engine_version) + if reader_endpoint is not None: + pulumi.set(__self__, "reader_endpoint", reader_endpoint) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) if serverless_cache_name is not None: @@ -120,6 +126,15 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter + def endpoint(self) -> Optional[pulumi.Input['ServerlessCacheEndpointArgs']]: + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: Optional[pulumi.Input['ServerlessCacheEndpointArgs']]): + pulumi.set(self, "endpoint", value) + @property @pulumi.getter(name="finalSnapshotName") def final_snapshot_name(self) -> Optional[pulumi.Input[str]]: @@ -156,6 +171,15 @@ def major_engine_version(self) -> Optional[pulumi.Input[str]]: def major_engine_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "major_engine_version", value) + @property + @pulumi.getter(name="readerEndpoint") + def reader_endpoint(self) -> Optional[pulumi.Input['ServerlessCacheEndpointArgs']]: + return pulumi.get(self, "reader_endpoint") + + @reader_endpoint.setter + def reader_endpoint(self, value: Optional[pulumi.Input['ServerlessCacheEndpointArgs']]): + pulumi.set(self, "reader_endpoint", value) + @property @pulumi.getter(name="securityGroupIds") def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -249,10 +273,12 @@ def __init__(__self__, cache_usage_limits: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheCacheUsageLimitsArgs']]] = None, daily_snapshot_time: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + endpoint: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheEndpointArgs']]] = None, engine: Optional[pulumi.Input[str]] = None, final_snapshot_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, major_engine_version: Optional[pulumi.Input[str]] = None, + reader_endpoint: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheEndpointArgs']]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_cache_name: Optional[pulumi.Input[str]] = None, snapshot_arns_to_restore: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -307,10 +333,12 @@ def _internal_init(__self__, cache_usage_limits: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheCacheUsageLimitsArgs']]] = None, daily_snapshot_time: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + endpoint: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheEndpointArgs']]] = None, engine: Optional[pulumi.Input[str]] = None, final_snapshot_name: Optional[pulumi.Input[str]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, major_engine_version: Optional[pulumi.Input[str]] = None, + reader_endpoint: Optional[pulumi.Input[pulumi.InputType['ServerlessCacheEndpointArgs']]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, serverless_cache_name: Optional[pulumi.Input[str]] = None, snapshot_arns_to_restore: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -330,12 +358,14 @@ def _internal_init(__self__, __props__.__dict__["cache_usage_limits"] = cache_usage_limits __props__.__dict__["daily_snapshot_time"] = daily_snapshot_time __props__.__dict__["description"] = description + __props__.__dict__["endpoint"] = endpoint if engine is None and not opts.urn: raise TypeError("Missing required property 'engine'") __props__.__dict__["engine"] = engine __props__.__dict__["final_snapshot_name"] = final_snapshot_name __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["major_engine_version"] = major_engine_version + __props__.__dict__["reader_endpoint"] = reader_endpoint __props__.__dict__["security_group_ids"] = security_group_ids __props__.__dict__["serverless_cache_name"] = serverless_cache_name __props__.__dict__["snapshot_arns_to_restore"] = snapshot_arns_to_restore @@ -345,9 +375,7 @@ def _internal_init(__self__, __props__.__dict__["user_group_id"] = user_group_id __props__.__dict__["arn"] = None __props__.__dict__["create_time"] = None - __props__.__dict__["endpoint"] = None __props__.__dict__["full_engine_version"] = None - __props__.__dict__["reader_endpoint"] = None __props__.__dict__["status"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["engine", "kms_key_id", "major_engine_version", "serverless_cache_name", "snapshot_arns_to_restore[*]", "subnet_ids[*]"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) @@ -434,7 +462,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def endpoint(self) -> pulumi.Output['outputs.ServerlessCacheEndpoint']: + def endpoint(self) -> pulumi.Output[Optional['outputs.ServerlessCacheEndpoint']]: return pulumi.get(self, "endpoint") @property @@ -479,7 +507,7 @@ def major_engine_version(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="readerEndpoint") - def reader_endpoint(self) -> pulumi.Output['outputs.ServerlessCacheEndpoint']: + def reader_endpoint(self) -> pulumi.Output[Optional['outputs.ServerlessCacheEndpoint']]: return pulumi.get(self, "reader_endpoint") @property diff --git a/sdk/python/pulumi_aws_native/emr/_enums.py b/sdk/python/pulumi_aws_native/emr/_enums.py index 6a978dc93d..ae254b9869 100644 --- a/sdk/python/pulumi_aws_native/emr/_enums.py +++ b/sdk/python/pulumi_aws_native/emr/_enums.py @@ -6,6 +6,7 @@ __all__ = [ 'StudioAuthMode', + 'StudioIdcUserAssignment', 'StudioSessionMappingIdentityType', ] @@ -18,6 +19,14 @@ class StudioAuthMode(str, Enum): IAM = "IAM" +class StudioIdcUserAssignment(str, Enum): + """ + 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. + """ + REQUIRED = "REQUIRED" + OPTIONAL = "OPTIONAL" + + class StudioSessionMappingIdentityType(str, Enum): """ Specifies whether the identity to map to the Studio is a user or a group. diff --git a/sdk/python/pulumi_aws_native/emr/studio.py b/sdk/python/pulumi_aws_native/emr/studio.py index 89b27b5f49..868e501c5b 100644 --- a/sdk/python/pulumi_aws_native/emr/studio.py +++ b/sdk/python/pulumi_aws_native/emr/studio.py @@ -25,10 +25,14 @@ def __init__(__self__, *, vpc_id: pulumi.Input[str], workspace_security_group_id: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, + encryption_key_arn: Optional[pulumi.Input[str]] = None, + idc_instance_arn: Optional[pulumi.Input[str]] = None, + idc_user_assignment: Optional[pulumi.Input['StudioIdcUserAssignment']] = None, idp_auth_url: Optional[pulumi.Input[str]] = None, idp_relay_state_parameter_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['StudioTagArgs']]]] = None, + trusted_identity_propagation_enabled: Optional[pulumi.Input[bool]] = None, user_role: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Studio resource. @@ -40,10 +44,14 @@ def __init__(__self__, *, :param pulumi.Input[str] vpc_id: The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. :param pulumi.Input[str] workspace_security_group_id: The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by VpcId. :param pulumi.Input[str] description: A detailed description of the Studio. + :param pulumi.Input[str] encryption_key_arn: The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + :param pulumi.Input[str] idc_instance_arn: The ARN of the IAM Identity Center instance to create the Studio application. + :param pulumi.Input['StudioIdcUserAssignment'] idc_user_assignment: 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. :param pulumi.Input[str] idp_auth_url: 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. :param pulumi.Input[str] idp_relay_state_parameter_name: The name of relay state parameter for external Identity Provider. :param pulumi.Input[str] name: A descriptive name for the Amazon EMR Studio. :param pulumi.Input[Sequence[pulumi.Input['StudioTagArgs']]] tags: 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. + :param pulumi.Input[bool] trusted_identity_propagation_enabled: A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. :param pulumi.Input[str] user_role: 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. """ pulumi.set(__self__, "auth_mode", auth_mode) @@ -55,6 +63,12 @@ def __init__(__self__, *, pulumi.set(__self__, "workspace_security_group_id", workspace_security_group_id) if description is not None: pulumi.set(__self__, "description", description) + if encryption_key_arn is not None: + pulumi.set(__self__, "encryption_key_arn", encryption_key_arn) + if idc_instance_arn is not None: + pulumi.set(__self__, "idc_instance_arn", idc_instance_arn) + if idc_user_assignment is not None: + pulumi.set(__self__, "idc_user_assignment", idc_user_assignment) if idp_auth_url is not None: pulumi.set(__self__, "idp_auth_url", idp_auth_url) if idp_relay_state_parameter_name is not None: @@ -63,6 +77,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if trusted_identity_propagation_enabled is not None: + pulumi.set(__self__, "trusted_identity_propagation_enabled", trusted_identity_propagation_enabled) if user_role is not None: pulumi.set(__self__, "user_role", user_role) @@ -162,6 +178,42 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="encryptionKeyArn") + def encryption_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + """ + return pulumi.get(self, "encryption_key_arn") + + @encryption_key_arn.setter + def encryption_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "encryption_key_arn", value) + + @property + @pulumi.getter(name="idcInstanceArn") + def idc_instance_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the IAM Identity Center instance to create the Studio application. + """ + return pulumi.get(self, "idc_instance_arn") + + @idc_instance_arn.setter + def idc_instance_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "idc_instance_arn", value) + + @property + @pulumi.getter(name="idcUserAssignment") + def idc_user_assignment(self) -> Optional[pulumi.Input['StudioIdcUserAssignment']]: + """ + 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. + """ + return pulumi.get(self, "idc_user_assignment") + + @idc_user_assignment.setter + def idc_user_assignment(self, value: Optional[pulumi.Input['StudioIdcUserAssignment']]): + pulumi.set(self, "idc_user_assignment", value) + @property @pulumi.getter(name="idpAuthUrl") def idp_auth_url(self) -> Optional[pulumi.Input[str]]: @@ -210,6 +262,18 @@ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['StudioTagArgs']]] def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['StudioTagArgs']]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="trustedIdentityPropagationEnabled") + def trusted_identity_propagation_enabled(self) -> Optional[pulumi.Input[bool]]: + """ + A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + """ + return pulumi.get(self, "trusted_identity_propagation_enabled") + + @trusted_identity_propagation_enabled.setter + def trusted_identity_propagation_enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "trusted_identity_propagation_enabled", value) + @property @pulumi.getter(name="userRole") def user_role(self) -> Optional[pulumi.Input[str]]: @@ -231,13 +295,17 @@ def __init__(__self__, auth_mode: Optional[pulumi.Input['StudioAuthMode']] = None, default_s3_location: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + encryption_key_arn: Optional[pulumi.Input[str]] = None, engine_security_group_id: Optional[pulumi.Input[str]] = None, + idc_instance_arn: Optional[pulumi.Input[str]] = None, + idc_user_assignment: Optional[pulumi.Input['StudioIdcUserAssignment']] = None, idp_auth_url: Optional[pulumi.Input[str]] = None, idp_relay_state_parameter_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_role: Optional[pulumi.Input[str]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StudioTagArgs']]]]] = None, + trusted_identity_propagation_enabled: Optional[pulumi.Input[bool]] = None, user_role: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, workspace_security_group_id: Optional[pulumi.Input[str]] = None, @@ -250,13 +318,17 @@ def __init__(__self__, :param pulumi.Input['StudioAuthMode'] auth_mode: Specifies whether the Studio authenticates users using single sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO authentication. :param pulumi.Input[str] default_s3_location: The default Amazon S3 location to back up EMR Studio Workspaces and notebook files. A Studio user can select an alternative Amazon S3 location when creating a Workspace. :param pulumi.Input[str] description: A detailed description of the Studio. + :param pulumi.Input[str] encryption_key_arn: The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. :param pulumi.Input[str] engine_security_group_id: 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. + :param pulumi.Input[str] idc_instance_arn: The ARN of the IAM Identity Center instance to create the Studio application. + :param pulumi.Input['StudioIdcUserAssignment'] idc_user_assignment: 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. :param pulumi.Input[str] idp_auth_url: 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. :param pulumi.Input[str] idp_relay_state_parameter_name: The name of relay state parameter for external Identity Provider. :param pulumi.Input[str] name: A descriptive name for the Amazon EMR Studio. :param pulumi.Input[str] service_role: The IAM role that will be assumed by the Amazon EMR Studio. The service role provides a way for Amazon EMR Studio to interoperate with other AWS services. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of up to 5 subnet IDs to associate with the Studio. The subnets must belong to the VPC specified by VpcId. Studio users can create a Workspace in any of the specified subnets. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StudioTagArgs']]]] tags: 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. + :param pulumi.Input[bool] trusted_identity_propagation_enabled: A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. :param pulumi.Input[str] user_role: 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. :param pulumi.Input[str] vpc_id: The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio. :param pulumi.Input[str] workspace_security_group_id: The ID of the Amazon EMR Studio Workspace security group. The Workspace security group allows outbound network traffic to resources in the Engine security group, and it must be in the same VPC specified by VpcId. @@ -288,13 +360,17 @@ def _internal_init(__self__, auth_mode: Optional[pulumi.Input['StudioAuthMode']] = None, default_s3_location: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, + encryption_key_arn: Optional[pulumi.Input[str]] = None, engine_security_group_id: Optional[pulumi.Input[str]] = None, + idc_instance_arn: Optional[pulumi.Input[str]] = None, + idc_user_assignment: Optional[pulumi.Input['StudioIdcUserAssignment']] = None, idp_auth_url: Optional[pulumi.Input[str]] = None, idp_relay_state_parameter_name: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, service_role: Optional[pulumi.Input[str]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['StudioTagArgs']]]]] = None, + trusted_identity_propagation_enabled: Optional[pulumi.Input[bool]] = None, user_role: Optional[pulumi.Input[str]] = None, vpc_id: Optional[pulumi.Input[str]] = None, workspace_security_group_id: Optional[pulumi.Input[str]] = None, @@ -314,9 +390,12 @@ def _internal_init(__self__, raise TypeError("Missing required property 'default_s3_location'") __props__.__dict__["default_s3_location"] = default_s3_location __props__.__dict__["description"] = description + __props__.__dict__["encryption_key_arn"] = encryption_key_arn if engine_security_group_id is None and not opts.urn: raise TypeError("Missing required property 'engine_security_group_id'") __props__.__dict__["engine_security_group_id"] = engine_security_group_id + __props__.__dict__["idc_instance_arn"] = idc_instance_arn + __props__.__dict__["idc_user_assignment"] = idc_user_assignment __props__.__dict__["idp_auth_url"] = idp_auth_url __props__.__dict__["idp_relay_state_parameter_name"] = idp_relay_state_parameter_name __props__.__dict__["name"] = name @@ -327,6 +406,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'subnet_ids'") __props__.__dict__["subnet_ids"] = subnet_ids __props__.__dict__["tags"] = tags + __props__.__dict__["trusted_identity_propagation_enabled"] = trusted_identity_propagation_enabled __props__.__dict__["user_role"] = user_role if vpc_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_id'") @@ -337,7 +417,7 @@ def _internal_init(__self__, __props__.__dict__["arn"] = None __props__.__dict__["studio_id"] = None __props__.__dict__["url"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["auth_mode", "engine_security_group_id", "service_role", "user_role", "vpc_id", "workspace_security_group_id"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["auth_mode", "encryption_key_arn", "engine_security_group_id", "idc_instance_arn", "idc_user_assignment", "service_role", "trusted_identity_propagation_enabled", "user_role", "vpc_id", "workspace_security_group_id"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Studio, __self__).__init__( 'aws-native:emr:Studio', @@ -365,7 +445,10 @@ def get(resource_name: str, __props__.__dict__["auth_mode"] = None __props__.__dict__["default_s3_location"] = None __props__.__dict__["description"] = None + __props__.__dict__["encryption_key_arn"] = None __props__.__dict__["engine_security_group_id"] = None + __props__.__dict__["idc_instance_arn"] = None + __props__.__dict__["idc_user_assignment"] = None __props__.__dict__["idp_auth_url"] = None __props__.__dict__["idp_relay_state_parameter_name"] = None __props__.__dict__["name"] = None @@ -373,6 +456,7 @@ def get(resource_name: str, __props__.__dict__["studio_id"] = None __props__.__dict__["subnet_ids"] = None __props__.__dict__["tags"] = None + __props__.__dict__["trusted_identity_propagation_enabled"] = None __props__.__dict__["url"] = None __props__.__dict__["user_role"] = None __props__.__dict__["vpc_id"] = None @@ -411,6 +495,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="encryptionKeyArn") + def encryption_key_arn(self) -> pulumi.Output[Optional[str]]: + """ + The AWS KMS key identifier (ARN) used to encrypt AWS EMR Studio workspace and notebook files when backed up to AWS S3. + """ + return pulumi.get(self, "encryption_key_arn") + @property @pulumi.getter(name="engineSecurityGroupId") def engine_security_group_id(self) -> pulumi.Output[str]: @@ -419,6 +511,22 @@ def engine_security_group_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "engine_security_group_id") + @property + @pulumi.getter(name="idcInstanceArn") + def idc_instance_arn(self) -> pulumi.Output[Optional[str]]: + """ + The ARN of the IAM Identity Center instance to create the Studio application. + """ + return pulumi.get(self, "idc_instance_arn") + + @property + @pulumi.getter(name="idcUserAssignment") + def idc_user_assignment(self) -> pulumi.Output[Optional['StudioIdcUserAssignment']]: + """ + 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. + """ + return pulumi.get(self, "idc_user_assignment") + @property @pulumi.getter(name="idpAuthUrl") def idp_auth_url(self) -> pulumi.Output[Optional[str]]: @@ -475,6 +583,14 @@ def tags(self) -> pulumi.Output[Optional[Sequence['outputs.StudioTag']]]: """ return pulumi.get(self, "tags") + @property + @pulumi.getter(name="trustedIdentityPropagationEnabled") + def trusted_identity_propagation_enabled(self) -> pulumi.Output[Optional[bool]]: + """ + A Boolean indicating whether to enable Trusted identity propagation for the Studio. The default value is false. + """ + return pulumi.get(self, "trusted_identity_propagation_enabled") + @property @pulumi.getter def url(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/eventschemas/discoverer.py b/sdk/python/pulumi_aws_native/eventschemas/discoverer.py index 5482256a0b..f841dced40 100644 --- a/sdk/python/pulumi_aws_native/eventschemas/discoverer.py +++ b/sdk/python/pulumi_aws_native/eventschemas/discoverer.py @@ -22,6 +22,10 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['DiscovererTagsEntryArgs']]]] = None): """ The set of arguments for constructing a Discoverer resource. + :param pulumi.Input[str] source_arn: The ARN of the event bus. + :param pulumi.Input[bool] cross_account: Defines whether event schemas from other accounts are discovered. Default is True. + :param pulumi.Input[str] description: A description for the discoverer. + :param pulumi.Input[Sequence[pulumi.Input['DiscovererTagsEntryArgs']]] tags: Tags associated with the resource. """ pulumi.set(__self__, "source_arn", source_arn) if cross_account is not None: @@ -34,6 +38,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="sourceArn") def source_arn(self) -> pulumi.Input[str]: + """ + The ARN of the event bus. + """ return pulumi.get(self, "source_arn") @source_arn.setter @@ -43,6 +50,9 @@ def source_arn(self, value: pulumi.Input[str]): @property @pulumi.getter(name="crossAccount") def cross_account(self) -> Optional[pulumi.Input[bool]]: + """ + Defines whether event schemas from other accounts are discovered. Default is True. + """ return pulumi.get(self, "cross_account") @cross_account.setter @@ -52,6 +62,9 @@ def cross_account(self, value: Optional[pulumi.Input[bool]]): @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + A description for the discoverer. + """ return pulumi.get(self, "description") @description.setter @@ -61,6 +74,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiscovererTagsEntryArgs']]]]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") @tags.setter @@ -68,12 +84,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiscovererTag pulumi.set(self, "tags", value) -warnings.warn("""Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class Discoverer(pulumi.CustomResource): - warnings.warn("""Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, @@ -88,6 +99,10 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[bool] cross_account: Defines whether event schemas from other accounts are discovered. Default is True. + :param pulumi.Input[str] description: A description for the discoverer. + :param pulumi.Input[str] source_arn: The ARN of the event bus. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DiscovererTagsEntryArgs']]]] tags: Tags associated with the resource. """ ... @overload @@ -118,7 +133,6 @@ def _internal_init(__self__, source_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DiscovererTagsEntryArgs']]]]] = None, __props__=None): - pulumi.log.warn("""Discoverer is deprecated: Discoverer is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') @@ -135,6 +149,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["discoverer_arn"] = None __props__.__dict__["discoverer_id"] = None + __props__.__dict__["state"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["source_arn"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Discoverer, __self__).__init__( @@ -164,36 +179,63 @@ def get(resource_name: str, __props__.__dict__["discoverer_arn"] = None __props__.__dict__["discoverer_id"] = None __props__.__dict__["source_arn"] = None + __props__.__dict__["state"] = None __props__.__dict__["tags"] = None return Discoverer(resource_name, opts=opts, __props__=__props__) @property @pulumi.getter(name="crossAccount") def cross_account(self) -> pulumi.Output[Optional[bool]]: + """ + Defines whether event schemas from other accounts are discovered. Default is True. + """ return pulumi.get(self, "cross_account") @property @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: + """ + A description for the discoverer. + """ return pulumi.get(self, "description") @property @pulumi.getter(name="discovererArn") def discoverer_arn(self) -> pulumi.Output[str]: + """ + The ARN of the discoverer. + """ return pulumi.get(self, "discoverer_arn") @property @pulumi.getter(name="discovererId") def discoverer_id(self) -> pulumi.Output[str]: + """ + The Id of the discoverer. + """ return pulumi.get(self, "discoverer_id") @property @pulumi.getter(name="sourceArn") def source_arn(self) -> pulumi.Output[str]: + """ + The ARN of the event bus. + """ return pulumi.get(self, "source_arn") + @property + @pulumi.getter + def state(self) -> pulumi.Output[str]: + """ + Defines the current state of the discoverer. + """ + return pulumi.get(self, "state") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DiscovererTagsEntry']]]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/eventschemas/get_discoverer.py b/sdk/python/pulumi_aws_native/eventschemas/get_discoverer.py index cfa809d73a..1c007753ca 100644 --- a/sdk/python/pulumi_aws_native/eventschemas/get_discoverer.py +++ b/sdk/python/pulumi_aws_native/eventschemas/get_discoverer.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetDiscovererResult: - def __init__(__self__, cross_account=None, description=None, discoverer_arn=None, discoverer_id=None, tags=None): + def __init__(__self__, cross_account=None, description=None, discoverer_arn=None, discoverer_id=None, state=None, tags=None): if cross_account and not isinstance(cross_account, bool): raise TypeError("Expected argument 'cross_account' to be a bool") pulumi.set(__self__, "cross_account", cross_account) @@ -32,6 +32,9 @@ def __init__(__self__, cross_account=None, description=None, discoverer_arn=None if discoverer_id and not isinstance(discoverer_id, str): raise TypeError("Expected argument 'discoverer_id' to be a str") pulumi.set(__self__, "discoverer_id", discoverer_id) + if state and not isinstance(state, str): + raise TypeError("Expected argument 'state' to be a str") + pulumi.set(__self__, "state", state) if tags and not isinstance(tags, list): raise TypeError("Expected argument 'tags' to be a list") pulumi.set(__self__, "tags", tags) @@ -39,26 +42,49 @@ def __init__(__self__, cross_account=None, description=None, discoverer_arn=None @property @pulumi.getter(name="crossAccount") def cross_account(self) -> Optional[bool]: + """ + Defines whether event schemas from other accounts are discovered. Default is True. + """ return pulumi.get(self, "cross_account") @property @pulumi.getter def description(self) -> Optional[str]: + """ + A description for the discoverer. + """ return pulumi.get(self, "description") @property @pulumi.getter(name="discovererArn") def discoverer_arn(self) -> Optional[str]: + """ + The ARN of the discoverer. + """ return pulumi.get(self, "discoverer_arn") @property @pulumi.getter(name="discovererId") def discoverer_id(self) -> Optional[str]: + """ + The Id of the discoverer. + """ return pulumi.get(self, "discoverer_id") + @property + @pulumi.getter + def state(self) -> Optional[str]: + """ + Defines the current state of the discoverer. + """ + return pulumi.get(self, "state") + @property @pulumi.getter def tags(self) -> Optional[Sequence['outputs.DiscovererTagsEntry']]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") @@ -72,16 +98,20 @@ def __await__(self): description=self.description, discoverer_arn=self.discoverer_arn, discoverer_id=self.discoverer_id, + state=self.state, tags=self.tags) -def get_discoverer(discoverer_id: Optional[str] = None, +def get_discoverer(discoverer_arn: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDiscovererResult: """ Resource Type definition for AWS::EventSchemas::Discoverer + + + :param str discoverer_arn: The ARN of the discoverer. """ __args__ = dict() - __args__['discovererId'] = discoverer_id + __args__['discovererArn'] = discoverer_arn opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:eventschemas:getDiscoverer', __args__, opts=opts, typ=GetDiscovererResult).value @@ -90,13 +120,17 @@ def get_discoverer(discoverer_id: Optional[str] = None, description=pulumi.get(__ret__, 'description'), discoverer_arn=pulumi.get(__ret__, 'discoverer_arn'), discoverer_id=pulumi.get(__ret__, 'discoverer_id'), + state=pulumi.get(__ret__, 'state'), tags=pulumi.get(__ret__, 'tags')) @_utilities.lift_output_func(get_discoverer) -def get_discoverer_output(discoverer_id: Optional[pulumi.Input[str]] = None, +def get_discoverer_output(discoverer_arn: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDiscovererResult]: """ Resource Type definition for AWS::EventSchemas::Discoverer + + + :param str discoverer_arn: The ARN of the discoverer. """ ... diff --git a/sdk/python/pulumi_aws_native/eventschemas/get_registry.py b/sdk/python/pulumi_aws_native/eventschemas/get_registry.py index 1ed5ee5407..cd5ee2615a 100644 --- a/sdk/python/pulumi_aws_native/eventschemas/get_registry.py +++ b/sdk/python/pulumi_aws_native/eventschemas/get_registry.py @@ -19,13 +19,10 @@ @pulumi.output_type class GetRegistryResult: - def __init__(__self__, description=None, id=None, registry_arn=None, tags=None): + def __init__(__self__, description=None, registry_arn=None, tags=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) if registry_arn and not isinstance(registry_arn, str): raise TypeError("Expected argument 'registry_arn' to be a str") pulumi.set(__self__, "registry_arn", registry_arn) @@ -36,21 +33,25 @@ def __init__(__self__, description=None, id=None, registry_arn=None, tags=None): @property @pulumi.getter def description(self) -> Optional[str]: + """ + A description of the registry to be created. + """ return pulumi.get(self, "description") - @property - @pulumi.getter - def id(self) -> Optional[str]: - return pulumi.get(self, "id") - @property @pulumi.getter(name="registryArn") def registry_arn(self) -> Optional[str]: + """ + The ARN of the registry. + """ return pulumi.get(self, "registry_arn") @property @pulumi.getter def tags(self) -> Optional[Sequence['outputs.RegistryTagsEntry']]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") @@ -61,32 +62,36 @@ def __await__(self): yield self return GetRegistryResult( description=self.description, - id=self.id, registry_arn=self.registry_arn, tags=self.tags) -def get_registry(id: Optional[str] = None, +def get_registry(registry_arn: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegistryResult: """ Resource Type definition for AWS::EventSchemas::Registry + + + :param str registry_arn: The ARN of the registry. """ __args__ = dict() - __args__['id'] = id + __args__['registryArn'] = registry_arn opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:eventschemas:getRegistry', __args__, opts=opts, typ=GetRegistryResult).value return AwaitableGetRegistryResult( description=pulumi.get(__ret__, 'description'), - id=pulumi.get(__ret__, 'id'), registry_arn=pulumi.get(__ret__, 'registry_arn'), tags=pulumi.get(__ret__, 'tags')) @_utilities.lift_output_func(get_registry) -def get_registry_output(id: Optional[pulumi.Input[str]] = None, +def get_registry_output(registry_arn: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegistryResult]: """ Resource Type definition for AWS::EventSchemas::Registry + + + :param str registry_arn: The ARN of the registry. """ ... diff --git a/sdk/python/pulumi_aws_native/eventschemas/registry.py b/sdk/python/pulumi_aws_native/eventschemas/registry.py index 8063a0f61e..51239e8b1e 100644 --- a/sdk/python/pulumi_aws_native/eventschemas/registry.py +++ b/sdk/python/pulumi_aws_native/eventschemas/registry.py @@ -21,6 +21,9 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryTagsEntryArgs']]]] = None): """ The set of arguments for constructing a Registry resource. + :param pulumi.Input[str] description: A description of the registry to be created. + :param pulumi.Input[str] registry_name: The name of the schema registry. + :param pulumi.Input[Sequence[pulumi.Input['RegistryTagsEntryArgs']]] tags: Tags associated with the resource. """ if description is not None: pulumi.set(__self__, "description", description) @@ -32,6 +35,9 @@ def __init__(__self__, *, @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the registry to be created. + """ return pulumi.get(self, "description") @description.setter @@ -41,6 +47,9 @@ def description(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="registryName") def registry_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the schema registry. + """ return pulumi.get(self, "registry_name") @registry_name.setter @@ -50,6 +59,9 @@ def registry_name(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegistryTagsEntryArgs']]]]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") @tags.setter @@ -57,12 +69,7 @@ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegistryTagsE pulumi.set(self, "tags", value) -warnings.warn("""Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - - class Registry(pulumi.CustomResource): - warnings.warn("""Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""", DeprecationWarning) - @overload def __init__(__self__, resource_name: str, @@ -76,6 +83,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description of the registry to be created. + :param pulumi.Input[str] registry_name: The name of the schema registry. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryTagsEntryArgs']]]] tags: Tags associated with the resource. """ ... @overload @@ -105,7 +115,6 @@ def _internal_init(__self__, registry_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryTagsEntryArgs']]]]] = None, __props__=None): - pulumi.log.warn("""Registry is deprecated: Registry is not yet supported by AWS Native, so its creation will currently fail. Please use the classic AWS provider, if possible.""") opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): raise TypeError('Expected resource options to be a ResourceOptions instance') @@ -151,20 +160,32 @@ def get(resource_name: str, @property @pulumi.getter def description(self) -> pulumi.Output[Optional[str]]: + """ + A description of the registry to be created. + """ return pulumi.get(self, "description") @property @pulumi.getter(name="registryArn") def registry_arn(self) -> pulumi.Output[str]: + """ + The ARN of the registry. + """ return pulumi.get(self, "registry_arn") @property @pulumi.getter(name="registryName") def registry_name(self) -> pulumi.Output[Optional[str]]: + """ + The name of the schema registry. + """ return pulumi.get(self, "registry_name") @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.RegistryTagsEntry']]]: + """ + Tags associated with the resource. + """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/fis/__init__.py b/sdk/python/pulumi_aws_native/fis/__init__.py index 1e39856430..c622ad081e 100644 --- a/sdk/python/pulumi_aws_native/fis/__init__.py +++ b/sdk/python/pulumi_aws_native/fis/__init__.py @@ -5,7 +5,10 @@ from .. import _utilities import typing # Export this package's modules as members: +from ._enums import * from .experiment_template import * from .get_experiment_template import * +from .get_target_account_configuration import * +from .target_account_configuration import * from ._inputs import * from . import outputs diff --git a/sdk/python/pulumi_aws_native/fis/_enums.py b/sdk/python/pulumi_aws_native/fis/_enums.py new file mode 100644 index 0000000000..8987c8bd13 --- /dev/null +++ b/sdk/python/pulumi_aws_native/fis/_enums.py @@ -0,0 +1,26 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ExperimentTemplateExperimentOptionsAccountTargeting', + 'ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode', +] + + +class ExperimentTemplateExperimentOptionsAccountTargeting(str, Enum): + """ + The account targeting setting for the experiment template. + """ + MULTI_ACCOUNT = "multi-account" + SINGLE_ACCOUNT = "single-account" + + +class ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode(str, Enum): + """ + The target resolution failure mode for the experiment template. + """ + FAIL = "fail" + SKIP = "skip" diff --git a/sdk/python/pulumi_aws_native/fis/_inputs.py b/sdk/python/pulumi_aws_native/fis/_inputs.py index 99cccfd2f4..98d68c35a7 100644 --- a/sdk/python/pulumi_aws_native/fis/_inputs.py +++ b/sdk/python/pulumi_aws_native/fis/_inputs.py @@ -8,9 +8,11 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from ._enums import * __all__ = [ 'ExperimentTemplateActionMapArgs', + 'ExperimentTemplateExperimentOptionsArgs', 'ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationPropertiesArgs', 'ExperimentTemplateLogConfigurationS3ConfigurationPropertiesArgs', 'ExperimentTemplateLogConfigurationArgs', @@ -27,6 +29,45 @@ def __init__(__self__): pass +@pulumi.input_type +class ExperimentTemplateExperimentOptionsArgs: + def __init__(__self__, *, + account_targeting: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsAccountTargeting']] = None, + empty_target_resolution_mode: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode']] = None): + """ + :param pulumi.Input['ExperimentTemplateExperimentOptionsAccountTargeting'] account_targeting: The account targeting setting for the experiment template. + :param pulumi.Input['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode'] empty_target_resolution_mode: The target resolution failure mode for the experiment template. + """ + if account_targeting is not None: + pulumi.set(__self__, "account_targeting", account_targeting) + if empty_target_resolution_mode is not None: + pulumi.set(__self__, "empty_target_resolution_mode", empty_target_resolution_mode) + + @property + @pulumi.getter(name="accountTargeting") + def account_targeting(self) -> Optional[pulumi.Input['ExperimentTemplateExperimentOptionsAccountTargeting']]: + """ + The account targeting setting for the experiment template. + """ + return pulumi.get(self, "account_targeting") + + @account_targeting.setter + def account_targeting(self, value: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsAccountTargeting']]): + pulumi.set(self, "account_targeting", value) + + @property + @pulumi.getter(name="emptyTargetResolutionMode") + def empty_target_resolution_mode(self) -> Optional[pulumi.Input['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode']]: + """ + The target resolution failure mode for the experiment template. + """ + return pulumi.get(self, "empty_target_resolution_mode") + + @empty_target_resolution_mode.setter + def empty_target_resolution_mode(self, value: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode']]): + pulumi.set(self, "empty_target_resolution_mode", value) + + @pulumi.input_type class ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationPropertiesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/fis/experiment_template.py b/sdk/python/pulumi_aws_native/fis/experiment_template.py index 1340612bf0..ab2d525b33 100644 --- a/sdk/python/pulumi_aws_native/fis/experiment_template.py +++ b/sdk/python/pulumi_aws_native/fis/experiment_template.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * from ._inputs import * __all__ = ['ExperimentTemplateArgs', 'ExperimentTemplate'] @@ -22,6 +23,7 @@ def __init__(__self__, *, tags: Any, targets: pulumi.Input['ExperimentTemplateTargetMapArgs'], actions: Optional[pulumi.Input['ExperimentTemplateActionMapArgs']] = None, + experiment_options: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsArgs']] = None, log_configuration: Optional[pulumi.Input['ExperimentTemplateLogConfigurationArgs']] = None): """ The set of arguments for constructing a ExperimentTemplate resource. @@ -33,6 +35,8 @@ def __init__(__self__, *, pulumi.set(__self__, "targets", targets) if actions is not None: pulumi.set(__self__, "actions", actions) + if experiment_options is not None: + pulumi.set(__self__, "experiment_options", experiment_options) if log_configuration is not None: pulumi.set(__self__, "log_configuration", log_configuration) @@ -90,6 +94,15 @@ def actions(self) -> Optional[pulumi.Input['ExperimentTemplateActionMapArgs']]: def actions(self, value: Optional[pulumi.Input['ExperimentTemplateActionMapArgs']]): pulumi.set(self, "actions", value) + @property + @pulumi.getter(name="experimentOptions") + def experiment_options(self) -> Optional[pulumi.Input['ExperimentTemplateExperimentOptionsArgs']]: + return pulumi.get(self, "experiment_options") + + @experiment_options.setter + def experiment_options(self, value: Optional[pulumi.Input['ExperimentTemplateExperimentOptionsArgs']]): + pulumi.set(self, "experiment_options", value) + @property @pulumi.getter(name="logConfiguration") def log_configuration(self) -> Optional[pulumi.Input['ExperimentTemplateLogConfigurationArgs']]: @@ -107,6 +120,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, actions: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateActionMapArgs']]] = None, description: Optional[pulumi.Input[str]] = None, + experiment_options: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateExperimentOptionsArgs']]] = None, log_configuration: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateLogConfigurationArgs']]] = None, role_arn: Optional[pulumi.Input[str]] = None, stop_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExperimentTemplateStopConditionArgs']]]]] = None, @@ -145,6 +159,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, actions: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateActionMapArgs']]] = None, description: Optional[pulumi.Input[str]] = None, + experiment_options: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateExperimentOptionsArgs']]] = None, log_configuration: Optional[pulumi.Input[pulumi.InputType['ExperimentTemplateLogConfigurationArgs']]] = None, role_arn: Optional[pulumi.Input[str]] = None, stop_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ExperimentTemplateStopConditionArgs']]]]] = None, @@ -163,6 +178,7 @@ def _internal_init(__self__, if description is None and not opts.urn: raise TypeError("Missing required property 'description'") __props__.__dict__["description"] = description + __props__.__dict__["experiment_options"] = experiment_options __props__.__dict__["log_configuration"] = log_configuration if role_arn is None and not opts.urn: raise TypeError("Missing required property 'role_arn'") @@ -202,6 +218,7 @@ def get(resource_name: str, __props__.__dict__["actions"] = None __props__.__dict__["description"] = None + __props__.__dict__["experiment_options"] = None __props__.__dict__["log_configuration"] = None __props__.__dict__["role_arn"] = None __props__.__dict__["stop_conditions"] = None @@ -219,6 +236,11 @@ def actions(self) -> pulumi.Output[Optional['outputs.ExperimentTemplateActionMap def description(self) -> pulumi.Output[str]: return pulumi.get(self, "description") + @property + @pulumi.getter(name="experimentOptions") + def experiment_options(self) -> pulumi.Output[Optional['outputs.ExperimentTemplateExperimentOptions']]: + return pulumi.get(self, "experiment_options") + @property @pulumi.getter(name="logConfiguration") def log_configuration(self) -> pulumi.Output[Optional['outputs.ExperimentTemplateLogConfiguration']]: diff --git a/sdk/python/pulumi_aws_native/fis/get_experiment_template.py b/sdk/python/pulumi_aws_native/fis/get_experiment_template.py index 748b91cc15..bc070d3f65 100644 --- a/sdk/python/pulumi_aws_native/fis/get_experiment_template.py +++ b/sdk/python/pulumi_aws_native/fis/get_experiment_template.py @@ -9,6 +9,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * __all__ = [ 'GetExperimentTemplateResult', @@ -19,13 +20,16 @@ @pulumi.output_type class GetExperimentTemplateResult: - def __init__(__self__, actions=None, description=None, id=None, log_configuration=None, role_arn=None, stop_conditions=None, targets=None): + def __init__(__self__, actions=None, description=None, experiment_options=None, id=None, log_configuration=None, role_arn=None, stop_conditions=None, targets=None): if actions and not isinstance(actions, dict): raise TypeError("Expected argument 'actions' to be a dict") pulumi.set(__self__, "actions", actions) if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if experiment_options and not isinstance(experiment_options, dict): + raise TypeError("Expected argument 'experiment_options' to be a dict") + pulumi.set(__self__, "experiment_options", experiment_options) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -52,6 +56,11 @@ def actions(self) -> Optional['outputs.ExperimentTemplateActionMap']: def description(self) -> Optional[str]: return pulumi.get(self, "description") + @property + @pulumi.getter(name="experimentOptions") + def experiment_options(self) -> Optional['outputs.ExperimentTemplateExperimentOptions']: + return pulumi.get(self, "experiment_options") + @property @pulumi.getter def id(self) -> Optional[str]: @@ -86,6 +95,7 @@ def __await__(self): return GetExperimentTemplateResult( actions=self.actions, description=self.description, + experiment_options=self.experiment_options, id=self.id, log_configuration=self.log_configuration, role_arn=self.role_arn, @@ -106,6 +116,7 @@ def get_experiment_template(id: Optional[str] = None, return AwaitableGetExperimentTemplateResult( actions=pulumi.get(__ret__, 'actions'), description=pulumi.get(__ret__, 'description'), + experiment_options=pulumi.get(__ret__, 'experiment_options'), id=pulumi.get(__ret__, 'id'), log_configuration=pulumi.get(__ret__, 'log_configuration'), role_arn=pulumi.get(__ret__, 'role_arn'), diff --git a/sdk/python/pulumi_aws_native/fis/get_target_account_configuration.py b/sdk/python/pulumi_aws_native/fis/get_target_account_configuration.py new file mode 100644 index 0000000000..2c449b8837 --- /dev/null +++ b/sdk/python/pulumi_aws_native/fis/get_target_account_configuration.py @@ -0,0 +1,74 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetTargetAccountConfigurationResult', + 'AwaitableGetTargetAccountConfigurationResult', + 'get_target_account_configuration', + 'get_target_account_configuration_output', +] + +@pulumi.output_type +class GetTargetAccountConfigurationResult: + def __init__(__self__, description=None, role_arn=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if role_arn and not isinstance(role_arn, str): + raise TypeError("Expected argument 'role_arn' to be a str") + pulumi.set(__self__, "role_arn", role_arn) + + @property + @pulumi.getter + def description(self) -> Optional[str]: + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> Optional[str]: + return pulumi.get(self, "role_arn") + + +class AwaitableGetTargetAccountConfigurationResult(GetTargetAccountConfigurationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTargetAccountConfigurationResult( + description=self.description, + role_arn=self.role_arn) + + +def get_target_account_configuration(account_id: Optional[str] = None, + experiment_template_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTargetAccountConfigurationResult: + """ + Resource schema for AWS::FIS::TargetAccountConfiguration + """ + __args__ = dict() + __args__['accountId'] = account_id + __args__['experimentTemplateId'] = experiment_template_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:fis:getTargetAccountConfiguration', __args__, opts=opts, typ=GetTargetAccountConfigurationResult).value + + return AwaitableGetTargetAccountConfigurationResult( + description=pulumi.get(__ret__, 'description'), + role_arn=pulumi.get(__ret__, 'role_arn')) + + +@_utilities.lift_output_func(get_target_account_configuration) +def get_target_account_configuration_output(account_id: Optional[pulumi.Input[str]] = None, + experiment_template_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTargetAccountConfigurationResult]: + """ + Resource schema for AWS::FIS::TargetAccountConfiguration + """ + ... diff --git a/sdk/python/pulumi_aws_native/fis/outputs.py b/sdk/python/pulumi_aws_native/fis/outputs.py index 0bd7a29729..4116989e09 100644 --- a/sdk/python/pulumi_aws_native/fis/outputs.py +++ b/sdk/python/pulumi_aws_native/fis/outputs.py @@ -9,9 +9,11 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities from . import outputs +from ._enums import * __all__ = [ 'ExperimentTemplateActionMap', + 'ExperimentTemplateExperimentOptions', 'ExperimentTemplateLogConfiguration', 'ExperimentTemplateLogConfigurationCloudWatchLogsConfigurationProperties', 'ExperimentTemplateLogConfigurationS3ConfigurationProperties', @@ -31,6 +33,56 @@ def __init__(__self__): pass +@pulumi.output_type +class ExperimentTemplateExperimentOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountTargeting": + suggest = "account_targeting" + elif key == "emptyTargetResolutionMode": + suggest = "empty_target_resolution_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExperimentTemplateExperimentOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExperimentTemplateExperimentOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExperimentTemplateExperimentOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_targeting: Optional['ExperimentTemplateExperimentOptionsAccountTargeting'] = None, + empty_target_resolution_mode: Optional['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode'] = None): + """ + :param 'ExperimentTemplateExperimentOptionsAccountTargeting' account_targeting: The account targeting setting for the experiment template. + :param 'ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode' empty_target_resolution_mode: The target resolution failure mode for the experiment template. + """ + if account_targeting is not None: + pulumi.set(__self__, "account_targeting", account_targeting) + if empty_target_resolution_mode is not None: + pulumi.set(__self__, "empty_target_resolution_mode", empty_target_resolution_mode) + + @property + @pulumi.getter(name="accountTargeting") + def account_targeting(self) -> Optional['ExperimentTemplateExperimentOptionsAccountTargeting']: + """ + The account targeting setting for the experiment template. + """ + return pulumi.get(self, "account_targeting") + + @property + @pulumi.getter(name="emptyTargetResolutionMode") + def empty_target_resolution_mode(self) -> Optional['ExperimentTemplateExperimentOptionsEmptyTargetResolutionMode']: + """ + The target resolution failure mode for the experiment template. + """ + return pulumi.get(self, "empty_target_resolution_mode") + + @pulumi.output_type class ExperimentTemplateLogConfiguration(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/fis/target_account_configuration.py b/sdk/python/pulumi_aws_native/fis/target_account_configuration.py new file mode 100644 index 0000000000..64f56e5eb5 --- /dev/null +++ b/sdk/python/pulumi_aws_native/fis/target_account_configuration.py @@ -0,0 +1,179 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi SDK Generator. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['TargetAccountConfigurationArgs', 'TargetAccountConfiguration'] + +@pulumi.input_type +class TargetAccountConfigurationArgs: + def __init__(__self__, *, + account_id: pulumi.Input[str], + experiment_template_id: pulumi.Input[str], + role_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a TargetAccountConfiguration resource. + """ + pulumi.set(__self__, "account_id", account_id) + pulumi.set(__self__, "experiment_template_id", experiment_template_id) + pulumi.set(__self__, "role_arn", role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "account_id") + + @account_id.setter + def account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "account_id", value) + + @property + @pulumi.getter(name="experimentTemplateId") + def experiment_template_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "experiment_template_id") + + @experiment_template_id.setter + def experiment_template_id(self, value: pulumi.Input[str]): + pulumi.set(self, "experiment_template_id", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + +class TargetAccountConfiguration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + experiment_template_id: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource schema for AWS::FIS::TargetAccountConfiguration + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TargetAccountConfigurationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource schema for AWS::FIS::TargetAccountConfiguration + + :param str resource_name: The name of the resource. + :param TargetAccountConfigurationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(TargetAccountConfigurationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + account_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + experiment_template_id: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TargetAccountConfigurationArgs.__new__(TargetAccountConfigurationArgs) + + if account_id is None and not opts.urn: + raise TypeError("Missing required property 'account_id'") + __props__.__dict__["account_id"] = account_id + __props__.__dict__["description"] = description + if experiment_template_id is None and not opts.urn: + raise TypeError("Missing required property 'experiment_template_id'") + __props__.__dict__["experiment_template_id"] = experiment_template_id + if role_arn is None and not opts.urn: + raise TypeError("Missing required property 'role_arn'") + __props__.__dict__["role_arn"] = role_arn + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["account_id", "experiment_template_id"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(TargetAccountConfiguration, __self__).__init__( + 'aws-native:fis:TargetAccountConfiguration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'TargetAccountConfiguration': + """ + Get an existing TargetAccountConfiguration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = TargetAccountConfigurationArgs.__new__(TargetAccountConfigurationArgs) + + __props__.__dict__["account_id"] = None + __props__.__dict__["description"] = None + __props__.__dict__["experiment_template_id"] = None + __props__.__dict__["role_arn"] = None + return TargetAccountConfiguration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="accountId") + def account_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "account_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="experimentTemplateId") + def experiment_template_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "experiment_template_id") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "role_arn") + diff --git a/sdk/python/pulumi_aws_native/lambda_/_inputs.py b/sdk/python/pulumi_aws_native/lambda_/_inputs.py index ced699b2b2..14fb2adf6b 100644 --- a/sdk/python/pulumi_aws_native/lambda_/_inputs.py +++ b/sdk/python/pulumi_aws_native/lambda_/_inputs.py @@ -158,6 +158,9 @@ class EventInvokeConfigDestinationConfigArgs: def __init__(__self__, *, on_failure: Optional[pulumi.Input['EventInvokeConfigOnFailureArgs']] = None, on_success: Optional[pulumi.Input['EventInvokeConfigOnSuccessArgs']] = None): + """ + A destination for events after they have been sent to a function for processing. + """ if on_failure is not None: pulumi.set(__self__, "on_failure", on_failure) if on_success is not None: @@ -186,11 +189,18 @@ def on_success(self, value: Optional[pulumi.Input['EventInvokeConfigOnSuccessArg class EventInvokeConfigOnFailureArgs: def __init__(__self__, *, destination: pulumi.Input[str]): + """ + The destination configuration for failed invocations. + :param pulumi.Input[str] destination: The Amazon Resource Name (ARN) of the destination resource. + """ pulumi.set(__self__, "destination", destination) @property @pulumi.getter def destination(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the destination resource. + """ return pulumi.get(self, "destination") @destination.setter @@ -202,11 +212,18 @@ def destination(self, value: pulumi.Input[str]): class EventInvokeConfigOnSuccessArgs: def __init__(__self__, *, destination: pulumi.Input[str]): + """ + The destination configuration for successful invocations. + :param pulumi.Input[str] destination: The Amazon Resource Name (ARN) of the destination resource. + """ pulumi.set(__self__, "destination", destination) @property @pulumi.getter def destination(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the destination resource. + """ return pulumi.get(self, "destination") @destination.setter diff --git a/sdk/python/pulumi_aws_native/lambda_/event_invoke_config.py b/sdk/python/pulumi_aws_native/lambda_/event_invoke_config.py index bd8599a58b..d73dddfd8e 100644 --- a/sdk/python/pulumi_aws_native/lambda_/event_invoke_config.py +++ b/sdk/python/pulumi_aws_native/lambda_/event_invoke_config.py @@ -23,6 +23,10 @@ def __init__(__self__, *, maximum_retry_attempts: Optional[pulumi.Input[int]] = None): """ The set of arguments for constructing a EventInvokeConfig resource. + :param pulumi.Input[str] function_name: The name of the Lambda function. + :param pulumi.Input[str] qualifier: The identifier of a version or alias. + :param pulumi.Input[int] maximum_event_age_in_seconds: The maximum age of a request that Lambda sends to a function for processing. + :param pulumi.Input[int] maximum_retry_attempts: The maximum number of times to retry when the function returns an error. """ pulumi.set(__self__, "function_name", function_name) pulumi.set(__self__, "qualifier", qualifier) @@ -36,6 +40,9 @@ def __init__(__self__, *, @property @pulumi.getter(name="functionName") def function_name(self) -> pulumi.Input[str]: + """ + The name of the Lambda function. + """ return pulumi.get(self, "function_name") @function_name.setter @@ -45,6 +52,9 @@ def function_name(self, value: pulumi.Input[str]): @property @pulumi.getter def qualifier(self) -> pulumi.Input[str]: + """ + The identifier of a version or alias. + """ return pulumi.get(self, "qualifier") @qualifier.setter @@ -63,6 +73,9 @@ def destination_config(self, value: Optional[pulumi.Input['EventInvokeConfigDest @property @pulumi.getter(name="maximumEventAgeInSeconds") def maximum_event_age_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + The maximum age of a request that Lambda sends to a function for processing. + """ return pulumi.get(self, "maximum_event_age_in_seconds") @maximum_event_age_in_seconds.setter @@ -72,6 +85,9 @@ def maximum_event_age_in_seconds(self, value: Optional[pulumi.Input[int]]): @property @pulumi.getter(name="maximumRetryAttempts") def maximum_retry_attempts(self) -> Optional[pulumi.Input[int]]: + """ + The maximum number of times to retry when the function returns an error. + """ return pulumi.get(self, "maximum_retry_attempts") @maximum_retry_attempts.setter @@ -91,10 +107,14 @@ def __init__(__self__, qualifier: Optional[pulumi.Input[str]] = None, __props__=None): """ - Resource Type definition for AWS::Lambda::EventInvokeConfig + The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] function_name: The name of the Lambda function. + :param pulumi.Input[int] maximum_event_age_in_seconds: The maximum age of a request that Lambda sends to a function for processing. + :param pulumi.Input[int] maximum_retry_attempts: The maximum number of times to retry when the function returns an error. + :param pulumi.Input[str] qualifier: The identifier of a version or alias. """ ... @overload @@ -103,7 +123,7 @@ def __init__(__self__, args: EventInvokeConfigArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Resource Type definition for AWS::Lambda::EventInvokeConfig + The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. :param str resource_name: The name of the resource. :param EventInvokeConfigArgs args: The arguments to use to populate this resource's properties. @@ -182,20 +202,32 @@ def destination_config(self) -> pulumi.Output[Optional['outputs.EventInvokeConfi @property @pulumi.getter(name="functionName") def function_name(self) -> pulumi.Output[str]: + """ + The name of the Lambda function. + """ return pulumi.get(self, "function_name") @property @pulumi.getter(name="maximumEventAgeInSeconds") def maximum_event_age_in_seconds(self) -> pulumi.Output[Optional[int]]: + """ + The maximum age of a request that Lambda sends to a function for processing. + """ return pulumi.get(self, "maximum_event_age_in_seconds") @property @pulumi.getter(name="maximumRetryAttempts") def maximum_retry_attempts(self) -> pulumi.Output[Optional[int]]: + """ + The maximum number of times to retry when the function returns an error. + """ return pulumi.get(self, "maximum_retry_attempts") @property @pulumi.getter def qualifier(self) -> pulumi.Output[str]: + """ + The identifier of a version or alias. + """ return pulumi.get(self, "qualifier") diff --git a/sdk/python/pulumi_aws_native/lambda_/function.py b/sdk/python/pulumi_aws_native/lambda_/function.py index e1b9a0103b..30ec6d8604 100644 --- a/sdk/python/pulumi_aws_native/lambda_/function.py +++ b/sdk/python/pulumi_aws_native/lambda_/function.py @@ -34,7 +34,6 @@ def __init__(__self__, *, logging_config: Optional[pulumi.Input['FunctionLoggingConfigArgs']] = None, memory_size: Optional[pulumi.Input[int]] = None, package_type: Optional[pulumi.Input['FunctionPackageType']] = None, - policy: Optional[Any] = None, reserved_concurrent_executions: Optional[pulumi.Input[int]] = None, runtime: Optional[pulumi.Input[str]] = None, runtime_management_config: Optional[pulumi.Input['FunctionRuntimeManagementConfigArgs']] = None, @@ -61,7 +60,6 @@ def __init__(__self__, *, :param pulumi.Input['FunctionLoggingConfigArgs'] logging_config: The logging configuration of your function :param pulumi.Input[int] memory_size: The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB. :param pulumi.Input['FunctionPackageType'] package_type: PackageType. - :param Any policy: The resource policy of your function :param pulumi.Input[int] reserved_concurrent_executions: The number of simultaneous executions to reserve for the function. :param pulumi.Input[str] runtime: The identifier of the function's runtime. :param pulumi.Input['FunctionRuntimeManagementConfigArgs'] runtime_management_config: RuntimeManagementConfig @@ -103,8 +101,6 @@ def __init__(__self__, *, pulumi.set(__self__, "memory_size", memory_size) if package_type is not None: pulumi.set(__self__, "package_type", package_type) - if policy is not None: - pulumi.set(__self__, "policy", policy) if reserved_concurrent_executions is not None: pulumi.set(__self__, "reserved_concurrent_executions", reserved_concurrent_executions) if runtime is not None: @@ -323,18 +319,6 @@ def package_type(self) -> Optional[pulumi.Input['FunctionPackageType']]: def package_type(self, value: Optional[pulumi.Input['FunctionPackageType']]): pulumi.set(self, "package_type", value) - @property - @pulumi.getter - def policy(self) -> Optional[Any]: - """ - The resource policy of your function - """ - return pulumi.get(self, "policy") - - @policy.setter - def policy(self, value: Optional[Any]): - pulumi.set(self, "policy", value) - @property @pulumi.getter(name="reservedConcurrentExecutions") def reserved_concurrent_executions(self) -> Optional[pulumi.Input[int]]: @@ -453,7 +437,6 @@ def __init__(__self__, logging_config: Optional[pulumi.Input[pulumi.InputType['FunctionLoggingConfigArgs']]] = None, memory_size: Optional[pulumi.Input[int]] = None, package_type: Optional[pulumi.Input['FunctionPackageType']] = None, - policy: Optional[Any] = None, reserved_concurrent_executions: Optional[pulumi.Input[int]] = None, role: Optional[pulumi.Input[str]] = None, runtime: Optional[pulumi.Input[str]] = None, @@ -484,7 +467,6 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['FunctionLoggingConfigArgs']] logging_config: The logging configuration of your function :param pulumi.Input[int] memory_size: The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB. :param pulumi.Input['FunctionPackageType'] package_type: PackageType. - :param Any policy: The resource policy of your function :param pulumi.Input[int] reserved_concurrent_executions: The number of simultaneous executions to reserve for the function. :param pulumi.Input[str] role: The Amazon Resource Name (ARN) of the function's execution role. :param pulumi.Input[str] runtime: The identifier of the function's runtime. @@ -535,7 +517,6 @@ def _internal_init(__self__, logging_config: Optional[pulumi.Input[pulumi.InputType['FunctionLoggingConfigArgs']]] = None, memory_size: Optional[pulumi.Input[int]] = None, package_type: Optional[pulumi.Input['FunctionPackageType']] = None, - policy: Optional[Any] = None, reserved_concurrent_executions: Optional[pulumi.Input[int]] = None, role: Optional[pulumi.Input[str]] = None, runtime: Optional[pulumi.Input[str]] = None, @@ -572,7 +553,6 @@ def _internal_init(__self__, __props__.__dict__["logging_config"] = logging_config __props__.__dict__["memory_size"] = memory_size __props__.__dict__["package_type"] = package_type - __props__.__dict__["policy"] = policy __props__.__dict__["reserved_concurrent_executions"] = reserved_concurrent_executions if role is None and not opts.urn: raise TypeError("Missing required property 'role'") @@ -627,7 +607,6 @@ def get(resource_name: str, __props__.__dict__["logging_config"] = None __props__.__dict__["memory_size"] = None __props__.__dict__["package_type"] = None - __props__.__dict__["policy"] = None __props__.__dict__["reserved_concurrent_executions"] = None __props__.__dict__["role"] = None __props__.__dict__["runtime"] = None @@ -773,14 +752,6 @@ def package_type(self) -> pulumi.Output[Optional['FunctionPackageType']]: """ return pulumi.get(self, "package_type") - @property - @pulumi.getter - def policy(self) -> pulumi.Output[Optional[Any]]: - """ - The resource policy of your function - """ - return pulumi.get(self, "policy") - @property @pulumi.getter(name="reservedConcurrentExecutions") def reserved_concurrent_executions(self) -> pulumi.Output[Optional[int]]: diff --git a/sdk/python/pulumi_aws_native/lambda_/get_event_invoke_config.py b/sdk/python/pulumi_aws_native/lambda_/get_event_invoke_config.py index 9dcbcc8943..dcf45c6cce 100644 --- a/sdk/python/pulumi_aws_native/lambda_/get_event_invoke_config.py +++ b/sdk/python/pulumi_aws_native/lambda_/get_event_invoke_config.py @@ -19,13 +19,10 @@ @pulumi.output_type class GetEventInvokeConfigResult: - def __init__(__self__, destination_config=None, id=None, maximum_event_age_in_seconds=None, maximum_retry_attempts=None): + def __init__(__self__, destination_config=None, maximum_event_age_in_seconds=None, maximum_retry_attempts=None): if destination_config and not isinstance(destination_config, dict): raise TypeError("Expected argument 'destination_config' to be a dict") pulumi.set(__self__, "destination_config", destination_config) - if id and not isinstance(id, str): - raise TypeError("Expected argument 'id' to be a str") - pulumi.set(__self__, "id", id) if maximum_event_age_in_seconds and not isinstance(maximum_event_age_in_seconds, int): raise TypeError("Expected argument 'maximum_event_age_in_seconds' to be a int") pulumi.set(__self__, "maximum_event_age_in_seconds", maximum_event_age_in_seconds) @@ -38,19 +35,20 @@ def __init__(__self__, destination_config=None, id=None, maximum_event_age_in_se def destination_config(self) -> Optional['outputs.EventInvokeConfigDestinationConfig']: return pulumi.get(self, "destination_config") - @property - @pulumi.getter - def id(self) -> Optional[str]: - return pulumi.get(self, "id") - @property @pulumi.getter(name="maximumEventAgeInSeconds") def maximum_event_age_in_seconds(self) -> Optional[int]: + """ + The maximum age of a request that Lambda sends to a function for processing. + """ return pulumi.get(self, "maximum_event_age_in_seconds") @property @pulumi.getter(name="maximumRetryAttempts") def maximum_retry_attempts(self) -> Optional[int]: + """ + The maximum number of times to retry when the function returns an error. + """ return pulumi.get(self, "maximum_retry_attempts") @@ -61,32 +59,41 @@ def __await__(self): yield self return GetEventInvokeConfigResult( destination_config=self.destination_config, - id=self.id, maximum_event_age_in_seconds=self.maximum_event_age_in_seconds, maximum_retry_attempts=self.maximum_retry_attempts) -def get_event_invoke_config(id: Optional[str] = None, +def get_event_invoke_config(function_name: Optional[str] = None, + qualifier: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEventInvokeConfigResult: """ - Resource Type definition for AWS::Lambda::EventInvokeConfig + The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. + + + :param str function_name: The name of the Lambda function. + :param str qualifier: The identifier of a version or alias. """ __args__ = dict() - __args__['id'] = id + __args__['functionName'] = function_name + __args__['qualifier'] = qualifier opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:lambda:getEventInvokeConfig', __args__, opts=opts, typ=GetEventInvokeConfigResult).value return AwaitableGetEventInvokeConfigResult( destination_config=pulumi.get(__ret__, 'destination_config'), - id=pulumi.get(__ret__, 'id'), maximum_event_age_in_seconds=pulumi.get(__ret__, 'maximum_event_age_in_seconds'), maximum_retry_attempts=pulumi.get(__ret__, 'maximum_retry_attempts')) @_utilities.lift_output_func(get_event_invoke_config) -def get_event_invoke_config_output(id: Optional[pulumi.Input[str]] = None, +def get_event_invoke_config_output(function_name: Optional[pulumi.Input[str]] = None, + qualifier: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEventInvokeConfigResult]: """ - Resource Type definition for AWS::Lambda::EventInvokeConfig + The AWS::Lambda::EventInvokeConfig resource configures options for asynchronous invocation on a version or an alias. + + + :param str function_name: The name of the Lambda function. + :param str qualifier: The identifier of a version or alias. """ ... diff --git a/sdk/python/pulumi_aws_native/lambda_/outputs.py b/sdk/python/pulumi_aws_native/lambda_/outputs.py index 787dc2db72..8735c58510 100644 --- a/sdk/python/pulumi_aws_native/lambda_/outputs.py +++ b/sdk/python/pulumi_aws_native/lambda_/outputs.py @@ -226,6 +226,9 @@ def untrusted_artifact_on_deployment(self) -> 'CodeSigningConfigCodeSigningPolic @pulumi.output_type class EventInvokeConfigDestinationConfig(dict): + """ + A destination for events after they have been sent to a function for processing. + """ @staticmethod def __key_warning(key: str): suggest = None @@ -248,6 +251,9 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, on_failure: Optional['outputs.EventInvokeConfigOnFailure'] = None, on_success: Optional['outputs.EventInvokeConfigOnSuccess'] = None): + """ + A destination for events after they have been sent to a function for processing. + """ if on_failure is not None: pulumi.set(__self__, "on_failure", on_failure) if on_success is not None: @@ -266,25 +272,45 @@ def on_success(self) -> Optional['outputs.EventInvokeConfigOnSuccess']: @pulumi.output_type class EventInvokeConfigOnFailure(dict): + """ + The destination configuration for failed invocations. + """ def __init__(__self__, *, destination: str): + """ + The destination configuration for failed invocations. + :param str destination: The Amazon Resource Name (ARN) of the destination resource. + """ pulumi.set(__self__, "destination", destination) @property @pulumi.getter def destination(self) -> str: + """ + The Amazon Resource Name (ARN) of the destination resource. + """ return pulumi.get(self, "destination") @pulumi.output_type class EventInvokeConfigOnSuccess(dict): + """ + The destination configuration for successful invocations. + """ def __init__(__self__, *, destination: str): + """ + The destination configuration for successful invocations. + :param str destination: The Amazon Resource Name (ARN) of the destination resource. + """ pulumi.set(__self__, "destination", destination) @property @pulumi.getter def destination(self) -> str: + """ + The Amazon Resource Name (ARN) of the destination resource. + """ return pulumi.get(self, "destination") diff --git a/sdk/python/pulumi_aws_native/logs/delivery.py b/sdk/python/pulumi_aws_native/logs/delivery.py index acb8ab4ce7..d1236b9fae 100644 --- a/sdk/python/pulumi_aws_native/logs/delivery.py +++ b/sdk/python/pulumi_aws_native/logs/delivery.py @@ -21,9 +21,9 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Sequence[pulumi.Input['DeliveryTagArgs']]]] = None): """ The set of arguments for constructing a Delivery resource. - :param pulumi.Input[str] delivery_destination_arn: The value of the DeliveryDestinationArn property for this object. - :param pulumi.Input[str] delivery_source_name: The value of the DeliverySourceName property for this object. - :param pulumi.Input[Sequence[pulumi.Input['DeliveryTagArgs']]] tags: The value of the Tags property for this object. + :param pulumi.Input[str] delivery_destination_arn: The ARN of the delivery destination that is associated with this delivery. + :param pulumi.Input[str] delivery_source_name: The name of the delivery source that is associated with this delivery. + :param pulumi.Input[Sequence[pulumi.Input['DeliveryTagArgs']]] tags: The tags that have been assigned to this delivery. """ pulumi.set(__self__, "delivery_destination_arn", delivery_destination_arn) pulumi.set(__self__, "delivery_source_name", delivery_source_name) @@ -34,7 +34,7 @@ def __init__(__self__, *, @pulumi.getter(name="deliveryDestinationArn") def delivery_destination_arn(self) -> pulumi.Input[str]: """ - The value of the DeliveryDestinationArn property for this object. + The ARN of the delivery destination that is associated with this delivery. """ return pulumi.get(self, "delivery_destination_arn") @@ -46,7 +46,7 @@ def delivery_destination_arn(self, value: pulumi.Input[str]): @pulumi.getter(name="deliverySourceName") def delivery_source_name(self) -> pulumi.Input[str]: """ - The value of the DeliverySourceName property for this object. + The name of the delivery source that is associated with this delivery. """ return pulumi.get(self, "delivery_source_name") @@ -58,7 +58,7 @@ def delivery_source_name(self, value: pulumi.Input[str]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeliveryTagArgs']]]]: """ - The value of the Tags property for this object. + The tags that have been assigned to this delivery. """ return pulumi.get(self, "tags") @@ -77,13 +77,17 @@ def __init__(__self__, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryTagArgs']]]]] = None, __props__=None): """ - Resource Type definition for AWS::Logs::Delivery. + This structure contains information about one delivery in your account. + + A delivery is a connection between a logical delivery source and a logical delivery destination. + + For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] delivery_destination_arn: The value of the DeliveryDestinationArn property for this object. - :param pulumi.Input[str] delivery_source_name: The value of the DeliverySourceName property for this object. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryTagArgs']]]] tags: The value of the Tags property for this object. + :param pulumi.Input[str] delivery_destination_arn: The ARN of the delivery destination that is associated with this delivery. + :param pulumi.Input[str] delivery_source_name: The name of the delivery source that is associated with this delivery. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryTagArgs']]]] tags: The tags that have been assigned to this delivery. """ ... @overload @@ -92,7 +96,11 @@ def __init__(__self__, args: DeliveryArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Resource Type definition for AWS::Logs::Delivery. + This structure contains information about one delivery in your account. + + A delivery is a connection between a logical delivery source and a logical delivery destination. + + For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). :param str resource_name: The name of the resource. :param DeliveryArgs args: The arguments to use to populate this resource's properties. @@ -167,7 +175,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The value of the Arn property for this object. + The Amazon Resource Name (ARN) that uniquely identifies this delivery. """ return pulumi.get(self, "arn") @@ -175,7 +183,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="deliveryDestinationArn") def delivery_destination_arn(self) -> pulumi.Output[str]: """ - The value of the DeliveryDestinationArn property for this object. + The ARN of the delivery destination that is associated with this delivery. """ return pulumi.get(self, "delivery_destination_arn") @@ -183,7 +191,7 @@ def delivery_destination_arn(self) -> pulumi.Output[str]: @pulumi.getter(name="deliveryDestinationType") def delivery_destination_type(self) -> pulumi.Output[str]: """ - The value of the DeliveryDestinationType property for this object. + Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. """ return pulumi.get(self, "delivery_destination_type") @@ -191,7 +199,7 @@ def delivery_destination_type(self) -> pulumi.Output[str]: @pulumi.getter(name="deliveryId") def delivery_id(self) -> pulumi.Output[str]: """ - The value of the Id property for this object. + The unique ID that identifies this delivery in your account. """ return pulumi.get(self, "delivery_id") @@ -199,7 +207,7 @@ def delivery_id(self) -> pulumi.Output[str]: @pulumi.getter(name="deliverySourceName") def delivery_source_name(self) -> pulumi.Output[str]: """ - The value of the DeliverySourceName property for this object. + The name of the delivery source that is associated with this delivery. """ return pulumi.get(self, "delivery_source_name") @@ -207,7 +215,7 @@ def delivery_source_name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DeliveryTag']]]: """ - The value of the Tags property for this object. + The tags that have been assigned to this delivery. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/logs/delivery_destination.py b/sdk/python/pulumi_aws_native/logs/delivery_destination.py index f6899de943..2ff2b50af2 100644 --- a/sdk/python/pulumi_aws_native/logs/delivery_destination.py +++ b/sdk/python/pulumi_aws_native/logs/delivery_destination.py @@ -27,9 +27,9 @@ def __init__(__self__, *, The policy must be in JSON string format. Length Constraints: Maximum length of 51200 - :param pulumi.Input[str] destination_resource_arn: The ARN of the Destination Resource. - :param pulumi.Input[str] name: The unique name of the Delivery Destination. - :param pulumi.Input[Sequence[pulumi.Input['DeliveryDestinationTagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[str] destination_resource_arn: The ARN of the AWS resource that will receive the logs. + :param pulumi.Input[str] name: The name of this delivery destination. + :param pulumi.Input[Sequence[pulumi.Input['DeliveryDestinationTagArgs']]] tags: The tags that have been assigned to this delivery destination. """ if delivery_destination_policy is not None: pulumi.set(__self__, "delivery_destination_policy", delivery_destination_policy) @@ -60,7 +60,7 @@ def delivery_destination_policy(self, value: Optional[Any]): @pulumi.getter(name="destinationResourceArn") def destination_resource_arn(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the Destination Resource. + The ARN of the AWS resource that will receive the logs. """ return pulumi.get(self, "destination_resource_arn") @@ -72,7 +72,7 @@ def destination_resource_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: """ - The unique name of the Delivery Destination. + The name of this delivery destination. """ return pulumi.get(self, "name") @@ -84,7 +84,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeliveryDestinationTagArgs']]]]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery destination. """ return pulumi.get(self, "tags") @@ -104,7 +104,9 @@ def __init__(__self__, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryDestinationTagArgs']]]]] = None, __props__=None): """ - Resource Type definition for AWS::Logs::DeliveryDestination + This structure contains information about one delivery destination in your account. + + A 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. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -113,9 +115,9 @@ def __init__(__self__, The policy must be in JSON string format. Length Constraints: Maximum length of 51200 - :param pulumi.Input[str] destination_resource_arn: The ARN of the Destination Resource. - :param pulumi.Input[str] name: The unique name of the Delivery Destination. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryDestinationTagArgs']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[str] destination_resource_arn: The ARN of the AWS resource that will receive the logs. + :param pulumi.Input[str] name: The name of this delivery destination. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliveryDestinationTagArgs']]]] tags: The tags that have been assigned to this delivery destination. """ ... @overload @@ -124,7 +126,9 @@ def __init__(__self__, args: Optional[DeliveryDestinationArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Resource Type definition for AWS::Logs::DeliveryDestination + This structure contains information about one delivery destination in your account. + + A 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. :param str resource_name: The name of the resource. :param DeliveryDestinationArgs args: The arguments to use to populate this resource's properties. @@ -196,7 +200,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The value of the Arn property for this object. + The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. """ return pulumi.get(self, "arn") @@ -216,7 +220,7 @@ def delivery_destination_policy(self) -> pulumi.Output[Optional[Any]]: @pulumi.getter(name="deliveryDestinationType") def delivery_destination_type(self) -> pulumi.Output[str]: """ - The value of the DeliveryDestinationType property for this object. + Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. """ return pulumi.get(self, "delivery_destination_type") @@ -224,7 +228,7 @@ def delivery_destination_type(self) -> pulumi.Output[str]: @pulumi.getter(name="destinationResourceArn") def destination_resource_arn(self) -> pulumi.Output[Optional[str]]: """ - The ARN of the Destination Resource. + The ARN of the AWS resource that will receive the logs. """ return pulumi.get(self, "destination_resource_arn") @@ -232,7 +236,7 @@ def destination_resource_arn(self) -> pulumi.Output[Optional[str]]: @pulumi.getter def name(self) -> pulumi.Output[str]: """ - The unique name of the Delivery Destination. + The name of this delivery destination. """ return pulumi.get(self, "name") @@ -240,7 +244,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DeliveryDestinationTag']]]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery destination. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/logs/delivery_source.py b/sdk/python/pulumi_aws_native/logs/delivery_source.py index bb824f1728..da0fb8c457 100644 --- a/sdk/python/pulumi_aws_native/logs/delivery_source.py +++ b/sdk/python/pulumi_aws_native/logs/delivery_source.py @@ -25,7 +25,7 @@ def __init__(__self__, *, :param pulumi.Input[str] log_type: The type of logs being delivered. Only mandatory when the resourceArn could match more than one. In such a case, the error message will contain all the possible options. :param pulumi.Input[str] name: The unique name of the Log source. :param pulumi.Input[str] resource_arn: The ARN of the resource that will be sending the logs. - :param pulumi.Input[Sequence[pulumi.Input['DeliverySourceTagArgs']]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input['DeliverySourceTagArgs']]] tags: The tags that have been assigned to this delivery source. """ if log_type is not None: pulumi.set(__self__, "log_type", log_type) @@ -76,7 +76,7 @@ def resource_arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DeliverySourceTagArgs']]]]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery source. """ return pulumi.get(self, "tags") @@ -96,14 +96,16 @@ def __init__(__self__, tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliverySourceTagArgs']]]]] = None, __props__=None): """ - Resource Type definition for AWS::Logs::DeliverySource. + 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. + + Only 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). :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] log_type: The type of logs being delivered. Only mandatory when the resourceArn could match more than one. In such a case, the error message will contain all the possible options. :param pulumi.Input[str] name: The unique name of the Log source. :param pulumi.Input[str] resource_arn: The ARN of the resource that will be sending the logs. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliverySourceTagArgs']]]] tags: An array of key-value pairs to apply to this resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['DeliverySourceTagArgs']]]] tags: The tags that have been assigned to this delivery source. """ ... @overload @@ -112,7 +114,9 @@ def __init__(__self__, args: Optional[DeliverySourceArgs] = None, opts: Optional[pulumi.ResourceOptions] = None): """ - Resource Type definition for AWS::Logs::DeliverySource. + 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. + + Only 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). :param str resource_name: The name of the resource. :param DeliverySourceArgs args: The arguments to use to populate this resource's properties. @@ -186,7 +190,7 @@ def get(resource_name: str, @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The ARN of the Aqueduct Source. + The Amazon Resource Name (ARN) that uniquely identifies this delivery source. """ return pulumi.get(self, "arn") @@ -218,7 +222,7 @@ def resource_arn(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="resourceArns") def resource_arns(self) -> pulumi.Output[Sequence[str]]: """ - List of ARN of the resource that will be sending the logs + 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. """ return pulumi.get(self, "resource_arns") @@ -226,7 +230,7 @@ def resource_arns(self) -> pulumi.Output[Sequence[str]]: @pulumi.getter def service(self) -> pulumi.Output[str]: """ - The service generating the log + The AWS service that is sending logs. """ return pulumi.get(self, "service") @@ -234,7 +238,7 @@ def service(self) -> pulumi.Output[str]: @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['outputs.DeliverySourceTag']]]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery source. """ return pulumi.get(self, "tags") diff --git a/sdk/python/pulumi_aws_native/logs/get_delivery.py b/sdk/python/pulumi_aws_native/logs/get_delivery.py index 5cabdcc352..ef3c370aab 100644 --- a/sdk/python/pulumi_aws_native/logs/get_delivery.py +++ b/sdk/python/pulumi_aws_native/logs/get_delivery.py @@ -37,7 +37,7 @@ def __init__(__self__, arn=None, delivery_destination_type=None, delivery_id=Non @pulumi.getter def arn(self) -> Optional[str]: """ - The value of the Arn property for this object. + The Amazon Resource Name (ARN) that uniquely identifies this delivery. """ return pulumi.get(self, "arn") @@ -45,7 +45,7 @@ def arn(self) -> Optional[str]: @pulumi.getter(name="deliveryDestinationType") def delivery_destination_type(self) -> Optional[str]: """ - The value of the DeliveryDestinationType property for this object. + Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. """ return pulumi.get(self, "delivery_destination_type") @@ -53,7 +53,7 @@ def delivery_destination_type(self) -> Optional[str]: @pulumi.getter(name="deliveryId") def delivery_id(self) -> Optional[str]: """ - The value of the Id property for this object. + The unique ID that identifies this delivery in your account. """ return pulumi.get(self, "delivery_id") @@ -61,7 +61,7 @@ def delivery_id(self) -> Optional[str]: @pulumi.getter def tags(self) -> Optional[Sequence['outputs.DeliveryTag']]: """ - The value of the Tags property for this object. + The tags that have been assigned to this delivery. """ return pulumi.get(self, "tags") @@ -81,10 +81,14 @@ def __await__(self): def get_delivery(delivery_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDeliveryResult: """ - Resource Type definition for AWS::Logs::Delivery. + This structure contains information about one delivery in your account. + A delivery is a connection between a logical delivery source and a logical delivery destination. - :param str delivery_id: The value of the Id property for this object. + For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). + + + :param str delivery_id: The unique ID that identifies this delivery in your account. """ __args__ = dict() __args__['deliveryId'] = delivery_id @@ -102,9 +106,13 @@ def get_delivery(delivery_id: Optional[str] = None, def get_delivery_output(delivery_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeliveryResult]: """ - Resource Type definition for AWS::Logs::Delivery. + This structure contains information about one delivery in your account. + + A delivery is a connection between a logical delivery source and a logical delivery destination. + + For more information, see [CreateDelivery](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html). - :param str delivery_id: The value of the Id property for this object. + :param str delivery_id: The unique ID that identifies this delivery in your account. """ ... diff --git a/sdk/python/pulumi_aws_native/logs/get_delivery_destination.py b/sdk/python/pulumi_aws_native/logs/get_delivery_destination.py index 89affbc54a..7ca1d27920 100644 --- a/sdk/python/pulumi_aws_native/logs/get_delivery_destination.py +++ b/sdk/python/pulumi_aws_native/logs/get_delivery_destination.py @@ -37,7 +37,7 @@ def __init__(__self__, arn=None, delivery_destination_policy=None, delivery_dest @pulumi.getter def arn(self) -> Optional[str]: """ - The value of the Arn property for this object. + The Amazon Resource Name (ARN) that uniquely identifies this delivery destination. """ return pulumi.get(self, "arn") @@ -57,7 +57,7 @@ def delivery_destination_policy(self) -> Optional[Any]: @pulumi.getter(name="deliveryDestinationType") def delivery_destination_type(self) -> Optional[str]: """ - The value of the DeliveryDestinationType property for this object. + Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose. """ return pulumi.get(self, "delivery_destination_type") @@ -65,7 +65,7 @@ def delivery_destination_type(self) -> Optional[str]: @pulumi.getter def tags(self) -> Optional[Sequence['outputs.DeliveryDestinationTag']]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery destination. """ return pulumi.get(self, "tags") @@ -85,10 +85,12 @@ def __await__(self): def get_delivery_destination(name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDeliveryDestinationResult: """ - Resource Type definition for AWS::Logs::DeliveryDestination + This structure contains information about one delivery destination in your account. + A 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. - :param str name: The unique name of the Delivery Destination. + + :param str name: The name of this delivery destination. """ __args__ = dict() __args__['name'] = name @@ -106,9 +108,11 @@ def get_delivery_destination(name: Optional[str] = None, def get_delivery_destination_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeliveryDestinationResult]: """ - Resource Type definition for AWS::Logs::DeliveryDestination + This structure contains information about one delivery destination in your account. + + A 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. - :param str name: The unique name of the Delivery Destination. + :param str name: The name of this delivery destination. """ ... diff --git a/sdk/python/pulumi_aws_native/logs/get_delivery_source.py b/sdk/python/pulumi_aws_native/logs/get_delivery_source.py index 89340c6ecd..a74d034f34 100644 --- a/sdk/python/pulumi_aws_native/logs/get_delivery_source.py +++ b/sdk/python/pulumi_aws_native/logs/get_delivery_source.py @@ -40,7 +40,7 @@ def __init__(__self__, arn=None, log_type=None, resource_arns=None, service=None @pulumi.getter def arn(self) -> Optional[str]: """ - The ARN of the Aqueduct Source. + The Amazon Resource Name (ARN) that uniquely identifies this delivery source. """ return pulumi.get(self, "arn") @@ -56,7 +56,7 @@ def log_type(self) -> Optional[str]: @pulumi.getter(name="resourceArns") def resource_arns(self) -> Optional[Sequence[str]]: """ - List of ARN of the resource that will be sending the logs + 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. """ return pulumi.get(self, "resource_arns") @@ -64,7 +64,7 @@ def resource_arns(self) -> Optional[Sequence[str]]: @pulumi.getter def service(self) -> Optional[str]: """ - The service generating the log + The AWS service that is sending logs. """ return pulumi.get(self, "service") @@ -72,7 +72,7 @@ def service(self) -> Optional[str]: @pulumi.getter def tags(self) -> Optional[Sequence['outputs.DeliverySourceTag']]: """ - An array of key-value pairs to apply to this resource. + The tags that have been assigned to this delivery source. """ return pulumi.get(self, "tags") @@ -93,7 +93,9 @@ def __await__(self): def get_delivery_source(name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDeliverySourceResult: """ - Resource Type definition for AWS::Logs::DeliverySource. + 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. + + Only 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). :param str name: The unique name of the Log source. @@ -115,7 +117,9 @@ def get_delivery_source(name: Optional[str] = None, def get_delivery_source_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDeliverySourceResult]: """ - Resource Type definition for AWS::Logs::DeliverySource. + 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. + + Only 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). :param str name: The unique name of the Log source. diff --git a/sdk/python/pulumi_aws_native/opensearchservice/domain.py b/sdk/python/pulumi_aws_native/opensearchservice/domain.py index a3c789c8ce..0938ab85ef 100644 --- a/sdk/python/pulumi_aws_native/opensearchservice/domain.py +++ b/sdk/python/pulumi_aws_native/opensearchservice/domain.py @@ -26,6 +26,7 @@ def __init__(__self__, *, ebs_options: Optional[pulumi.Input['DomainEbsOptionsArgs']] = None, encryption_at_rest_options: Optional[pulumi.Input['DomainEncryptionAtRestOptionsArgs']] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[Any] = None, node_to_node_encryption_options: Optional[pulumi.Input['DomainNodeToNodeEncryptionOptionsArgs']] = None, off_peak_window_options: Optional[pulumi.Input['DomainOffPeakWindowOptionsArgs']] = None, @@ -57,6 +58,8 @@ def __init__(__self__, *, pulumi.set(__self__, "encryption_at_rest_options", encryption_at_rest_options) if engine_version is not None: pulumi.set(__self__, "engine_version", engine_version) + if ip_address_type is not None: + pulumi.set(__self__, "ip_address_type", ip_address_type) if log_publishing_options is not None: pulumi.set(__self__, "log_publishing_options", log_publishing_options) if node_to_node_encryption_options is not None: @@ -162,6 +165,15 @@ def engine_version(self) -> Optional[pulumi.Input[str]]: def engine_version(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "engine_version", value) + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "ip_address_type") + + @ip_address_type.setter + def ip_address_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_address_type", value) + @property @pulumi.getter(name="logPublishingOptions") def log_publishing_options(self) -> Optional[Any]: @@ -244,6 +256,7 @@ def __init__(__self__, ebs_options: Optional[pulumi.Input[pulumi.InputType['DomainEbsOptionsArgs']]] = None, encryption_at_rest_options: Optional[pulumi.Input[pulumi.InputType['DomainEncryptionAtRestOptionsArgs']]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[Any] = None, node_to_node_encryption_options: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionOptionsArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, @@ -293,6 +306,7 @@ def _internal_init(__self__, ebs_options: Optional[pulumi.Input[pulumi.InputType['DomainEbsOptionsArgs']]] = None, encryption_at_rest_options: Optional[pulumi.Input[pulumi.InputType['DomainEncryptionAtRestOptionsArgs']]] = None, engine_version: Optional[pulumi.Input[str]] = None, + ip_address_type: Optional[pulumi.Input[str]] = None, log_publishing_options: Optional[Any] = None, node_to_node_encryption_options: Optional[pulumi.Input[pulumi.InputType['DomainNodeToNodeEncryptionOptionsArgs']]] = None, off_peak_window_options: Optional[pulumi.Input[pulumi.InputType['DomainOffPeakWindowOptionsArgs']]] = None, @@ -319,6 +333,7 @@ def _internal_init(__self__, __props__.__dict__["ebs_options"] = ebs_options __props__.__dict__["encryption_at_rest_options"] = encryption_at_rest_options __props__.__dict__["engine_version"] = engine_version + __props__.__dict__["ip_address_type"] = ip_address_type __props__.__dict__["log_publishing_options"] = log_publishing_options __props__.__dict__["node_to_node_encryption_options"] = node_to_node_encryption_options __props__.__dict__["off_peak_window_options"] = off_peak_window_options @@ -329,6 +344,7 @@ def _internal_init(__self__, __props__.__dict__["arn"] = None __props__.__dict__["domain_arn"] = None __props__.__dict__["domain_endpoint"] = None + __props__.__dict__["domain_endpoint_v2"] = None __props__.__dict__["domain_endpoints"] = None __props__.__dict__["service_software_options"] = None replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["domain_name"]) @@ -364,11 +380,13 @@ def get(resource_name: str, __props__.__dict__["domain_arn"] = None __props__.__dict__["domain_endpoint"] = None __props__.__dict__["domain_endpoint_options"] = None + __props__.__dict__["domain_endpoint_v2"] = None __props__.__dict__["domain_endpoints"] = None __props__.__dict__["domain_name"] = None __props__.__dict__["ebs_options"] = None __props__.__dict__["encryption_at_rest_options"] = None __props__.__dict__["engine_version"] = None + __props__.__dict__["ip_address_type"] = None __props__.__dict__["log_publishing_options"] = None __props__.__dict__["node_to_node_encryption_options"] = None __props__.__dict__["off_peak_window_options"] = None @@ -424,6 +442,11 @@ def domain_endpoint(self) -> pulumi.Output[str]: def domain_endpoint_options(self) -> pulumi.Output[Optional['outputs.DomainEndpointOptions']]: return pulumi.get(self, "domain_endpoint_options") + @property + @pulumi.getter(name="domainEndpointV2") + def domain_endpoint_v2(self) -> pulumi.Output[str]: + return pulumi.get(self, "domain_endpoint_v2") + @property @pulumi.getter(name="domainEndpoints") def domain_endpoints(self) -> pulumi.Output[Any]: @@ -449,6 +472,11 @@ def encryption_at_rest_options(self) -> pulumi.Output[Optional['outputs.DomainEn def engine_version(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "engine_version") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="logPublishingOptions") def log_publishing_options(self) -> pulumi.Output[Optional[Any]]: diff --git a/sdk/python/pulumi_aws_native/opensearchservice/get_domain.py b/sdk/python/pulumi_aws_native/opensearchservice/get_domain.py index 6d23b476c8..d41243100c 100644 --- a/sdk/python/pulumi_aws_native/opensearchservice/get_domain.py +++ b/sdk/python/pulumi_aws_native/opensearchservice/get_domain.py @@ -19,7 +19,7 @@ @pulumi.output_type class GetDomainResult: - def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, cluster_config=None, cognito_options=None, domain_arn=None, domain_endpoint=None, domain_endpoint_options=None, domain_endpoints=None, ebs_options=None, encryption_at_rest_options=None, engine_version=None, id=None, log_publishing_options=None, node_to_node_encryption_options=None, off_peak_window_options=None, service_software_options=None, snapshot_options=None, software_update_options=None, tags=None, vpc_options=None): + def __init__(__self__, access_policies=None, advanced_options=None, advanced_security_options=None, arn=None, cluster_config=None, cognito_options=None, domain_arn=None, domain_endpoint=None, domain_endpoint_options=None, domain_endpoint_v2=None, domain_endpoints=None, ebs_options=None, encryption_at_rest_options=None, engine_version=None, id=None, ip_address_type=None, log_publishing_options=None, node_to_node_encryption_options=None, off_peak_window_options=None, service_software_options=None, snapshot_options=None, software_update_options=None, tags=None, vpc_options=None): if access_policies and not isinstance(access_policies, dict): raise TypeError("Expected argument 'access_policies' to be a dict") pulumi.set(__self__, "access_policies", access_policies) @@ -47,6 +47,9 @@ def __init__(__self__, access_policies=None, advanced_options=None, advanced_sec if domain_endpoint_options and not isinstance(domain_endpoint_options, dict): raise TypeError("Expected argument 'domain_endpoint_options' to be a dict") pulumi.set(__self__, "domain_endpoint_options", domain_endpoint_options) + if domain_endpoint_v2 and not isinstance(domain_endpoint_v2, str): + raise TypeError("Expected argument 'domain_endpoint_v2' to be a str") + pulumi.set(__self__, "domain_endpoint_v2", domain_endpoint_v2) if domain_endpoints and not isinstance(domain_endpoints, dict): raise TypeError("Expected argument 'domain_endpoints' to be a dict") pulumi.set(__self__, "domain_endpoints", domain_endpoints) @@ -62,6 +65,9 @@ def __init__(__self__, access_policies=None, advanced_options=None, advanced_sec if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if ip_address_type and not isinstance(ip_address_type, str): + raise TypeError("Expected argument 'ip_address_type' to be a str") + pulumi.set(__self__, "ip_address_type", ip_address_type) if log_publishing_options and not isinstance(log_publishing_options, dict): raise TypeError("Expected argument 'log_publishing_options' to be a dict") pulumi.set(__self__, "log_publishing_options", log_publishing_options) @@ -132,6 +138,11 @@ def domain_endpoint(self) -> Optional[str]: def domain_endpoint_options(self) -> Optional['outputs.DomainEndpointOptions']: return pulumi.get(self, "domain_endpoint_options") + @property + @pulumi.getter(name="domainEndpointV2") + def domain_endpoint_v2(self) -> Optional[str]: + return pulumi.get(self, "domain_endpoint_v2") + @property @pulumi.getter(name="domainEndpoints") def domain_endpoints(self) -> Optional[Any]: @@ -157,6 +168,11 @@ def engine_version(self) -> Optional[str]: def id(self) -> Optional[str]: return pulumi.get(self, "id") + @property + @pulumi.getter(name="ipAddressType") + def ip_address_type(self) -> Optional[str]: + return pulumi.get(self, "ip_address_type") + @property @pulumi.getter(name="logPublishingOptions") def log_publishing_options(self) -> Optional[Any]: @@ -216,11 +232,13 @@ def __await__(self): domain_arn=self.domain_arn, domain_endpoint=self.domain_endpoint, domain_endpoint_options=self.domain_endpoint_options, + domain_endpoint_v2=self.domain_endpoint_v2, domain_endpoints=self.domain_endpoints, ebs_options=self.ebs_options, encryption_at_rest_options=self.encryption_at_rest_options, engine_version=self.engine_version, id=self.id, + ip_address_type=self.ip_address_type, log_publishing_options=self.log_publishing_options, node_to_node_encryption_options=self.node_to_node_encryption_options, off_peak_window_options=self.off_peak_window_options, @@ -251,11 +269,13 @@ def get_domain(domain_name: Optional[str] = None, domain_arn=pulumi.get(__ret__, 'domain_arn'), domain_endpoint=pulumi.get(__ret__, 'domain_endpoint'), domain_endpoint_options=pulumi.get(__ret__, 'domain_endpoint_options'), + domain_endpoint_v2=pulumi.get(__ret__, 'domain_endpoint_v2'), domain_endpoints=pulumi.get(__ret__, 'domain_endpoints'), ebs_options=pulumi.get(__ret__, 'ebs_options'), encryption_at_rest_options=pulumi.get(__ret__, 'encryption_at_rest_options'), engine_version=pulumi.get(__ret__, 'engine_version'), id=pulumi.get(__ret__, 'id'), + ip_address_type=pulumi.get(__ret__, 'ip_address_type'), log_publishing_options=pulumi.get(__ret__, 'log_publishing_options'), node_to_node_encryption_options=pulumi.get(__ret__, 'node_to_node_encryption_options'), off_peak_window_options=pulumi.get(__ret__, 'off_peak_window_options'), diff --git a/sdk/python/pulumi_aws_native/osis/_inputs.py b/sdk/python/pulumi_aws_native/osis/_inputs.py index 6e9a090e15..ac01e4e4ee 100644 --- a/sdk/python/pulumi_aws_native/osis/_inputs.py +++ b/sdk/python/pulumi_aws_native/osis/_inputs.py @@ -10,29 +10,76 @@ from .. import _utilities __all__ = [ + 'PipelineBufferOptionsArgs', + 'PipelineEncryptionAtRestOptionsArgs', 'PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs', 'PipelineLogPublishingOptionsArgs', 'PipelineTagArgs', 'PipelineVpcOptionsArgs', ] +@pulumi.input_type +class PipelineBufferOptionsArgs: + def __init__(__self__, *, + persistent_buffer_enabled: pulumi.Input[bool]): + """ + Key-value pairs to configure buffering. + :param pulumi.Input[bool] persistent_buffer_enabled: Whether persistent buffering should be enabled. + """ + pulumi.set(__self__, "persistent_buffer_enabled", persistent_buffer_enabled) + + @property + @pulumi.getter(name="persistentBufferEnabled") + def persistent_buffer_enabled(self) -> pulumi.Input[bool]: + """ + Whether persistent buffering should be enabled. + """ + return pulumi.get(self, "persistent_buffer_enabled") + + @persistent_buffer_enabled.setter + def persistent_buffer_enabled(self, value: pulumi.Input[bool]): + pulumi.set(self, "persistent_buffer_enabled", value) + + +@pulumi.input_type +class PipelineEncryptionAtRestOptionsArgs: + def __init__(__self__, *, + kms_key_arn: pulumi.Input[str]): + """ + Key-value pairs to configure encryption at rest. + :param pulumi.Input[str] kms_key_arn: The KMS key to use for encrypting data. By default an AWS owned key is used + """ + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> pulumi.Input[str]: + """ + The KMS key to use for encrypting data. By default an AWS owned key is used + """ + return pulumi.get(self, "kms_key_arn") + + @kms_key_arn.setter + def kms_key_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "kms_key_arn", value) + + @pulumi.input_type class PipelineLogPublishingOptionsCloudWatchLogDestinationPropertiesArgs: def __init__(__self__, *, - log_group: Optional[pulumi.Input[str]] = None): + log_group: pulumi.Input[str]): """ The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. """ - if log_group is not None: - pulumi.set(__self__, "log_group", log_group) + pulumi.set(__self__, "log_group", log_group) @property @pulumi.getter(name="logGroup") - def log_group(self) -> Optional[pulumi.Input[str]]: + def log_group(self) -> pulumi.Input[str]: return pulumi.get(self, "log_group") @log_group.setter - def log_group(self, value: Optional[pulumi.Input[str]]): + def log_group(self, value: pulumi.Input[str]): pulumi.set(self, "log_group", value) @@ -117,17 +164,28 @@ def value(self, value: pulumi.Input[str]): @pulumi.input_type class PipelineVpcOptionsArgs: def __init__(__self__, *, - security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion Service creates the pipeline with a public endpoint. - :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of security groups associated with the VPC endpoint. :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: A list of subnet IDs associated with the VPC endpoint. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: A list of security groups associated with the VPC endpoint. """ + pulumi.set(__self__, "subnet_ids", subnet_ids) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) - if subnet_ids is not None: - pulumi.set(__self__, "subnet_ids", subnet_ids) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + A list of subnet IDs associated with the VPC endpoint. + """ + return pulumi.get(self, "subnet_ids") + + @subnet_ids.setter + def subnet_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): + pulumi.set(self, "subnet_ids", value) @property @pulumi.getter(name="securityGroupIds") @@ -141,16 +199,4 @@ def security_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str] def security_group_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "security_group_ids", value) - @property - @pulumi.getter(name="subnetIds") - def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: - """ - A list of subnet IDs associated with the VPC endpoint. - """ - return pulumi.get(self, "subnet_ids") - - @subnet_ids.setter - def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): - pulumi.set(self, "subnet_ids", value) - diff --git a/sdk/python/pulumi_aws_native/osis/get_pipeline.py b/sdk/python/pulumi_aws_native/osis/get_pipeline.py index fe7d5b726d..6318de87e0 100644 --- a/sdk/python/pulumi_aws_native/osis/get_pipeline.py +++ b/sdk/python/pulumi_aws_native/osis/get_pipeline.py @@ -19,7 +19,13 @@ @pulumi.output_type class GetPipelineResult: - def __init__(__self__, ingest_endpoint_urls=None, log_publishing_options=None, max_units=None, min_units=None, pipeline_arn=None, pipeline_configuration_body=None, tags=None, vpc_endpoints=None): + def __init__(__self__, buffer_options=None, encryption_at_rest_options=None, ingest_endpoint_urls=None, log_publishing_options=None, max_units=None, min_units=None, pipeline_arn=None, pipeline_configuration_body=None, tags=None, vpc_endpoints=None): + if buffer_options and not isinstance(buffer_options, dict): + raise TypeError("Expected argument 'buffer_options' to be a dict") + pulumi.set(__self__, "buffer_options", buffer_options) + if encryption_at_rest_options and not isinstance(encryption_at_rest_options, dict): + raise TypeError("Expected argument 'encryption_at_rest_options' to be a dict") + pulumi.set(__self__, "encryption_at_rest_options", encryption_at_rest_options) if ingest_endpoint_urls and not isinstance(ingest_endpoint_urls, list): raise TypeError("Expected argument 'ingest_endpoint_urls' to be a list") pulumi.set(__self__, "ingest_endpoint_urls", ingest_endpoint_urls) @@ -45,6 +51,16 @@ def __init__(__self__, ingest_endpoint_urls=None, log_publishing_options=None, m raise TypeError("Expected argument 'vpc_endpoints' to be a list") pulumi.set(__self__, "vpc_endpoints", vpc_endpoints) + @property + @pulumi.getter(name="bufferOptions") + def buffer_options(self) -> Optional['outputs.PipelineBufferOptions']: + return pulumi.get(self, "buffer_options") + + @property + @pulumi.getter(name="encryptionAtRestOptions") + def encryption_at_rest_options(self) -> Optional['outputs.PipelineEncryptionAtRestOptions']: + return pulumi.get(self, "encryption_at_rest_options") + @property @pulumi.getter(name="ingestEndpointUrls") def ingest_endpoint_urls(self) -> Optional[Sequence[str]]: @@ -113,6 +129,8 @@ def __await__(self): if False: yield self return GetPipelineResult( + buffer_options=self.buffer_options, + encryption_at_rest_options=self.encryption_at_rest_options, ingest_endpoint_urls=self.ingest_endpoint_urls, log_publishing_options=self.log_publishing_options, max_units=self.max_units, @@ -137,6 +155,8 @@ def get_pipeline(pipeline_arn: Optional[str] = None, __ret__ = pulumi.runtime.invoke('aws-native:osis:getPipeline', __args__, opts=opts, typ=GetPipelineResult).value return AwaitableGetPipelineResult( + buffer_options=pulumi.get(__ret__, 'buffer_options'), + encryption_at_rest_options=pulumi.get(__ret__, 'encryption_at_rest_options'), ingest_endpoint_urls=pulumi.get(__ret__, 'ingest_endpoint_urls'), log_publishing_options=pulumi.get(__ret__, 'log_publishing_options'), max_units=pulumi.get(__ret__, 'max_units'), diff --git a/sdk/python/pulumi_aws_native/osis/outputs.py b/sdk/python/pulumi_aws_native/osis/outputs.py index 7f63c04400..e0e153d4a3 100644 --- a/sdk/python/pulumi_aws_native/osis/outputs.py +++ b/sdk/python/pulumi_aws_native/osis/outputs.py @@ -11,6 +11,8 @@ from . import outputs __all__ = [ + 'PipelineBufferOptions', + 'PipelineEncryptionAtRestOptions', 'PipelineLogPublishingOptions', 'PipelineLogPublishingOptionsCloudWatchLogDestinationProperties', 'PipelineTag', @@ -18,6 +20,84 @@ 'PipelineVpcOptions', ] +@pulumi.output_type +class PipelineBufferOptions(dict): + """ + Key-value pairs to configure buffering. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "persistentBufferEnabled": + suggest = "persistent_buffer_enabled" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PipelineBufferOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PipelineBufferOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PipelineBufferOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + persistent_buffer_enabled: bool): + """ + Key-value pairs to configure buffering. + :param bool persistent_buffer_enabled: Whether persistent buffering should be enabled. + """ + pulumi.set(__self__, "persistent_buffer_enabled", persistent_buffer_enabled) + + @property + @pulumi.getter(name="persistentBufferEnabled") + def persistent_buffer_enabled(self) -> bool: + """ + Whether persistent buffering should be enabled. + """ + return pulumi.get(self, "persistent_buffer_enabled") + + +@pulumi.output_type +class PipelineEncryptionAtRestOptions(dict): + """ + Key-value pairs to configure encryption at rest. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kmsKeyArn": + suggest = "kms_key_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PipelineEncryptionAtRestOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PipelineEncryptionAtRestOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PipelineEncryptionAtRestOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kms_key_arn: str): + """ + Key-value pairs to configure encryption at rest. + :param str kms_key_arn: The KMS key to use for encrypting data. By default an AWS owned key is used + """ + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> str: + """ + The KMS key to use for encrypting data. By default an AWS owned key is used + """ + return pulumi.get(self, "kms_key_arn") + + @pulumi.output_type class PipelineLogPublishingOptions(dict): """ @@ -95,16 +175,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - log_group: Optional[str] = None): + log_group: str): """ The destination for OpenSearch Ingestion Service logs sent to Amazon CloudWatch. """ - if log_group is not None: - pulumi.set(__self__, "log_group", log_group) + pulumi.set(__self__, "log_group", log_group) @property @pulumi.getter(name="logGroup") - def log_group(self) -> Optional[str]: + def log_group(self) -> str: return pulumi.get(self, "log_group") @@ -213,10 +292,10 @@ class PipelineVpcOptions(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "securityGroupIds": - suggest = "security_group_ids" - elif key == "subnetIds": + if key == "subnetIds": suggest = "subnet_ids" + elif key == "securityGroupIds": + suggest = "security_group_ids" if suggest: pulumi.log.warn(f"Key '{key}' not found in PipelineVpcOptions. Access the value via the '{suggest}' property getter instead.") @@ -230,32 +309,31 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - security_group_ids: Optional[Sequence[str]] = None, - subnet_ids: Optional[Sequence[str]] = None): + subnet_ids: Sequence[str], + security_group_ids: Optional[Sequence[str]] = None): """ Container for the values required to configure VPC access for the pipeline. If you don't specify these values, OpenSearch Ingestion Service creates the pipeline with a public endpoint. - :param Sequence[str] security_group_ids: A list of security groups associated with the VPC endpoint. :param Sequence[str] subnet_ids: A list of subnet IDs associated with the VPC endpoint. + :param Sequence[str] security_group_ids: A list of security groups associated with the VPC endpoint. """ + pulumi.set(__self__, "subnet_ids", subnet_ids) if security_group_ids is not None: pulumi.set(__self__, "security_group_ids", security_group_ids) - if subnet_ids is not None: - pulumi.set(__self__, "subnet_ids", subnet_ids) @property - @pulumi.getter(name="securityGroupIds") - def security_group_ids(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Sequence[str]: """ - A list of security groups associated with the VPC endpoint. + A list of subnet IDs associated with the VPC endpoint. """ - return pulumi.get(self, "security_group_ids") + return pulumi.get(self, "subnet_ids") @property - @pulumi.getter(name="subnetIds") - def subnet_ids(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="securityGroupIds") + def security_group_ids(self) -> Optional[Sequence[str]]: """ - A list of subnet IDs associated with the VPC endpoint. + A list of security groups associated with the VPC endpoint. """ - return pulumi.get(self, "subnet_ids") + return pulumi.get(self, "security_group_ids") diff --git a/sdk/python/pulumi_aws_native/osis/pipeline.py b/sdk/python/pulumi_aws_native/osis/pipeline.py index 22ebd51269..9ff23cf63d 100644 --- a/sdk/python/pulumi_aws_native/osis/pipeline.py +++ b/sdk/python/pulumi_aws_native/osis/pipeline.py @@ -19,6 +19,8 @@ def __init__(__self__, *, max_units: pulumi.Input[int], min_units: pulumi.Input[int], pipeline_configuration_body: pulumi.Input[str], + buffer_options: Optional[pulumi.Input['PipelineBufferOptionsArgs']] = None, + encryption_at_rest_options: Optional[pulumi.Input['PipelineEncryptionAtRestOptionsArgs']] = None, log_publishing_options: Optional[pulumi.Input['PipelineLogPublishingOptionsArgs']] = None, pipeline_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['PipelineTagArgs']]]] = None, @@ -34,6 +36,10 @@ def __init__(__self__, *, pulumi.set(__self__, "max_units", max_units) pulumi.set(__self__, "min_units", min_units) pulumi.set(__self__, "pipeline_configuration_body", pipeline_configuration_body) + if buffer_options is not None: + pulumi.set(__self__, "buffer_options", buffer_options) + if encryption_at_rest_options is not None: + pulumi.set(__self__, "encryption_at_rest_options", encryption_at_rest_options) if log_publishing_options is not None: pulumi.set(__self__, "log_publishing_options", log_publishing_options) if pipeline_name is not None: @@ -79,6 +85,24 @@ def pipeline_configuration_body(self) -> pulumi.Input[str]: def pipeline_configuration_body(self, value: pulumi.Input[str]): pulumi.set(self, "pipeline_configuration_body", value) + @property + @pulumi.getter(name="bufferOptions") + def buffer_options(self) -> Optional[pulumi.Input['PipelineBufferOptionsArgs']]: + return pulumi.get(self, "buffer_options") + + @buffer_options.setter + def buffer_options(self, value: Optional[pulumi.Input['PipelineBufferOptionsArgs']]): + pulumi.set(self, "buffer_options", value) + + @property + @pulumi.getter(name="encryptionAtRestOptions") + def encryption_at_rest_options(self) -> Optional[pulumi.Input['PipelineEncryptionAtRestOptionsArgs']]: + return pulumi.get(self, "encryption_at_rest_options") + + @encryption_at_rest_options.setter + def encryption_at_rest_options(self, value: Optional[pulumi.Input['PipelineEncryptionAtRestOptionsArgs']]): + pulumi.set(self, "encryption_at_rest_options", value) + @property @pulumi.getter(name="logPublishingOptions") def log_publishing_options(self) -> Optional[pulumi.Input['PipelineLogPublishingOptionsArgs']]: @@ -127,6 +151,8 @@ class Pipeline(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + buffer_options: Optional[pulumi.Input[pulumi.InputType['PipelineBufferOptionsArgs']]] = None, + encryption_at_rest_options: Optional[pulumi.Input[pulumi.InputType['PipelineEncryptionAtRestOptionsArgs']]] = None, log_publishing_options: Optional[pulumi.Input[pulumi.InputType['PipelineLogPublishingOptionsArgs']]] = None, max_units: Optional[pulumi.Input[int]] = None, min_units: Optional[pulumi.Input[int]] = None, @@ -170,6 +196,8 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + buffer_options: Optional[pulumi.Input[pulumi.InputType['PipelineBufferOptionsArgs']]] = None, + encryption_at_rest_options: Optional[pulumi.Input[pulumi.InputType['PipelineEncryptionAtRestOptionsArgs']]] = None, log_publishing_options: Optional[pulumi.Input[pulumi.InputType['PipelineLogPublishingOptionsArgs']]] = None, max_units: Optional[pulumi.Input[int]] = None, min_units: Optional[pulumi.Input[int]] = None, @@ -186,6 +214,8 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = PipelineArgs.__new__(PipelineArgs) + __props__.__dict__["buffer_options"] = buffer_options + __props__.__dict__["encryption_at_rest_options"] = encryption_at_rest_options __props__.__dict__["log_publishing_options"] = log_publishing_options if max_units is None and not opts.urn: raise TypeError("Missing required property 'max_units'") @@ -226,6 +256,8 @@ def get(resource_name: str, __props__ = PipelineArgs.__new__(PipelineArgs) + __props__.__dict__["buffer_options"] = None + __props__.__dict__["encryption_at_rest_options"] = None __props__.__dict__["ingest_endpoint_urls"] = None __props__.__dict__["log_publishing_options"] = None __props__.__dict__["max_units"] = None @@ -238,6 +270,16 @@ def get(resource_name: str, __props__.__dict__["vpc_options"] = None return Pipeline(resource_name, opts=opts, __props__=__props__) + @property + @pulumi.getter(name="bufferOptions") + def buffer_options(self) -> pulumi.Output[Optional['outputs.PipelineBufferOptions']]: + return pulumi.get(self, "buffer_options") + + @property + @pulumi.getter(name="encryptionAtRestOptions") + def encryption_at_rest_options(self) -> pulumi.Output[Optional['outputs.PipelineEncryptionAtRestOptions']]: + return pulumi.get(self, "encryption_at_rest_options") + @property @pulumi.getter(name="ingestEndpointUrls") def ingest_endpoint_urls(self) -> pulumi.Output[Sequence[str]]: diff --git a/sdk/python/pulumi_aws_native/route53resolver/get_resolver_config.py b/sdk/python/pulumi_aws_native/route53resolver/get_resolver_config.py index 54a58d6203..864b9749d9 100644 --- a/sdk/python/pulumi_aws_native/route53resolver/get_resolver_config.py +++ b/sdk/python/pulumi_aws_native/route53resolver/get_resolver_config.py @@ -66,16 +66,16 @@ def __await__(self): owner_id=self.owner_id) -def get_resolver_config(id: Optional[str] = None, +def get_resolver_config(resource_id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetResolverConfigResult: """ Resource schema for AWS::Route53Resolver::ResolverConfig. - :param str id: Id + :param str resource_id: ResourceId """ __args__ = dict() - __args__['id'] = id + __args__['resourceId'] = resource_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('aws-native:route53resolver:getResolverConfig', __args__, opts=opts, typ=GetResolverConfigResult).value @@ -86,12 +86,12 @@ def get_resolver_config(id: Optional[str] = None, @_utilities.lift_output_func(get_resolver_config) -def get_resolver_config_output(id: Optional[pulumi.Input[str]] = None, +def get_resolver_config_output(resource_id: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetResolverConfigResult]: """ Resource schema for AWS::Route53Resolver::ResolverConfig. - :param str id: Id + :param str resource_id: ResourceId """ ... diff --git a/sdk/python/pulumi_aws_native/s3/_inputs.py b/sdk/python/pulumi_aws_native/s3/_inputs.py index f775633b79..0ef2b0ac34 100644 --- a/sdk/python/pulumi_aws_native/s3/_inputs.py +++ b/sdk/python/pulumi_aws_native/s3/_inputs.py @@ -70,6 +70,7 @@ 'BucketStorageClassAnalysisArgs', 'BucketTagFilterArgs', 'BucketTagArgs', + 'BucketTargetObjectKeyFormatArgs', 'BucketTieringArgs', 'BucketTopicConfigurationArgs', 'BucketTransitionArgs', @@ -1131,7 +1132,8 @@ def rules(self, value: pulumi.Input[Sequence[pulumi.Input['BucketRuleArgs']]]): class BucketLoggingConfigurationArgs: def __init__(__self__, *, destination_bucket_name: Optional[pulumi.Input[str]] = None, - log_file_prefix: Optional[pulumi.Input[str]] = None): + log_file_prefix: Optional[pulumi.Input[str]] = None, + target_object_key_format: Optional[pulumi.Input['BucketTargetObjectKeyFormatArgs']] = None): """ :param pulumi.Input[str] destination_bucket_name: 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. """ @@ -1139,6 +1141,8 @@ def __init__(__self__, *, pulumi.set(__self__, "destination_bucket_name", destination_bucket_name) if log_file_prefix is not None: pulumi.set(__self__, "log_file_prefix", log_file_prefix) + if target_object_key_format is not None: + pulumi.set(__self__, "target_object_key_format", target_object_key_format) @property @pulumi.getter(name="destinationBucketName") @@ -1161,6 +1165,15 @@ def log_file_prefix(self) -> Optional[pulumi.Input[str]]: def log_file_prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "log_file_prefix", value) + @property + @pulumi.getter(name="targetObjectKeyFormat") + def target_object_key_format(self) -> Optional[pulumi.Input['BucketTargetObjectKeyFormatArgs']]: + return pulumi.get(self, "target_object_key_format") + + @target_object_key_format.setter + def target_object_key_format(self, value: Optional[pulumi.Input['BucketTargetObjectKeyFormatArgs']]): + pulumi.set(self, "target_object_key_format", value) + @pulumi.input_type class BucketMetricsConfigurationArgs: @@ -2649,6 +2662,15 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class BucketTargetObjectKeyFormatArgs: + def __init__(__self__): + """ + Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + """ + pass + + @pulumi.input_type class BucketTieringArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws_native/s3/outputs.py b/sdk/python/pulumi_aws_native/s3/outputs.py index cc9e1cf995..abd9f9f3ab 100644 --- a/sdk/python/pulumi_aws_native/s3/outputs.py +++ b/sdk/python/pulumi_aws_native/s3/outputs.py @@ -71,6 +71,7 @@ 'BucketStorageClassAnalysis', 'BucketTag', 'BucketTagFilter', + 'BucketTargetObjectKeyFormat', 'BucketTiering', 'BucketTopicConfiguration', 'BucketTransition', @@ -1237,6 +1238,8 @@ def __key_warning(key: str): suggest = "destination_bucket_name" elif key == "logFilePrefix": suggest = "log_file_prefix" + elif key == "targetObjectKeyFormat": + suggest = "target_object_key_format" if suggest: pulumi.log.warn(f"Key '{key}' not found in BucketLoggingConfiguration. Access the value via the '{suggest}' property getter instead.") @@ -1251,7 +1254,8 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, destination_bucket_name: Optional[str] = None, - log_file_prefix: Optional[str] = None): + log_file_prefix: Optional[str] = None, + target_object_key_format: Optional['outputs.BucketTargetObjectKeyFormat'] = None): """ :param str destination_bucket_name: 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. """ @@ -1259,6 +1263,8 @@ def __init__(__self__, *, pulumi.set(__self__, "destination_bucket_name", destination_bucket_name) if log_file_prefix is not None: pulumi.set(__self__, "log_file_prefix", log_file_prefix) + if target_object_key_format is not None: + pulumi.set(__self__, "target_object_key_format", target_object_key_format) @property @pulumi.getter(name="destinationBucketName") @@ -1273,6 +1279,11 @@ def destination_bucket_name(self) -> Optional[str]: def log_file_prefix(self) -> Optional[str]: return pulumi.get(self, "log_file_prefix") + @property + @pulumi.getter(name="targetObjectKeyFormat") + def target_object_key_format(self) -> Optional['outputs.BucketTargetObjectKeyFormat']: + return pulumi.get(self, "target_object_key_format") + @pulumi.output_type class BucketMetrics(dict): @@ -2908,6 +2919,18 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class BucketTargetObjectKeyFormat(dict): + """ + Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + """ + def __init__(__self__): + """ + Describes the key format for server access log file in the target bucket. You can choose between SimplePrefix and PartitionedPrefix. + """ + pass + + @pulumi.output_type class BucketTiering(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/s3express/_enums.py b/sdk/python/pulumi_aws_native/s3express/_enums.py index 58c88741c4..a0ca481d9c 100644 --- a/sdk/python/pulumi_aws_native/s3express/_enums.py +++ b/sdk/python/pulumi_aws_native/s3express/_enums.py @@ -11,6 +11,6 @@ class DirectoryBucketDataRedundancy(str, Enum): """ - Specifies the number of Avilability Zone that's used for redundancy for the bucket. + Specifies the number of Availability Zone that's used for redundancy for the bucket. """ SINGLE_AVAILABILITY_ZONE = "SingleAvailabilityZone" diff --git a/sdk/python/pulumi_aws_native/s3express/directory_bucket.py b/sdk/python/pulumi_aws_native/s3express/directory_bucket.py index b999ed67f1..8ae8e384eb 100644 --- a/sdk/python/pulumi_aws_native/s3express/directory_bucket.py +++ b/sdk/python/pulumi_aws_native/s3express/directory_bucket.py @@ -20,9 +20,9 @@ def __init__(__self__, *, bucket_name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a DirectoryBucket resource. - :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Avilability Zone that's used for redundancy for the bucket. + :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Availability Zone that's used for redundancy for the bucket. :param pulumi.Input[str] location_name: Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. - :param pulumi.Input[str] bucket_name: 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. + :param pulumi.Input[str] bucket_name: 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. """ pulumi.set(__self__, "data_redundancy", data_redundancy) pulumi.set(__self__, "location_name", location_name) @@ -33,7 +33,7 @@ def __init__(__self__, *, @pulumi.getter(name="dataRedundancy") def data_redundancy(self) -> pulumi.Input['DirectoryBucketDataRedundancy']: """ - Specifies the number of Avilability Zone that's used for redundancy for the bucket. + Specifies the number of Availability Zone that's used for redundancy for the bucket. """ return pulumi.get(self, "data_redundancy") @@ -57,7 +57,7 @@ def location_name(self, value: pulumi.Input[str]): @pulumi.getter(name="bucketName") def bucket_name(self) -> Optional[pulumi.Input[str]]: """ - 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. + 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. """ return pulumi.get(self, "bucket_name") @@ -80,8 +80,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] bucket_name: 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. - :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Avilability Zone that's used for redundancy for the bucket. + :param pulumi.Input[str] bucket_name: 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. + :param pulumi.Input['DirectoryBucketDataRedundancy'] data_redundancy: Specifies the number of Availability Zone that's used for redundancy for the bucket. :param pulumi.Input[str] location_name: Specifies the AZ ID of the Availability Zone where the directory bucket will be created. An example AZ ID value is 'use1-az5'. """ ... @@ -170,7 +170,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter(name="bucketName") def bucket_name(self) -> pulumi.Output[Optional[str]]: """ - 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. + 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. """ return pulumi.get(self, "bucket_name") @@ -178,7 +178,7 @@ def bucket_name(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="dataRedundancy") def data_redundancy(self) -> pulumi.Output['DirectoryBucketDataRedundancy']: """ - Specifies the number of Avilability Zone that's used for redundancy for the bucket. + Specifies the number of Availability Zone that's used for redundancy for the bucket. """ return pulumi.get(self, "data_redundancy") diff --git a/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py b/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py index a45a215bf6..98147ce0c9 100644 --- a/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py +++ b/sdk/python/pulumi_aws_native/s3express/get_directory_bucket.py @@ -47,7 +47,7 @@ def get_directory_bucket(bucket_name: Optional[str] = None, Resource Type definition for AWS::S3Express::DirectoryBucket. - :param str bucket_name: 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. + :param str bucket_name: 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. """ __args__ = dict() __args__['bucketName'] = bucket_name @@ -65,6 +65,6 @@ def get_directory_bucket_output(bucket_name: Optional[pulumi.Input[str]] = None, Resource Type definition for AWS::S3Express::DirectoryBucket. - :param str bucket_name: 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. + :param str bucket_name: 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. """ ... diff --git a/sdk/python/pulumi_aws_native/sagemaker/_enums.py b/sdk/python/pulumi_aws_native/sagemaker/_enums.py index 26328a948c..27e5a20d51 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_enums.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_enums.py @@ -19,7 +19,9 @@ 'DomainRStudioServerProAppSettingsUserGroup', 'DomainResourceSpecInstanceType', 'DomainSharingSettingsNotebookOutputOption', + 'DomainUserSettingsStudioWebPortal', 'FeatureGroupFeatureDefinitionFeatureType', + 'FeatureGroupStorageType', 'FeatureGroupTableFormat', 'ImageVersionJobType', 'ImageVersionProcessor', @@ -80,6 +82,7 @@ 'UserProfileRStudioServerProAppSettingsUserGroup', 'UserProfileResourceSpecInstanceType', 'UserProfileSharingSettingsNotebookOutputOption', + 'UserProfileUserSettingsStudioWebPortal', ] @@ -147,6 +150,9 @@ class AppResourceSpecInstanceType(str, Enum): ML_P4D24XLARGE = "ml.p4d.24xlarge" ML_P4DE24XLARGE = "ml.p4de.24xlarge" ML_GEOSPATIAL_INTERACTIVE = "ml.geospatial.interactive" + ML_TRN12XLARGE = "ml.trn1.2xlarge" + ML_TRN132XLARGE = "ml.trn1.32xlarge" + ML_TRN1N32XLARGE = "ml.trn1n.32xlarge" class AppType(str, Enum): @@ -304,6 +310,9 @@ class DomainResourceSpecInstanceType(str, Enum): ML_P4D24XLARGE = "ml.p4d.24xlarge" ML_P4DE24XLARGE = "ml.p4de.24xlarge" ML_GEOSPATIAL_INTERACTIVE = "ml.geospatial.interactive" + ML_TRN12XLARGE = "ml.trn1.2xlarge" + ML_TRN132XLARGE = "ml.trn1.32xlarge" + ML_TRN1N32XLARGE = "ml.trn1n.32xlarge" class DomainSharingSettingsNotebookOutputOption(str, Enum): @@ -314,12 +323,25 @@ class DomainSharingSettingsNotebookOutputOption(str, Enum): DISABLED = "Disabled" +class DomainUserSettingsStudioWebPortal(str, Enum): + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" + + class FeatureGroupFeatureDefinitionFeatureType(str, Enum): INTEGRAL = "Integral" FRACTIONAL = "Fractional" STRING = "String" +class FeatureGroupStorageType(str, Enum): + STANDARD = "Standard" + IN_MEMORY = "InMemory" + + class FeatureGroupTableFormat(str, Enum): """ Format for the offline store feature group. Iceberg is the optimal format for feature groups shared between offline and online stores. @@ -944,6 +966,9 @@ class UserProfileResourceSpecInstanceType(str, Enum): ML_P4D24XLARGE = "ml.p4d.24xlarge" ML_P4DE24XLARGE = "ml.p4de.24xlarge" ML_GEOSPATIAL_INTERACTIVE = "ml.geospatial.interactive" + ML_TRN12XLARGE = "ml.trn1.2xlarge" + ML_TRN132XLARGE = "ml.trn1.32xlarge" + ML_TRN1N32XLARGE = "ml.trn1n.32xlarge" class UserProfileSharingSettingsNotebookOutputOption(str, Enum): @@ -952,3 +977,11 @@ class UserProfileSharingSettingsNotebookOutputOption(str, Enum): """ ALLOWED = "Allowed" DISABLED = "Disabled" + + +class UserProfileUserSettingsStudioWebPortal(str, Enum): + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + ENABLED = "ENABLED" + DISABLED = "DISABLED" diff --git a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py index 76521ae5e1..131efef6a9 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py @@ -42,8 +42,16 @@ 'DeviceFleetTagArgs', 'DeviceTagArgs', 'DeviceArgs', + 'DomainCodeEditorAppSettingsArgs', + 'DomainCodeRepositoryArgs', + 'DomainCustomFileSystemConfigArgs', 'DomainCustomImageArgs', + 'DomainCustomPosixUserConfigArgs', + 'DomainDefaultEbsStorageSettingsArgs', 'DomainDefaultSpaceSettingsArgs', + 'DomainDefaultSpaceStorageSettingsArgs', + 'DomainEfsFileSystemConfigArgs', + 'DomainJupyterLabAppSettingsArgs', 'DomainJupyterServerAppSettingsArgs', 'DomainKernelGatewayAppSettingsArgs', 'DomainRSessionAppSettingsArgs', @@ -275,7 +283,15 @@ 'SpaceResourceSpecArgs', 'SpaceSettingsArgs', 'SpaceTagArgs', + 'UserProfileCodeEditorAppSettingsArgs', + 'UserProfileCodeRepositoryArgs', + 'UserProfileCustomFileSystemConfigArgs', 'UserProfileCustomImageArgs', + 'UserProfileCustomPosixUserConfigArgs', + 'UserProfileDefaultEbsStorageSettingsArgs', + 'UserProfileDefaultSpaceStorageSettingsArgs', + 'UserProfileEfsFileSystemConfigArgs', + 'UserProfileJupyterLabAppSettingsArgs', 'UserProfileJupyterServerAppSettingsArgs', 'UserProfileKernelGatewayAppSettingsArgs', 'UserProfileRStudioServerProAppSettingsArgs', @@ -1616,6 +1632,85 @@ def iot_thing_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "iot_thing_name", value) +@pulumi.input_type +class DomainCodeEditorAppSettingsArgs: + def __init__(__self__, *, + default_resource_spec: Optional[pulumi.Input['DomainResourceSpecArgs']] = None, + lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The CodeEditor app settings. + :param pulumi.Input['DomainResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional[pulumi.Input['DomainResourceSpecArgs']]: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + """ + return pulumi.get(self, "default_resource_spec") + + @default_resource_spec.setter + def default_resource_spec(self, value: Optional[pulumi.Input['DomainResourceSpecArgs']]): + pulumi.set(self, "default_resource_spec", value) + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @lifecycle_config_arns.setter + def lifecycle_config_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "lifecycle_config_arns", value) + + +@pulumi.input_type +class DomainCodeRepositoryArgs: + def __init__(__self__, *, + repository_url: pulumi.Input[str]): + """ + :param pulumi.Input[str] repository_url: A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + pulumi.set(__self__, "repository_url", repository_url) + + @property + @pulumi.getter(name="repositoryUrl") + def repository_url(self) -> pulumi.Input[str]: + """ + A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + return pulumi.get(self, "repository_url") + + @repository_url.setter + def repository_url(self, value: pulumi.Input[str]): + pulumi.set(self, "repository_url", value) + + +@pulumi.input_type +class DomainCustomFileSystemConfigArgs: + def __init__(__self__, *, + efs_file_system_config: Optional[pulumi.Input['DomainEfsFileSystemConfigArgs']] = None): + if efs_file_system_config is not None: + pulumi.set(__self__, "efs_file_system_config", efs_file_system_config) + + @property + @pulumi.getter(name="efsFileSystemConfig") + def efs_file_system_config(self) -> Optional[pulumi.Input['DomainEfsFileSystemConfigArgs']]: + return pulumi.get(self, "efs_file_system_config") + + @efs_file_system_config.setter + def efs_file_system_config(self, value: Optional[pulumi.Input['DomainEfsFileSystemConfigArgs']]): + pulumi.set(self, "efs_file_system_config", value) + + @pulumi.input_type class DomainCustomImageArgs: def __init__(__self__, *, @@ -1670,6 +1765,71 @@ def image_version_number(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "image_version_number", value) +@pulumi.input_type +class DomainCustomPosixUserConfigArgs: + def __init__(__self__, *, + gid: pulumi.Input[int], + uid: pulumi.Input[int]): + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + + @property + @pulumi.getter + def gid(self) -> pulumi.Input[int]: + return pulumi.get(self, "gid") + + @gid.setter + def gid(self, value: pulumi.Input[int]): + pulumi.set(self, "gid", value) + + @property + @pulumi.getter + def uid(self) -> pulumi.Input[int]: + return pulumi.get(self, "uid") + + @uid.setter + def uid(self, value: pulumi.Input[int]): + pulumi.set(self, "uid", value) + + +@pulumi.input_type +class DomainDefaultEbsStorageSettingsArgs: + def __init__(__self__, *, + default_ebs_volume_size_in_gb: pulumi.Input[int], + maximum_ebs_volume_size_in_gb: pulumi.Input[int]): + """ + 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 + :param pulumi.Input[int] default_ebs_volume_size_in_gb: Default size of the Amazon EBS volume in Gb + :param pulumi.Input[int] maximum_ebs_volume_size_in_gb: Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + pulumi.set(__self__, "default_ebs_volume_size_in_gb", default_ebs_volume_size_in_gb) + pulumi.set(__self__, "maximum_ebs_volume_size_in_gb", maximum_ebs_volume_size_in_gb) + + @property + @pulumi.getter(name="defaultEbsVolumeSizeInGb") + def default_ebs_volume_size_in_gb(self) -> pulumi.Input[int]: + """ + Default size of the Amazon EBS volume in Gb + """ + return pulumi.get(self, "default_ebs_volume_size_in_gb") + + @default_ebs_volume_size_in_gb.setter + def default_ebs_volume_size_in_gb(self, value: pulumi.Input[int]): + pulumi.set(self, "default_ebs_volume_size_in_gb", value) + + @property + @pulumi.getter(name="maximumEbsVolumeSizeInGb") + def maximum_ebs_volume_size_in_gb(self) -> pulumi.Input[int]: + """ + Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + return pulumi.get(self, "maximum_ebs_volume_size_in_gb") + + @maximum_ebs_volume_size_in_gb.setter + def maximum_ebs_volume_size_in_gb(self, value: pulumi.Input[int]): + pulumi.set(self, "maximum_ebs_volume_size_in_gb", value) + + @pulumi.input_type class DomainDefaultSpaceSettingsArgs: def __init__(__self__, *, @@ -1741,6 +1901,126 @@ def security_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str pulumi.set(self, "security_groups", value) +@pulumi.input_type +class DomainDefaultSpaceStorageSettingsArgs: + def __init__(__self__, *, + default_ebs_storage_settings: Optional[pulumi.Input['DomainDefaultEbsStorageSettingsArgs']] = None): + """ + Default storage settings for a space. + """ + if default_ebs_storage_settings is not None: + pulumi.set(__self__, "default_ebs_storage_settings", default_ebs_storage_settings) + + @property + @pulumi.getter(name="defaultEbsStorageSettings") + def default_ebs_storage_settings(self) -> Optional[pulumi.Input['DomainDefaultEbsStorageSettingsArgs']]: + return pulumi.get(self, "default_ebs_storage_settings") + + @default_ebs_storage_settings.setter + def default_ebs_storage_settings(self, value: Optional[pulumi.Input['DomainDefaultEbsStorageSettingsArgs']]): + pulumi.set(self, "default_ebs_storage_settings", value) + + +@pulumi.input_type +class DomainEfsFileSystemConfigArgs: + def __init__(__self__, *, + file_system_id: pulumi.Input[str], + file_system_path: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "file_system_id", file_system_id) + if file_system_path is not None: + pulumi.set(__self__, "file_system_path", file_system_path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: pulumi.Input[str]): + pulumi.set(self, "file_system_id", value) + + @property + @pulumi.getter(name="fileSystemPath") + def file_system_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "file_system_path") + + @file_system_path.setter + def file_system_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system_path", value) + + +@pulumi.input_type +class DomainJupyterLabAppSettingsArgs: + def __init__(__self__, *, + code_repositories: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]]] = None, + custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]] = None, + default_resource_spec: Optional[pulumi.Input['DomainResourceSpecArgs']] = None, + lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The JupyterLab app settings. + :param pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. + :param pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]] custom_images: A list of custom images for use for JupyterLab apps. + :param pulumi.Input['DomainResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + if code_repositories is not None: + pulumi.set(__self__, "code_repositories", code_repositories) + if custom_images is not None: + pulumi.set(__self__, "custom_images", custom_images) + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="codeRepositories") + def code_repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]]]: + """ + A list of CodeRepositories available for use with JupyterLab apps. + """ + return pulumi.get(self, "code_repositories") + + @code_repositories.setter + def code_repositories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCodeRepositoryArgs']]]]): + pulumi.set(self, "code_repositories", value) + + @property + @pulumi.getter(name="customImages") + def custom_images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]]: + """ + A list of custom images for use for JupyterLab apps. + """ + return pulumi.get(self, "custom_images") + + @custom_images.setter + def custom_images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomImageArgs']]]]): + pulumi.set(self, "custom_images", value) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional[pulumi.Input['DomainResourceSpecArgs']]: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + """ + return pulumi.get(self, "default_resource_spec") + + @default_resource_spec.setter + def default_resource_spec(self, value: Optional[pulumi.Input['DomainResourceSpecArgs']]): + pulumi.set(self, "default_resource_spec", value) + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @lifecycle_config_arns.setter + def lifecycle_config_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "lifecycle_config_arns", value) + + @pulumi.input_type class DomainJupyterServerAppSettingsArgs: def __init__(__self__, *, @@ -2138,21 +2418,40 @@ def value(self, value: pulumi.Input[str]): class DomainUserSettingsArgs: def __init__(__self__, *, execution_role: pulumi.Input[str], + code_editor_app_settings: Optional[pulumi.Input['DomainCodeEditorAppSettingsArgs']] = None, + custom_file_system_configs: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomFileSystemConfigArgs']]]] = None, + custom_posix_user_config: Optional[pulumi.Input['DomainCustomPosixUserConfigArgs']] = None, + default_landing_uri: Optional[pulumi.Input[str]] = None, + jupyter_lab_app_settings: Optional[pulumi.Input['DomainJupyterLabAppSettingsArgs']] = None, jupyter_server_app_settings: Optional[pulumi.Input['DomainJupyterServerAppSettingsArgs']] = None, kernel_gateway_app_settings: Optional[pulumi.Input['DomainKernelGatewayAppSettingsArgs']] = None, r_session_app_settings: Optional[pulumi.Input['DomainRSessionAppSettingsArgs']] = None, r_studio_server_pro_app_settings: Optional[pulumi.Input['DomainRStudioServerProAppSettingsArgs']] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - sharing_settings: Optional[pulumi.Input['DomainSharingSettingsArgs']] = None): + sharing_settings: Optional[pulumi.Input['DomainSharingSettingsArgs']] = None, + space_storage_settings: Optional[pulumi.Input['DomainDefaultSpaceStorageSettingsArgs']] = None, + studio_web_portal: Optional[pulumi.Input['DomainUserSettingsStudioWebPortal']] = None): """ 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. :param pulumi.Input[str] execution_role: The execution role for the user. + :param pulumi.Input[str] default_landing_uri: Defines which Amazon SageMaker application users are directed to by default. :param pulumi.Input['DomainJupyterServerAppSettingsArgs'] jupyter_server_app_settings: The Jupyter server's app settings. :param pulumi.Input['DomainKernelGatewayAppSettingsArgs'] kernel_gateway_app_settings: The kernel gateway app settings. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. :param pulumi.Input['DomainSharingSettingsArgs'] sharing_settings: The sharing settings. + :param pulumi.Input['DomainUserSettingsStudioWebPortal'] studio_web_portal: Indicates whether the Studio experience is available to users. If not, users cannot access Studio. """ pulumi.set(__self__, "execution_role", execution_role) + if code_editor_app_settings is not None: + pulumi.set(__self__, "code_editor_app_settings", code_editor_app_settings) + if custom_file_system_configs is not None: + pulumi.set(__self__, "custom_file_system_configs", custom_file_system_configs) + if custom_posix_user_config is not None: + pulumi.set(__self__, "custom_posix_user_config", custom_posix_user_config) + if default_landing_uri is not None: + pulumi.set(__self__, "default_landing_uri", default_landing_uri) + if jupyter_lab_app_settings is not None: + pulumi.set(__self__, "jupyter_lab_app_settings", jupyter_lab_app_settings) if jupyter_server_app_settings is not None: pulumi.set(__self__, "jupyter_server_app_settings", jupyter_server_app_settings) if kernel_gateway_app_settings is not None: @@ -2165,6 +2464,10 @@ def __init__(__self__, *, pulumi.set(__self__, "security_groups", security_groups) if sharing_settings is not None: pulumi.set(__self__, "sharing_settings", sharing_settings) + if space_storage_settings is not None: + pulumi.set(__self__, "space_storage_settings", space_storage_settings) + if studio_web_portal is not None: + pulumi.set(__self__, "studio_web_portal", studio_web_portal) @property @pulumi.getter(name="executionRole") @@ -2178,6 +2481,54 @@ def execution_role(self) -> pulumi.Input[str]: def execution_role(self, value: pulumi.Input[str]): pulumi.set(self, "execution_role", value) + @property + @pulumi.getter(name="codeEditorAppSettings") + def code_editor_app_settings(self) -> Optional[pulumi.Input['DomainCodeEditorAppSettingsArgs']]: + return pulumi.get(self, "code_editor_app_settings") + + @code_editor_app_settings.setter + def code_editor_app_settings(self, value: Optional[pulumi.Input['DomainCodeEditorAppSettingsArgs']]): + pulumi.set(self, "code_editor_app_settings", value) + + @property + @pulumi.getter(name="customFileSystemConfigs") + def custom_file_system_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomFileSystemConfigArgs']]]]: + return pulumi.get(self, "custom_file_system_configs") + + @custom_file_system_configs.setter + def custom_file_system_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DomainCustomFileSystemConfigArgs']]]]): + pulumi.set(self, "custom_file_system_configs", value) + + @property + @pulumi.getter(name="customPosixUserConfig") + def custom_posix_user_config(self) -> Optional[pulumi.Input['DomainCustomPosixUserConfigArgs']]: + return pulumi.get(self, "custom_posix_user_config") + + @custom_posix_user_config.setter + def custom_posix_user_config(self, value: Optional[pulumi.Input['DomainCustomPosixUserConfigArgs']]): + pulumi.set(self, "custom_posix_user_config", value) + + @property + @pulumi.getter(name="defaultLandingUri") + def default_landing_uri(self) -> Optional[pulumi.Input[str]]: + """ + Defines which Amazon SageMaker application users are directed to by default. + """ + return pulumi.get(self, "default_landing_uri") + + @default_landing_uri.setter + def default_landing_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_landing_uri", value) + + @property + @pulumi.getter(name="jupyterLabAppSettings") + def jupyter_lab_app_settings(self) -> Optional[pulumi.Input['DomainJupyterLabAppSettingsArgs']]: + return pulumi.get(self, "jupyter_lab_app_settings") + + @jupyter_lab_app_settings.setter + def jupyter_lab_app_settings(self, value: Optional[pulumi.Input['DomainJupyterLabAppSettingsArgs']]): + pulumi.set(self, "jupyter_lab_app_settings", value) + @property @pulumi.getter(name="jupyterServerAppSettings") def jupyter_server_app_settings(self) -> Optional[pulumi.Input['DomainJupyterServerAppSettingsArgs']]: @@ -2244,6 +2595,27 @@ def sharing_settings(self) -> Optional[pulumi.Input['DomainSharingSettingsArgs'] def sharing_settings(self, value: Optional[pulumi.Input['DomainSharingSettingsArgs']]): pulumi.set(self, "sharing_settings", value) + @property + @pulumi.getter(name="spaceStorageSettings") + def space_storage_settings(self) -> Optional[pulumi.Input['DomainDefaultSpaceStorageSettingsArgs']]: + return pulumi.get(self, "space_storage_settings") + + @space_storage_settings.setter + def space_storage_settings(self, value: Optional[pulumi.Input['DomainDefaultSpaceStorageSettingsArgs']]): + pulumi.set(self, "space_storage_settings", value) + + @property + @pulumi.getter(name="studioWebPortal") + def studio_web_portal(self) -> Optional[pulumi.Input['DomainUserSettingsStudioWebPortal']]: + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + return pulumi.get(self, "studio_web_portal") + + @studio_web_portal.setter + def studio_web_portal(self, value: Optional[pulumi.Input['DomainUserSettingsStudioWebPortal']]): + pulumi.set(self, "studio_web_portal", value) + @pulumi.input_type class EndpointAlarmArgs: @@ -11919,11 +12291,14 @@ def table_format(self, value: Optional[pulumi.Input['FeatureGroupTableFormat']]) class OnlineStoreConfigPropertiesArgs: def __init__(__self__, *, enable_online_store: Optional[pulumi.Input[bool]] = None, - security_config: Optional[pulumi.Input['FeatureGroupOnlineStoreSecurityConfigArgs']] = None): + security_config: Optional[pulumi.Input['FeatureGroupOnlineStoreSecurityConfigArgs']] = None, + storage_type: Optional[pulumi.Input['FeatureGroupStorageType']] = None): if enable_online_store is not None: pulumi.set(__self__, "enable_online_store", enable_online_store) if security_config is not None: pulumi.set(__self__, "security_config", security_config) + if storage_type is not None: + pulumi.set(__self__, "storage_type", storage_type) @property @pulumi.getter(name="enableOnlineStore") @@ -11943,6 +12318,15 @@ def security_config(self) -> Optional[pulumi.Input['FeatureGroupOnlineStoreSecur def security_config(self, value: Optional[pulumi.Input['FeatureGroupOnlineStoreSecurityConfigArgs']]): pulumi.set(self, "security_config", value) + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> Optional[pulumi.Input['FeatureGroupStorageType']]: + return pulumi.get(self, "storage_type") + + @storage_type.setter + def storage_type(self, value: Optional[pulumi.Input['FeatureGroupStorageType']]): + pulumi.set(self, "storage_type", value) + @pulumi.input_type class ParallelismConfigurationPropertiesArgs: @@ -12503,6 +12887,85 @@ def value(self, value: pulumi.Input[str]): pulumi.set(self, "value", value) +@pulumi.input_type +class UserProfileCodeEditorAppSettingsArgs: + def __init__(__self__, *, + default_resource_spec: Optional[pulumi.Input['UserProfileResourceSpecArgs']] = None, + lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The CodeEditor app settings. + :param pulumi.Input['UserProfileResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional[pulumi.Input['UserProfileResourceSpecArgs']]: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + """ + return pulumi.get(self, "default_resource_spec") + + @default_resource_spec.setter + def default_resource_spec(self, value: Optional[pulumi.Input['UserProfileResourceSpecArgs']]): + pulumi.set(self, "default_resource_spec", value) + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @lifecycle_config_arns.setter + def lifecycle_config_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "lifecycle_config_arns", value) + + +@pulumi.input_type +class UserProfileCodeRepositoryArgs: + def __init__(__self__, *, + repository_url: pulumi.Input[str]): + """ + :param pulumi.Input[str] repository_url: A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + pulumi.set(__self__, "repository_url", repository_url) + + @property + @pulumi.getter(name="repositoryUrl") + def repository_url(self) -> pulumi.Input[str]: + """ + A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + return pulumi.get(self, "repository_url") + + @repository_url.setter + def repository_url(self, value: pulumi.Input[str]): + pulumi.set(self, "repository_url", value) + + +@pulumi.input_type +class UserProfileCustomFileSystemConfigArgs: + def __init__(__self__, *, + efs_file_system_config: Optional[pulumi.Input['UserProfileEfsFileSystemConfigArgs']] = None): + if efs_file_system_config is not None: + pulumi.set(__self__, "efs_file_system_config", efs_file_system_config) + + @property + @pulumi.getter(name="efsFileSystemConfig") + def efs_file_system_config(self) -> Optional[pulumi.Input['UserProfileEfsFileSystemConfigArgs']]: + return pulumi.get(self, "efs_file_system_config") + + @efs_file_system_config.setter + def efs_file_system_config(self, value: Optional[pulumi.Input['UserProfileEfsFileSystemConfigArgs']]): + pulumi.set(self, "efs_file_system_config", value) + + @pulumi.input_type class UserProfileCustomImageArgs: def __init__(__self__, *, @@ -12557,6 +13020,191 @@ def image_version_number(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "image_version_number", value) +@pulumi.input_type +class UserProfileCustomPosixUserConfigArgs: + def __init__(__self__, *, + gid: pulumi.Input[int], + uid: pulumi.Input[int]): + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + + @property + @pulumi.getter + def gid(self) -> pulumi.Input[int]: + return pulumi.get(self, "gid") + + @gid.setter + def gid(self, value: pulumi.Input[int]): + pulumi.set(self, "gid", value) + + @property + @pulumi.getter + def uid(self) -> pulumi.Input[int]: + return pulumi.get(self, "uid") + + @uid.setter + def uid(self, value: pulumi.Input[int]): + pulumi.set(self, "uid", value) + + +@pulumi.input_type +class UserProfileDefaultEbsStorageSettingsArgs: + def __init__(__self__, *, + default_ebs_volume_size_in_gb: pulumi.Input[int], + maximum_ebs_volume_size_in_gb: pulumi.Input[int]): + """ + Properties related to the Amazon Elastic Block Store volume. + :param pulumi.Input[int] default_ebs_volume_size_in_gb: Default size of the Amazon EBS volume in Gb + :param pulumi.Input[int] maximum_ebs_volume_size_in_gb: Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + pulumi.set(__self__, "default_ebs_volume_size_in_gb", default_ebs_volume_size_in_gb) + pulumi.set(__self__, "maximum_ebs_volume_size_in_gb", maximum_ebs_volume_size_in_gb) + + @property + @pulumi.getter(name="defaultEbsVolumeSizeInGb") + def default_ebs_volume_size_in_gb(self) -> pulumi.Input[int]: + """ + Default size of the Amazon EBS volume in Gb + """ + return pulumi.get(self, "default_ebs_volume_size_in_gb") + + @default_ebs_volume_size_in_gb.setter + def default_ebs_volume_size_in_gb(self, value: pulumi.Input[int]): + pulumi.set(self, "default_ebs_volume_size_in_gb", value) + + @property + @pulumi.getter(name="maximumEbsVolumeSizeInGb") + def maximum_ebs_volume_size_in_gb(self) -> pulumi.Input[int]: + """ + Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + return pulumi.get(self, "maximum_ebs_volume_size_in_gb") + + @maximum_ebs_volume_size_in_gb.setter + def maximum_ebs_volume_size_in_gb(self, value: pulumi.Input[int]): + pulumi.set(self, "maximum_ebs_volume_size_in_gb", value) + + +@pulumi.input_type +class UserProfileDefaultSpaceStorageSettingsArgs: + def __init__(__self__, *, + default_ebs_storage_settings: Optional[pulumi.Input['UserProfileDefaultEbsStorageSettingsArgs']] = None): + """ + Default storage settings for a space. + """ + if default_ebs_storage_settings is not None: + pulumi.set(__self__, "default_ebs_storage_settings", default_ebs_storage_settings) + + @property + @pulumi.getter(name="defaultEbsStorageSettings") + def default_ebs_storage_settings(self) -> Optional[pulumi.Input['UserProfileDefaultEbsStorageSettingsArgs']]: + return pulumi.get(self, "default_ebs_storage_settings") + + @default_ebs_storage_settings.setter + def default_ebs_storage_settings(self, value: Optional[pulumi.Input['UserProfileDefaultEbsStorageSettingsArgs']]): + pulumi.set(self, "default_ebs_storage_settings", value) + + +@pulumi.input_type +class UserProfileEfsFileSystemConfigArgs: + def __init__(__self__, *, + file_system_id: pulumi.Input[str], + file_system_path: Optional[pulumi.Input[str]] = None): + pulumi.set(__self__, "file_system_id", file_system_id) + if file_system_path is not None: + pulumi.set(__self__, "file_system_path", file_system_path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "file_system_id") + + @file_system_id.setter + def file_system_id(self, value: pulumi.Input[str]): + pulumi.set(self, "file_system_id", value) + + @property + @pulumi.getter(name="fileSystemPath") + def file_system_path(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "file_system_path") + + @file_system_path.setter + def file_system_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "file_system_path", value) + + +@pulumi.input_type +class UserProfileJupyterLabAppSettingsArgs: + def __init__(__self__, *, + code_repositories: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]]] = None, + custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]] = None, + default_resource_spec: Optional[pulumi.Input['UserProfileResourceSpecArgs']] = None, + lifecycle_config_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The JupyterLab app settings. + :param pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. + :param pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]] custom_images: A list of custom images available for use for JupyterLab apps + :param pulumi.Input['UserProfileResourceSpecArgs'] default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + :param pulumi.Input[Sequence[pulumi.Input[str]]] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + if code_repositories is not None: + pulumi.set(__self__, "code_repositories", code_repositories) + if custom_images is not None: + pulumi.set(__self__, "custom_images", custom_images) + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="codeRepositories") + def code_repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]]]: + """ + A list of CodeRepositories available for use with JupyterLab apps. + """ + return pulumi.get(self, "code_repositories") + + @code_repositories.setter + def code_repositories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCodeRepositoryArgs']]]]): + pulumi.set(self, "code_repositories", value) + + @property + @pulumi.getter(name="customImages") + def custom_images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]]: + """ + A list of custom images available for use for JupyterLab apps + """ + return pulumi.get(self, "custom_images") + + @custom_images.setter + def custom_images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomImageArgs']]]]): + pulumi.set(self, "custom_images", value) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional[pulumi.Input['UserProfileResourceSpecArgs']]: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + """ + return pulumi.get(self, "default_resource_spec") + + @default_resource_spec.setter + def default_resource_spec(self, value: Optional[pulumi.Input['UserProfileResourceSpecArgs']]): + pulumi.set(self, "default_resource_spec", value) + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @lifecycle_config_arns.setter + def lifecycle_config_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "lifecycle_config_arns", value) + + @pulumi.input_type class UserProfileJupyterServerAppSettingsArgs: def __init__(__self__, *, @@ -12798,22 +13446,41 @@ def value(self, value: pulumi.Input[str]): @pulumi.input_type class UserProfileUserSettingsArgs: def __init__(__self__, *, + code_editor_app_settings: Optional[pulumi.Input['UserProfileCodeEditorAppSettingsArgs']] = None, + custom_file_system_configs: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomFileSystemConfigArgs']]]] = None, + custom_posix_user_config: Optional[pulumi.Input['UserProfileCustomPosixUserConfigArgs']] = None, + default_landing_uri: Optional[pulumi.Input[str]] = None, execution_role: Optional[pulumi.Input[str]] = None, + jupyter_lab_app_settings: Optional[pulumi.Input['UserProfileJupyterLabAppSettingsArgs']] = None, jupyter_server_app_settings: Optional[pulumi.Input['UserProfileJupyterServerAppSettingsArgs']] = None, kernel_gateway_app_settings: Optional[pulumi.Input['UserProfileKernelGatewayAppSettingsArgs']] = None, r_studio_server_pro_app_settings: Optional[pulumi.Input['UserProfileRStudioServerProAppSettingsArgs']] = None, security_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - sharing_settings: Optional[pulumi.Input['UserProfileSharingSettingsArgs']] = None): + sharing_settings: Optional[pulumi.Input['UserProfileSharingSettingsArgs']] = None, + space_storage_settings: Optional[pulumi.Input['UserProfileDefaultSpaceStorageSettingsArgs']] = None, + studio_web_portal: Optional[pulumi.Input['UserProfileUserSettingsStudioWebPortal']] = None): """ 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. + :param pulumi.Input[str] default_landing_uri: Defines which Amazon SageMaker application users are directed to by default. :param pulumi.Input[str] execution_role: The user profile Amazon Resource Name (ARN). :param pulumi.Input['UserProfileJupyterServerAppSettingsArgs'] jupyter_server_app_settings: The Jupyter server's app settings. :param pulumi.Input['UserProfileKernelGatewayAppSettingsArgs'] kernel_gateway_app_settings: The kernel gateway app settings. :param pulumi.Input[Sequence[pulumi.Input[str]]] security_groups: The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. :param pulumi.Input['UserProfileSharingSettingsArgs'] sharing_settings: The sharing settings. - """ + :param pulumi.Input['UserProfileUserSettingsStudioWebPortal'] studio_web_portal: Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + if code_editor_app_settings is not None: + pulumi.set(__self__, "code_editor_app_settings", code_editor_app_settings) + if custom_file_system_configs is not None: + pulumi.set(__self__, "custom_file_system_configs", custom_file_system_configs) + if custom_posix_user_config is not None: + pulumi.set(__self__, "custom_posix_user_config", custom_posix_user_config) + if default_landing_uri is not None: + pulumi.set(__self__, "default_landing_uri", default_landing_uri) if execution_role is not None: pulumi.set(__self__, "execution_role", execution_role) + if jupyter_lab_app_settings is not None: + pulumi.set(__self__, "jupyter_lab_app_settings", jupyter_lab_app_settings) if jupyter_server_app_settings is not None: pulumi.set(__self__, "jupyter_server_app_settings", jupyter_server_app_settings) if kernel_gateway_app_settings is not None: @@ -12824,6 +13491,49 @@ def __init__(__self__, *, pulumi.set(__self__, "security_groups", security_groups) if sharing_settings is not None: pulumi.set(__self__, "sharing_settings", sharing_settings) + if space_storage_settings is not None: + pulumi.set(__self__, "space_storage_settings", space_storage_settings) + if studio_web_portal is not None: + pulumi.set(__self__, "studio_web_portal", studio_web_portal) + + @property + @pulumi.getter(name="codeEditorAppSettings") + def code_editor_app_settings(self) -> Optional[pulumi.Input['UserProfileCodeEditorAppSettingsArgs']]: + return pulumi.get(self, "code_editor_app_settings") + + @code_editor_app_settings.setter + def code_editor_app_settings(self, value: Optional[pulumi.Input['UserProfileCodeEditorAppSettingsArgs']]): + pulumi.set(self, "code_editor_app_settings", value) + + @property + @pulumi.getter(name="customFileSystemConfigs") + def custom_file_system_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomFileSystemConfigArgs']]]]: + return pulumi.get(self, "custom_file_system_configs") + + @custom_file_system_configs.setter + def custom_file_system_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['UserProfileCustomFileSystemConfigArgs']]]]): + pulumi.set(self, "custom_file_system_configs", value) + + @property + @pulumi.getter(name="customPosixUserConfig") + def custom_posix_user_config(self) -> Optional[pulumi.Input['UserProfileCustomPosixUserConfigArgs']]: + return pulumi.get(self, "custom_posix_user_config") + + @custom_posix_user_config.setter + def custom_posix_user_config(self, value: Optional[pulumi.Input['UserProfileCustomPosixUserConfigArgs']]): + pulumi.set(self, "custom_posix_user_config", value) + + @property + @pulumi.getter(name="defaultLandingUri") + def default_landing_uri(self) -> Optional[pulumi.Input[str]]: + """ + Defines which Amazon SageMaker application users are directed to by default. + """ + return pulumi.get(self, "default_landing_uri") + + @default_landing_uri.setter + def default_landing_uri(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_landing_uri", value) @property @pulumi.getter(name="executionRole") @@ -12837,6 +13547,15 @@ def execution_role(self) -> Optional[pulumi.Input[str]]: def execution_role(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "execution_role", value) + @property + @pulumi.getter(name="jupyterLabAppSettings") + def jupyter_lab_app_settings(self) -> Optional[pulumi.Input['UserProfileJupyterLabAppSettingsArgs']]: + return pulumi.get(self, "jupyter_lab_app_settings") + + @jupyter_lab_app_settings.setter + def jupyter_lab_app_settings(self, value: Optional[pulumi.Input['UserProfileJupyterLabAppSettingsArgs']]): + pulumi.set(self, "jupyter_lab_app_settings", value) + @property @pulumi.getter(name="jupyterServerAppSettings") def jupyter_server_app_settings(self) -> Optional[pulumi.Input['UserProfileJupyterServerAppSettingsArgs']]: @@ -12894,6 +13613,27 @@ def sharing_settings(self) -> Optional[pulumi.Input['UserProfileSharingSettingsA def sharing_settings(self, value: Optional[pulumi.Input['UserProfileSharingSettingsArgs']]): pulumi.set(self, "sharing_settings", value) + @property + @pulumi.getter(name="spaceStorageSettings") + def space_storage_settings(self) -> Optional[pulumi.Input['UserProfileDefaultSpaceStorageSettingsArgs']]: + return pulumi.get(self, "space_storage_settings") + + @space_storage_settings.setter + def space_storage_settings(self, value: Optional[pulumi.Input['UserProfileDefaultSpaceStorageSettingsArgs']]): + pulumi.set(self, "space_storage_settings", value) + + @property + @pulumi.getter(name="studioWebPortal") + def studio_web_portal(self) -> Optional[pulumi.Input['UserProfileUserSettingsStudioWebPortal']]: + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + return pulumi.get(self, "studio_web_portal") + + @studio_web_portal.setter + def studio_web_portal(self, value: Optional[pulumi.Input['UserProfileUserSettingsStudioWebPortal']]): + pulumi.set(self, "studio_web_portal", value) + @pulumi.input_type class WorkteamCognitoMemberDefinitionArgs: diff --git a/sdk/python/pulumi_aws_native/sagemaker/domain.py b/sdk/python/pulumi_aws_native/sagemaker/domain.py index 72d5cc3047..eebb2f67ee 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/domain.py +++ b/sdk/python/pulumi_aws_native/sagemaker/domain.py @@ -290,9 +290,10 @@ def _internal_init(__self__, __props__.__dict__["domain_id"] = None __props__.__dict__["home_efs_file_system_id"] = None __props__.__dict__["security_group_id_for_domain_boundary"] = None + __props__.__dict__["single_sign_on_application_arn"] = None __props__.__dict__["single_sign_on_managed_application_instance_id"] = None __props__.__dict__["url"] = None - replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["app_network_access_type", "auth_mode", "domain_name", "domain_settings.r_studio_server_pro_domain_settings.default_resource_spec", "kms_key_id", "subnet_ids[*]", "tags[*]", "vpc_id"]) + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["auth_mode", "domain_name", "domain_settings.r_studio_server_pro_domain_settings.default_resource_spec", "kms_key_id", "tags[*]", "vpc_id"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) super(Domain, __self__).__init__( 'aws-native:sagemaker:Domain', @@ -328,6 +329,7 @@ def get(resource_name: str, __props__.__dict__["home_efs_file_system_id"] = None __props__.__dict__["kms_key_id"] = None __props__.__dict__["security_group_id_for_domain_boundary"] = None + __props__.__dict__["single_sign_on_application_arn"] = None __props__.__dict__["single_sign_on_managed_application_instance_id"] = None __props__.__dict__["subnet_ids"] = None __props__.__dict__["tags"] = None @@ -428,6 +430,14 @@ def security_group_id_for_domain_boundary(self) -> pulumi.Output[str]: """ return pulumi.get(self, "security_group_id_for_domain_boundary") + @property + @pulumi.getter(name="singleSignOnApplicationArn") + def single_sign_on_application_arn(self) -> pulumi.Output[str]: + """ + The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + """ + return pulumi.get(self, "single_sign_on_application_arn") + @property @pulumi.getter(name="singleSignOnManagedApplicationInstanceId") def single_sign_on_managed_application_instance_id(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws_native/sagemaker/get_domain.py b/sdk/python/pulumi_aws_native/sagemaker/get_domain.py index 02b4dbb27f..51dbd5a6f4 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/get_domain.py +++ b/sdk/python/pulumi_aws_native/sagemaker/get_domain.py @@ -20,7 +20,10 @@ @pulumi.output_type class GetDomainResult: - def __init__(__self__, app_security_group_management=None, default_space_settings=None, default_user_settings=None, domain_arn=None, domain_id=None, domain_settings=None, home_efs_file_system_id=None, security_group_id_for_domain_boundary=None, single_sign_on_managed_application_instance_id=None, url=None): + def __init__(__self__, app_network_access_type=None, app_security_group_management=None, default_space_settings=None, default_user_settings=None, domain_arn=None, domain_id=None, domain_settings=None, home_efs_file_system_id=None, security_group_id_for_domain_boundary=None, single_sign_on_application_arn=None, single_sign_on_managed_application_instance_id=None, subnet_ids=None, url=None): + if app_network_access_type and not isinstance(app_network_access_type, str): + raise TypeError("Expected argument 'app_network_access_type' to be a str") + pulumi.set(__self__, "app_network_access_type", app_network_access_type) if app_security_group_management and not isinstance(app_security_group_management, str): raise TypeError("Expected argument 'app_security_group_management' to be a str") pulumi.set(__self__, "app_security_group_management", app_security_group_management) @@ -45,13 +48,27 @@ def __init__(__self__, app_security_group_management=None, default_space_setting if security_group_id_for_domain_boundary and not isinstance(security_group_id_for_domain_boundary, str): raise TypeError("Expected argument 'security_group_id_for_domain_boundary' to be a str") pulumi.set(__self__, "security_group_id_for_domain_boundary", security_group_id_for_domain_boundary) + if single_sign_on_application_arn and not isinstance(single_sign_on_application_arn, str): + raise TypeError("Expected argument 'single_sign_on_application_arn' to be a str") + pulumi.set(__self__, "single_sign_on_application_arn", single_sign_on_application_arn) if single_sign_on_managed_application_instance_id and not isinstance(single_sign_on_managed_application_instance_id, str): raise TypeError("Expected argument 'single_sign_on_managed_application_instance_id' to be a str") pulumi.set(__self__, "single_sign_on_managed_application_instance_id", single_sign_on_managed_application_instance_id) + if subnet_ids and not isinstance(subnet_ids, list): + raise TypeError("Expected argument 'subnet_ids' to be a list") + pulumi.set(__self__, "subnet_ids", subnet_ids) if url and not isinstance(url, str): raise TypeError("Expected argument 'url' to be a str") pulumi.set(__self__, "url", url) + @property + @pulumi.getter(name="appNetworkAccessType") + def app_network_access_type(self) -> Optional['DomainAppNetworkAccessType']: + """ + Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly. + """ + return pulumi.get(self, "app_network_access_type") + @property @pulumi.getter(name="appSecurityGroupManagement") def app_security_group_management(self) -> Optional['DomainAppSecurityGroupManagement']: @@ -113,6 +130,14 @@ def security_group_id_for_domain_boundary(self) -> Optional[str]: """ return pulumi.get(self, "security_group_id_for_domain_boundary") + @property + @pulumi.getter(name="singleSignOnApplicationArn") + def single_sign_on_application_arn(self) -> Optional[str]: + """ + The ARN of the application managed by SageMaker in IAM Identity Center. This value is only returned for domains created after October 1, 2023. + """ + return pulumi.get(self, "single_sign_on_application_arn") + @property @pulumi.getter(name="singleSignOnManagedApplicationInstanceId") def single_sign_on_managed_application_instance_id(self) -> Optional[str]: @@ -121,6 +146,14 @@ def single_sign_on_managed_application_instance_id(self) -> Optional[str]: """ return pulumi.get(self, "single_sign_on_managed_application_instance_id") + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[Sequence[str]]: + """ + The VPC subnets that Studio uses for communication. + """ + return pulumi.get(self, "subnet_ids") + @property @pulumi.getter def url(self) -> Optional[str]: @@ -136,6 +169,7 @@ def __await__(self): if False: yield self return GetDomainResult( + app_network_access_type=self.app_network_access_type, app_security_group_management=self.app_security_group_management, default_space_settings=self.default_space_settings, default_user_settings=self.default_user_settings, @@ -144,7 +178,9 @@ def __await__(self): domain_settings=self.domain_settings, home_efs_file_system_id=self.home_efs_file_system_id, security_group_id_for_domain_boundary=self.security_group_id_for_domain_boundary, + single_sign_on_application_arn=self.single_sign_on_application_arn, single_sign_on_managed_application_instance_id=self.single_sign_on_managed_application_instance_id, + subnet_ids=self.subnet_ids, url=self.url) @@ -162,6 +198,7 @@ def get_domain(domain_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('aws-native:sagemaker:getDomain', __args__, opts=opts, typ=GetDomainResult).value return AwaitableGetDomainResult( + app_network_access_type=pulumi.get(__ret__, 'app_network_access_type'), app_security_group_management=pulumi.get(__ret__, 'app_security_group_management'), default_space_settings=pulumi.get(__ret__, 'default_space_settings'), default_user_settings=pulumi.get(__ret__, 'default_user_settings'), @@ -170,7 +207,9 @@ def get_domain(domain_id: Optional[str] = None, domain_settings=pulumi.get(__ret__, 'domain_settings'), home_efs_file_system_id=pulumi.get(__ret__, 'home_efs_file_system_id'), security_group_id_for_domain_boundary=pulumi.get(__ret__, 'security_group_id_for_domain_boundary'), + single_sign_on_application_arn=pulumi.get(__ret__, 'single_sign_on_application_arn'), single_sign_on_managed_application_instance_id=pulumi.get(__ret__, 'single_sign_on_managed_application_instance_id'), + subnet_ids=pulumi.get(__ret__, 'subnet_ids'), url=pulumi.get(__ret__, 'url')) diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py index 7545bba087..320f4787fc 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py @@ -43,8 +43,16 @@ 'DeviceFleetEdgeOutputConfig', 'DeviceFleetTag', 'DeviceTag', + 'DomainCodeEditorAppSettings', + 'DomainCodeRepository', + 'DomainCustomFileSystemConfig', 'DomainCustomImage', + 'DomainCustomPosixUserConfig', + 'DomainDefaultEbsStorageSettings', 'DomainDefaultSpaceSettings', + 'DomainDefaultSpaceStorageSettings', + 'DomainEfsFileSystemConfig', + 'DomainJupyterLabAppSettings', 'DomainJupyterServerAppSettings', 'DomainKernelGatewayAppSettings', 'DomainRSessionAppSettings', @@ -277,7 +285,15 @@ 'SpaceResourceSpec', 'SpaceSettings', 'SpaceTag', + 'UserProfileCodeEditorAppSettings', + 'UserProfileCodeRepository', + 'UserProfileCustomFileSystemConfig', 'UserProfileCustomImage', + 'UserProfileCustomPosixUserConfig', + 'UserProfileDefaultEbsStorageSettings', + 'UserProfileDefaultSpaceStorageSettings', + 'UserProfileEfsFileSystemConfig', + 'UserProfileJupyterLabAppSettings', 'UserProfileJupyterServerAppSettings', 'UserProfileKernelGatewayAppSettings', 'UserProfileRStudioServerProAppSettings', @@ -1821,6 +1837,125 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class DomainCodeEditorAppSettings(dict): + """ + The CodeEditor app settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultResourceSpec": + suggest = "default_resource_spec" + elif key == "lifecycleConfigArns": + suggest = "lifecycle_config_arns" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainCodeEditorAppSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainCodeEditorAppSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainCodeEditorAppSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_resource_spec: Optional['outputs.DomainResourceSpec'] = None, + lifecycle_config_arns: Optional[Sequence[str]] = None): + """ + The CodeEditor app settings. + :param 'DomainResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional['outputs.DomainResourceSpec']: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + """ + return pulumi.get(self, "default_resource_spec") + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[Sequence[str]]: + """ + A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + +@pulumi.output_type +class DomainCodeRepository(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "repositoryUrl": + suggest = "repository_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainCodeRepository. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainCodeRepository.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainCodeRepository.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + repository_url: str): + """ + :param str repository_url: A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + pulumi.set(__self__, "repository_url", repository_url) + + @property + @pulumi.getter(name="repositoryUrl") + def repository_url(self) -> str: + """ + A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + return pulumi.get(self, "repository_url") + + +@pulumi.output_type +class DomainCustomFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "efsFileSystemConfig": + suggest = "efs_file_system_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainCustomFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainCustomFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainCustomFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + efs_file_system_config: Optional['outputs.DomainEfsFileSystemConfig'] = None): + if efs_file_system_config is not None: + pulumi.set(__self__, "efs_file_system_config", efs_file_system_config) + + @property + @pulumi.getter(name="efsFileSystemConfig") + def efs_file_system_config(self) -> Optional['outputs.DomainEfsFileSystemConfig']: + return pulumi.get(self, "efs_file_system_config") + + @pulumi.output_type class DomainCustomImage(dict): """ @@ -1887,6 +2022,77 @@ def image_version_number(self) -> Optional[int]: return pulumi.get(self, "image_version_number") +@pulumi.output_type +class DomainCustomPosixUserConfig(dict): + def __init__(__self__, *, + gid: int, + uid: int): + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + + @property + @pulumi.getter + def gid(self) -> int: + return pulumi.get(self, "gid") + + @property + @pulumi.getter + def uid(self) -> int: + return pulumi.get(self, "uid") + + +@pulumi.output_type +class DomainDefaultEbsStorageSettings(dict): + """ + 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 + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultEbsVolumeSizeInGb": + suggest = "default_ebs_volume_size_in_gb" + elif key == "maximumEbsVolumeSizeInGb": + suggest = "maximum_ebs_volume_size_in_gb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainDefaultEbsStorageSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainDefaultEbsStorageSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainDefaultEbsStorageSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_ebs_volume_size_in_gb: int, + maximum_ebs_volume_size_in_gb: int): + """ + 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 + :param int default_ebs_volume_size_in_gb: Default size of the Amazon EBS volume in Gb + :param int maximum_ebs_volume_size_in_gb: Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + pulumi.set(__self__, "default_ebs_volume_size_in_gb", default_ebs_volume_size_in_gb) + pulumi.set(__self__, "maximum_ebs_volume_size_in_gb", maximum_ebs_volume_size_in_gb) + + @property + @pulumi.getter(name="defaultEbsVolumeSizeInGb") + def default_ebs_volume_size_in_gb(self) -> int: + """ + Default size of the Amazon EBS volume in Gb + """ + return pulumi.get(self, "default_ebs_volume_size_in_gb") + + @property + @pulumi.getter(name="maximumEbsVolumeSizeInGb") + def maximum_ebs_volume_size_in_gb(self) -> int: + """ + Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + return pulumi.get(self, "maximum_ebs_volume_size_in_gb") + + @pulumi.output_type class DomainDefaultSpaceSettings(dict): """ @@ -1968,6 +2174,163 @@ def security_groups(self) -> Optional[Sequence[str]]: return pulumi.get(self, "security_groups") +@pulumi.output_type +class DomainDefaultSpaceStorageSettings(dict): + """ + Default storage settings for a space. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultEbsStorageSettings": + suggest = "default_ebs_storage_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainDefaultSpaceStorageSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainDefaultSpaceStorageSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainDefaultSpaceStorageSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_ebs_storage_settings: Optional['outputs.DomainDefaultEbsStorageSettings'] = None): + """ + Default storage settings for a space. + """ + if default_ebs_storage_settings is not None: + pulumi.set(__self__, "default_ebs_storage_settings", default_ebs_storage_settings) + + @property + @pulumi.getter(name="defaultEbsStorageSettings") + def default_ebs_storage_settings(self) -> Optional['outputs.DomainDefaultEbsStorageSettings']: + return pulumi.get(self, "default_ebs_storage_settings") + + +@pulumi.output_type +class DomainEfsFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemId": + suggest = "file_system_id" + elif key == "fileSystemPath": + suggest = "file_system_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainEfsFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainEfsFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainEfsFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_id: str, + file_system_path: Optional[str] = None): + pulumi.set(__self__, "file_system_id", file_system_id) + if file_system_path is not None: + pulumi.set(__self__, "file_system_path", file_system_path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> str: + return pulumi.get(self, "file_system_id") + + @property + @pulumi.getter(name="fileSystemPath") + def file_system_path(self) -> Optional[str]: + return pulumi.get(self, "file_system_path") + + +@pulumi.output_type +class DomainJupyterLabAppSettings(dict): + """ + The JupyterLab app settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "codeRepositories": + suggest = "code_repositories" + elif key == "customImages": + suggest = "custom_images" + elif key == "defaultResourceSpec": + suggest = "default_resource_spec" + elif key == "lifecycleConfigArns": + suggest = "lifecycle_config_arns" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DomainJupyterLabAppSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DomainJupyterLabAppSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DomainJupyterLabAppSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code_repositories: Optional[Sequence['outputs.DomainCodeRepository']] = None, + custom_images: Optional[Sequence['outputs.DomainCustomImage']] = None, + default_resource_spec: Optional['outputs.DomainResourceSpec'] = None, + lifecycle_config_arns: Optional[Sequence[str]] = None): + """ + The JupyterLab app settings. + :param Sequence['DomainCodeRepository'] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. + :param Sequence['DomainCustomImage'] custom_images: A list of custom images for use for JupyterLab apps. + :param 'DomainResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + if code_repositories is not None: + pulumi.set(__self__, "code_repositories", code_repositories) + if custom_images is not None: + pulumi.set(__self__, "custom_images", custom_images) + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="codeRepositories") + def code_repositories(self) -> Optional[Sequence['outputs.DomainCodeRepository']]: + """ + A list of CodeRepositories available for use with JupyterLab apps. + """ + return pulumi.get(self, "code_repositories") + + @property + @pulumi.getter(name="customImages") + def custom_images(self) -> Optional[Sequence['outputs.DomainCustomImage']]: + """ + A list of custom images for use for JupyterLab apps. + """ + return pulumi.get(self, "custom_images") + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional['outputs.DomainResourceSpec']: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + """ + return pulumi.get(self, "default_resource_spec") + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[Sequence[str]]: + """ + A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @pulumi.output_type class DomainJupyterServerAppSettings(dict): """ @@ -2464,6 +2827,16 @@ def __key_warning(key: str): suggest = None if key == "executionRole": suggest = "execution_role" + elif key == "codeEditorAppSettings": + suggest = "code_editor_app_settings" + elif key == "customFileSystemConfigs": + suggest = "custom_file_system_configs" + elif key == "customPosixUserConfig": + suggest = "custom_posix_user_config" + elif key == "defaultLandingUri": + suggest = "default_landing_uri" + elif key == "jupyterLabAppSettings": + suggest = "jupyter_lab_app_settings" elif key == "jupyterServerAppSettings": suggest = "jupyter_server_app_settings" elif key == "kernelGatewayAppSettings": @@ -2476,6 +2849,10 @@ def __key_warning(key: str): suggest = "security_groups" elif key == "sharingSettings": suggest = "sharing_settings" + elif key == "spaceStorageSettings": + suggest = "space_storage_settings" + elif key == "studioWebPortal": + suggest = "studio_web_portal" if suggest: pulumi.log.warn(f"Key '{key}' not found in DomainUserSettings. Access the value via the '{suggest}' property getter instead.") @@ -2490,21 +2867,40 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, execution_role: str, + code_editor_app_settings: Optional['outputs.DomainCodeEditorAppSettings'] = None, + custom_file_system_configs: Optional[Sequence['outputs.DomainCustomFileSystemConfig']] = None, + custom_posix_user_config: Optional['outputs.DomainCustomPosixUserConfig'] = None, + default_landing_uri: Optional[str] = None, + jupyter_lab_app_settings: Optional['outputs.DomainJupyterLabAppSettings'] = None, jupyter_server_app_settings: Optional['outputs.DomainJupyterServerAppSettings'] = None, kernel_gateway_app_settings: Optional['outputs.DomainKernelGatewayAppSettings'] = None, r_session_app_settings: Optional['outputs.DomainRSessionAppSettings'] = None, r_studio_server_pro_app_settings: Optional['outputs.DomainRStudioServerProAppSettings'] = None, security_groups: Optional[Sequence[str]] = None, - sharing_settings: Optional['outputs.DomainSharingSettings'] = None): + sharing_settings: Optional['outputs.DomainSharingSettings'] = None, + space_storage_settings: Optional['outputs.DomainDefaultSpaceStorageSettings'] = None, + studio_web_portal: Optional['DomainUserSettingsStudioWebPortal'] = None): """ 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. :param str execution_role: The execution role for the user. + :param str default_landing_uri: Defines which Amazon SageMaker application users are directed to by default. :param 'DomainJupyterServerAppSettings' jupyter_server_app_settings: The Jupyter server's app settings. :param 'DomainKernelGatewayAppSettings' kernel_gateway_app_settings: The kernel gateway app settings. :param Sequence[str] security_groups: The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. :param 'DomainSharingSettings' sharing_settings: The sharing settings. + :param 'DomainUserSettingsStudioWebPortal' studio_web_portal: Indicates whether the Studio experience is available to users. If not, users cannot access Studio. """ pulumi.set(__self__, "execution_role", execution_role) + if code_editor_app_settings is not None: + pulumi.set(__self__, "code_editor_app_settings", code_editor_app_settings) + if custom_file_system_configs is not None: + pulumi.set(__self__, "custom_file_system_configs", custom_file_system_configs) + if custom_posix_user_config is not None: + pulumi.set(__self__, "custom_posix_user_config", custom_posix_user_config) + if default_landing_uri is not None: + pulumi.set(__self__, "default_landing_uri", default_landing_uri) + if jupyter_lab_app_settings is not None: + pulumi.set(__self__, "jupyter_lab_app_settings", jupyter_lab_app_settings) if jupyter_server_app_settings is not None: pulumi.set(__self__, "jupyter_server_app_settings", jupyter_server_app_settings) if kernel_gateway_app_settings is not None: @@ -2517,6 +2913,10 @@ def __init__(__self__, *, pulumi.set(__self__, "security_groups", security_groups) if sharing_settings is not None: pulumi.set(__self__, "sharing_settings", sharing_settings) + if space_storage_settings is not None: + pulumi.set(__self__, "space_storage_settings", space_storage_settings) + if studio_web_portal is not None: + pulumi.set(__self__, "studio_web_portal", studio_web_portal) @property @pulumi.getter(name="executionRole") @@ -2526,6 +2926,34 @@ def execution_role(self) -> str: """ return pulumi.get(self, "execution_role") + @property + @pulumi.getter(name="codeEditorAppSettings") + def code_editor_app_settings(self) -> Optional['outputs.DomainCodeEditorAppSettings']: + return pulumi.get(self, "code_editor_app_settings") + + @property + @pulumi.getter(name="customFileSystemConfigs") + def custom_file_system_configs(self) -> Optional[Sequence['outputs.DomainCustomFileSystemConfig']]: + return pulumi.get(self, "custom_file_system_configs") + + @property + @pulumi.getter(name="customPosixUserConfig") + def custom_posix_user_config(self) -> Optional['outputs.DomainCustomPosixUserConfig']: + return pulumi.get(self, "custom_posix_user_config") + + @property + @pulumi.getter(name="defaultLandingUri") + def default_landing_uri(self) -> Optional[str]: + """ + Defines which Amazon SageMaker application users are directed to by default. + """ + return pulumi.get(self, "default_landing_uri") + + @property + @pulumi.getter(name="jupyterLabAppSettings") + def jupyter_lab_app_settings(self) -> Optional['outputs.DomainJupyterLabAppSettings']: + return pulumi.get(self, "jupyter_lab_app_settings") + @property @pulumi.getter(name="jupyterServerAppSettings") def jupyter_server_app_settings(self) -> Optional['outputs.DomainJupyterServerAppSettings']: @@ -2568,6 +2996,19 @@ def sharing_settings(self) -> Optional['outputs.DomainSharingSettings']: """ return pulumi.get(self, "sharing_settings") + @property + @pulumi.getter(name="spaceStorageSettings") + def space_storage_settings(self) -> Optional['outputs.DomainDefaultSpaceStorageSettings']: + return pulumi.get(self, "space_storage_settings") + + @property + @pulumi.getter(name="studioWebPortal") + def studio_web_portal(self) -> Optional['DomainUserSettingsStudioWebPortal']: + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + return pulumi.get(self, "studio_web_portal") + @pulumi.output_type class EndpointAlarm(dict): @@ -13625,6 +14066,8 @@ def __key_warning(key: str): suggest = "enable_online_store" elif key == "securityConfig": suggest = "security_config" + elif key == "storageType": + suggest = "storage_type" if suggest: pulumi.log.warn(f"Key '{key}' not found in OnlineStoreConfigProperties. Access the value via the '{suggest}' property getter instead.") @@ -13639,11 +14082,14 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, enable_online_store: Optional[bool] = None, - security_config: Optional['outputs.FeatureGroupOnlineStoreSecurityConfig'] = None): + security_config: Optional['outputs.FeatureGroupOnlineStoreSecurityConfig'] = None, + storage_type: Optional['FeatureGroupStorageType'] = None): if enable_online_store is not None: pulumi.set(__self__, "enable_online_store", enable_online_store) if security_config is not None: pulumi.set(__self__, "security_config", security_config) + if storage_type is not None: + pulumi.set(__self__, "storage_type", storage_type) @property @pulumi.getter(name="enableOnlineStore") @@ -13655,6 +14101,11 @@ def enable_online_store(self) -> Optional[bool]: def security_config(self) -> Optional['outputs.FeatureGroupOnlineStoreSecurityConfig']: return pulumi.get(self, "security_config") + @property + @pulumi.getter(name="storageType") + def storage_type(self) -> Optional['FeatureGroupStorageType']: + return pulumi.get(self, "storage_type") + @pulumi.output_type class ParallelismConfigurationProperties(dict): @@ -14318,6 +14769,125 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class UserProfileCodeEditorAppSettings(dict): + """ + The CodeEditor app settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultResourceSpec": + suggest = "default_resource_spec" + elif key == "lifecycleConfigArns": + suggest = "lifecycle_config_arns" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileCodeEditorAppSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileCodeEditorAppSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileCodeEditorAppSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_resource_spec: Optional['outputs.UserProfileResourceSpec'] = None, + lifecycle_config_arns: Optional[Sequence[str]] = None): + """ + The CodeEditor app settings. + :param 'UserProfileResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional['outputs.UserProfileResourceSpec']: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the CodeEditor app. + """ + return pulumi.get(self, "default_resource_spec") + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[Sequence[str]]: + """ + A list of LifecycleConfigArns available for use with CodeEditor apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + +@pulumi.output_type +class UserProfileCodeRepository(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "repositoryUrl": + suggest = "repository_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileCodeRepository. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileCodeRepository.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileCodeRepository.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + repository_url: str): + """ + :param str repository_url: A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + pulumi.set(__self__, "repository_url", repository_url) + + @property + @pulumi.getter(name="repositoryUrl") + def repository_url(self) -> str: + """ + A CodeRepository (valid URL) to be used within Jupyter's Git extension. + """ + return pulumi.get(self, "repository_url") + + +@pulumi.output_type +class UserProfileCustomFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "efsFileSystemConfig": + suggest = "efs_file_system_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileCustomFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileCustomFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileCustomFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + efs_file_system_config: Optional['outputs.UserProfileEfsFileSystemConfig'] = None): + if efs_file_system_config is not None: + pulumi.set(__self__, "efs_file_system_config", efs_file_system_config) + + @property + @pulumi.getter(name="efsFileSystemConfig") + def efs_file_system_config(self) -> Optional['outputs.UserProfileEfsFileSystemConfig']: + return pulumi.get(self, "efs_file_system_config") + + @pulumi.output_type class UserProfileCustomImage(dict): """ @@ -14384,6 +14954,234 @@ def image_version_number(self) -> Optional[int]: return pulumi.get(self, "image_version_number") +@pulumi.output_type +class UserProfileCustomPosixUserConfig(dict): + def __init__(__self__, *, + gid: int, + uid: int): + pulumi.set(__self__, "gid", gid) + pulumi.set(__self__, "uid", uid) + + @property + @pulumi.getter + def gid(self) -> int: + return pulumi.get(self, "gid") + + @property + @pulumi.getter + def uid(self) -> int: + return pulumi.get(self, "uid") + + +@pulumi.output_type +class UserProfileDefaultEbsStorageSettings(dict): + """ + Properties related to the Amazon Elastic Block Store volume. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultEbsVolumeSizeInGb": + suggest = "default_ebs_volume_size_in_gb" + elif key == "maximumEbsVolumeSizeInGb": + suggest = "maximum_ebs_volume_size_in_gb" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileDefaultEbsStorageSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileDefaultEbsStorageSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileDefaultEbsStorageSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_ebs_volume_size_in_gb: int, + maximum_ebs_volume_size_in_gb: int): + """ + Properties related to the Amazon Elastic Block Store volume. + :param int default_ebs_volume_size_in_gb: Default size of the Amazon EBS volume in Gb + :param int maximum_ebs_volume_size_in_gb: Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + pulumi.set(__self__, "default_ebs_volume_size_in_gb", default_ebs_volume_size_in_gb) + pulumi.set(__self__, "maximum_ebs_volume_size_in_gb", maximum_ebs_volume_size_in_gb) + + @property + @pulumi.getter(name="defaultEbsVolumeSizeInGb") + def default_ebs_volume_size_in_gb(self) -> int: + """ + Default size of the Amazon EBS volume in Gb + """ + return pulumi.get(self, "default_ebs_volume_size_in_gb") + + @property + @pulumi.getter(name="maximumEbsVolumeSizeInGb") + def maximum_ebs_volume_size_in_gb(self) -> int: + """ + Maximum size of the Amazon EBS volume in Gb. Must be greater than or equal to the DefaultEbsVolumeSizeInGb. + """ + return pulumi.get(self, "maximum_ebs_volume_size_in_gb") + + +@pulumi.output_type +class UserProfileDefaultSpaceStorageSettings(dict): + """ + Default storage settings for a space. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultEbsStorageSettings": + suggest = "default_ebs_storage_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileDefaultSpaceStorageSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileDefaultSpaceStorageSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileDefaultSpaceStorageSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_ebs_storage_settings: Optional['outputs.UserProfileDefaultEbsStorageSettings'] = None): + """ + Default storage settings for a space. + """ + if default_ebs_storage_settings is not None: + pulumi.set(__self__, "default_ebs_storage_settings", default_ebs_storage_settings) + + @property + @pulumi.getter(name="defaultEbsStorageSettings") + def default_ebs_storage_settings(self) -> Optional['outputs.UserProfileDefaultEbsStorageSettings']: + return pulumi.get(self, "default_ebs_storage_settings") + + +@pulumi.output_type +class UserProfileEfsFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fileSystemId": + suggest = "file_system_id" + elif key == "fileSystemPath": + suggest = "file_system_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileEfsFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileEfsFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileEfsFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + file_system_id: str, + file_system_path: Optional[str] = None): + pulumi.set(__self__, "file_system_id", file_system_id) + if file_system_path is not None: + pulumi.set(__self__, "file_system_path", file_system_path) + + @property + @pulumi.getter(name="fileSystemId") + def file_system_id(self) -> str: + return pulumi.get(self, "file_system_id") + + @property + @pulumi.getter(name="fileSystemPath") + def file_system_path(self) -> Optional[str]: + return pulumi.get(self, "file_system_path") + + +@pulumi.output_type +class UserProfileJupyterLabAppSettings(dict): + """ + The JupyterLab app settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "codeRepositories": + suggest = "code_repositories" + elif key == "customImages": + suggest = "custom_images" + elif key == "defaultResourceSpec": + suggest = "default_resource_spec" + elif key == "lifecycleConfigArns": + suggest = "lifecycle_config_arns" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in UserProfileJupyterLabAppSettings. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + UserProfileJupyterLabAppSettings.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + UserProfileJupyterLabAppSettings.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + code_repositories: Optional[Sequence['outputs.UserProfileCodeRepository']] = None, + custom_images: Optional[Sequence['outputs.UserProfileCustomImage']] = None, + default_resource_spec: Optional['outputs.UserProfileResourceSpec'] = None, + lifecycle_config_arns: Optional[Sequence[str]] = None): + """ + The JupyterLab app settings. + :param Sequence['UserProfileCodeRepository'] code_repositories: A list of CodeRepositories available for use with JupyterLab apps. + :param Sequence['UserProfileCustomImage'] custom_images: A list of custom images available for use for JupyterLab apps + :param 'UserProfileResourceSpec' default_resource_spec: The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + :param Sequence[str] lifecycle_config_arns: A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + if code_repositories is not None: + pulumi.set(__self__, "code_repositories", code_repositories) + if custom_images is not None: + pulumi.set(__self__, "custom_images", custom_images) + if default_resource_spec is not None: + pulumi.set(__self__, "default_resource_spec", default_resource_spec) + if lifecycle_config_arns is not None: + pulumi.set(__self__, "lifecycle_config_arns", lifecycle_config_arns) + + @property + @pulumi.getter(name="codeRepositories") + def code_repositories(self) -> Optional[Sequence['outputs.UserProfileCodeRepository']]: + """ + A list of CodeRepositories available for use with JupyterLab apps. + """ + return pulumi.get(self, "code_repositories") + + @property + @pulumi.getter(name="customImages") + def custom_images(self) -> Optional[Sequence['outputs.UserProfileCustomImage']]: + """ + A list of custom images available for use for JupyterLab apps + """ + return pulumi.get(self, "custom_images") + + @property + @pulumi.getter(name="defaultResourceSpec") + def default_resource_spec(self) -> Optional['outputs.UserProfileResourceSpec']: + """ + The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterLab app. + """ + return pulumi.get(self, "default_resource_spec") + + @property + @pulumi.getter(name="lifecycleConfigArns") + def lifecycle_config_arns(self) -> Optional[Sequence[str]]: + """ + A list of LifecycleConfigArns available for use with JupyterLab apps. + """ + return pulumi.get(self, "lifecycle_config_arns") + + @pulumi.output_type class UserProfileJupyterServerAppSettings(dict): """ @@ -14687,8 +15485,18 @@ class UserProfileUserSettings(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "executionRole": + if key == "codeEditorAppSettings": + suggest = "code_editor_app_settings" + elif key == "customFileSystemConfigs": + suggest = "custom_file_system_configs" + elif key == "customPosixUserConfig": + suggest = "custom_posix_user_config" + elif key == "defaultLandingUri": + suggest = "default_landing_uri" + elif key == "executionRole": suggest = "execution_role" + elif key == "jupyterLabAppSettings": + suggest = "jupyter_lab_app_settings" elif key == "jupyterServerAppSettings": suggest = "jupyter_server_app_settings" elif key == "kernelGatewayAppSettings": @@ -14699,6 +15507,10 @@ def __key_warning(key: str): suggest = "security_groups" elif key == "sharingSettings": suggest = "sharing_settings" + elif key == "spaceStorageSettings": + suggest = "space_storage_settings" + elif key == "studioWebPortal": + suggest = "studio_web_portal" if suggest: pulumi.log.warn(f"Key '{key}' not found in UserProfileUserSettings. Access the value via the '{suggest}' property getter instead.") @@ -14712,22 +15524,41 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + code_editor_app_settings: Optional['outputs.UserProfileCodeEditorAppSettings'] = None, + custom_file_system_configs: Optional[Sequence['outputs.UserProfileCustomFileSystemConfig']] = None, + custom_posix_user_config: Optional['outputs.UserProfileCustomPosixUserConfig'] = None, + default_landing_uri: Optional[str] = None, execution_role: Optional[str] = None, + jupyter_lab_app_settings: Optional['outputs.UserProfileJupyterLabAppSettings'] = None, jupyter_server_app_settings: Optional['outputs.UserProfileJupyterServerAppSettings'] = None, kernel_gateway_app_settings: Optional['outputs.UserProfileKernelGatewayAppSettings'] = None, r_studio_server_pro_app_settings: Optional['outputs.UserProfileRStudioServerProAppSettings'] = None, security_groups: Optional[Sequence[str]] = None, - sharing_settings: Optional['outputs.UserProfileSharingSettings'] = None): + sharing_settings: Optional['outputs.UserProfileSharingSettings'] = None, + space_storage_settings: Optional['outputs.UserProfileDefaultSpaceStorageSettings'] = None, + studio_web_portal: Optional['UserProfileUserSettingsStudioWebPortal'] = None): """ 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. + :param str default_landing_uri: Defines which Amazon SageMaker application users are directed to by default. :param str execution_role: The user profile Amazon Resource Name (ARN). :param 'UserProfileJupyterServerAppSettings' jupyter_server_app_settings: The Jupyter server's app settings. :param 'UserProfileKernelGatewayAppSettings' kernel_gateway_app_settings: The kernel gateway app settings. :param Sequence[str] security_groups: The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. :param 'UserProfileSharingSettings' sharing_settings: The sharing settings. - """ + :param 'UserProfileUserSettingsStudioWebPortal' studio_web_portal: Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + if code_editor_app_settings is not None: + pulumi.set(__self__, "code_editor_app_settings", code_editor_app_settings) + if custom_file_system_configs is not None: + pulumi.set(__self__, "custom_file_system_configs", custom_file_system_configs) + if custom_posix_user_config is not None: + pulumi.set(__self__, "custom_posix_user_config", custom_posix_user_config) + if default_landing_uri is not None: + pulumi.set(__self__, "default_landing_uri", default_landing_uri) if execution_role is not None: pulumi.set(__self__, "execution_role", execution_role) + if jupyter_lab_app_settings is not None: + pulumi.set(__self__, "jupyter_lab_app_settings", jupyter_lab_app_settings) if jupyter_server_app_settings is not None: pulumi.set(__self__, "jupyter_server_app_settings", jupyter_server_app_settings) if kernel_gateway_app_settings is not None: @@ -14738,6 +15569,33 @@ def __init__(__self__, *, pulumi.set(__self__, "security_groups", security_groups) if sharing_settings is not None: pulumi.set(__self__, "sharing_settings", sharing_settings) + if space_storage_settings is not None: + pulumi.set(__self__, "space_storage_settings", space_storage_settings) + if studio_web_portal is not None: + pulumi.set(__self__, "studio_web_portal", studio_web_portal) + + @property + @pulumi.getter(name="codeEditorAppSettings") + def code_editor_app_settings(self) -> Optional['outputs.UserProfileCodeEditorAppSettings']: + return pulumi.get(self, "code_editor_app_settings") + + @property + @pulumi.getter(name="customFileSystemConfigs") + def custom_file_system_configs(self) -> Optional[Sequence['outputs.UserProfileCustomFileSystemConfig']]: + return pulumi.get(self, "custom_file_system_configs") + + @property + @pulumi.getter(name="customPosixUserConfig") + def custom_posix_user_config(self) -> Optional['outputs.UserProfileCustomPosixUserConfig']: + return pulumi.get(self, "custom_posix_user_config") + + @property + @pulumi.getter(name="defaultLandingUri") + def default_landing_uri(self) -> Optional[str]: + """ + Defines which Amazon SageMaker application users are directed to by default. + """ + return pulumi.get(self, "default_landing_uri") @property @pulumi.getter(name="executionRole") @@ -14747,6 +15605,11 @@ def execution_role(self) -> Optional[str]: """ return pulumi.get(self, "execution_role") + @property + @pulumi.getter(name="jupyterLabAppSettings") + def jupyter_lab_app_settings(self) -> Optional['outputs.UserProfileJupyterLabAppSettings']: + return pulumi.get(self, "jupyter_lab_app_settings") + @property @pulumi.getter(name="jupyterServerAppSettings") def jupyter_server_app_settings(self) -> Optional['outputs.UserProfileJupyterServerAppSettings']: @@ -14784,6 +15647,19 @@ def sharing_settings(self) -> Optional['outputs.UserProfileSharingSettings']: """ return pulumi.get(self, "sharing_settings") + @property + @pulumi.getter(name="spaceStorageSettings") + def space_storage_settings(self) -> Optional['outputs.UserProfileDefaultSpaceStorageSettings']: + return pulumi.get(self, "space_storage_settings") + + @property + @pulumi.getter(name="studioWebPortal") + def studio_web_portal(self) -> Optional['UserProfileUserSettingsStudioWebPortal']: + """ + Indicates whether the Studio experience is available to users. If not, users cannot access Studio. + """ + return pulumi.get(self, "studio_web_portal") + @pulumi.output_type class WorkteamCognitoMemberDefinition(dict): diff --git a/sdk/python/pulumi_aws_native/sns/get_subscription.py b/sdk/python/pulumi_aws_native/sns/get_subscription.py index fe15b1dbcb..bcee01cde1 100644 --- a/sdk/python/pulumi_aws_native/sns/get_subscription.py +++ b/sdk/python/pulumi_aws_native/sns/get_subscription.py @@ -18,7 +18,7 @@ @pulumi.output_type class GetSubscriptionResult: - def __init__(__self__, delivery_policy=None, filter_policy=None, filter_policy_scope=None, id=None, raw_message_delivery=None, redrive_policy=None, region=None, subscription_role_arn=None): + def __init__(__self__, delivery_policy=None, filter_policy=None, filter_policy_scope=None, id=None, raw_message_delivery=None, redrive_policy=None, region=None, replay_policy=None, subscription_role_arn=None): if delivery_policy and not isinstance(delivery_policy, dict): raise TypeError("Expected argument 'delivery_policy' to be a dict") pulumi.set(__self__, "delivery_policy", delivery_policy) @@ -40,6 +40,9 @@ def __init__(__self__, delivery_policy=None, filter_policy=None, filter_policy_s if region and not isinstance(region, str): raise TypeError("Expected argument 'region' to be a str") pulumi.set(__self__, "region", region) + if replay_policy and not isinstance(replay_policy, dict): + raise TypeError("Expected argument 'replay_policy' to be a dict") + pulumi.set(__self__, "replay_policy", replay_policy) if subscription_role_arn and not isinstance(subscription_role_arn, str): raise TypeError("Expected argument 'subscription_role_arn' to be a str") pulumi.set(__self__, "subscription_role_arn", subscription_role_arn) @@ -79,6 +82,11 @@ def redrive_policy(self) -> Optional[Any]: def region(self) -> Optional[str]: return pulumi.get(self, "region") + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> Optional[Any]: + return pulumi.get(self, "replay_policy") + @property @pulumi.getter(name="subscriptionRoleArn") def subscription_role_arn(self) -> Optional[str]: @@ -98,6 +106,7 @@ def __await__(self): raw_message_delivery=self.raw_message_delivery, redrive_policy=self.redrive_policy, region=self.region, + replay_policy=self.replay_policy, subscription_role_arn=self.subscription_role_arn) @@ -119,6 +128,7 @@ def get_subscription(id: Optional[str] = None, raw_message_delivery=pulumi.get(__ret__, 'raw_message_delivery'), redrive_policy=pulumi.get(__ret__, 'redrive_policy'), region=pulumi.get(__ret__, 'region'), + replay_policy=pulumi.get(__ret__, 'replay_policy'), subscription_role_arn=pulumi.get(__ret__, 'subscription_role_arn')) diff --git a/sdk/python/pulumi_aws_native/sns/subscription.py b/sdk/python/pulumi_aws_native/sns/subscription.py index 5cc1a66311..1fa89dc162 100644 --- a/sdk/python/pulumi_aws_native/sns/subscription.py +++ b/sdk/python/pulumi_aws_native/sns/subscription.py @@ -23,6 +23,7 @@ def __init__(__self__, *, raw_message_delivery: Optional[pulumi.Input[bool]] = None, redrive_policy: Optional[Any] = None, region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, subscription_role_arn: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Subscription resource. @@ -43,6 +44,8 @@ def __init__(__self__, *, pulumi.set(__self__, "redrive_policy", redrive_policy) if region is not None: pulumi.set(__self__, "region", region) + if replay_policy is not None: + pulumi.set(__self__, "replay_policy", replay_policy) if subscription_role_arn is not None: pulumi.set(__self__, "subscription_role_arn", subscription_role_arn) @@ -127,6 +130,15 @@ def region(self) -> Optional[pulumi.Input[str]]: def region(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "region", value) + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> Optional[Any]: + return pulumi.get(self, "replay_policy") + + @replay_policy.setter + def replay_policy(self, value: Optional[Any]): + pulumi.set(self, "replay_policy", value) + @property @pulumi.getter(name="subscriptionRoleArn") def subscription_role_arn(self) -> Optional[pulumi.Input[str]]: @@ -155,6 +167,7 @@ def __init__(__self__, raw_message_delivery: Optional[pulumi.Input[bool]] = None, redrive_policy: Optional[Any] = None, region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, subscription_role_arn: Optional[pulumi.Input[str]] = None, topic_arn: Optional[pulumi.Input[str]] = None, __props__=None): @@ -196,6 +209,7 @@ def _internal_init(__self__, raw_message_delivery: Optional[pulumi.Input[bool]] = None, redrive_policy: Optional[Any] = None, region: Optional[pulumi.Input[str]] = None, + replay_policy: Optional[Any] = None, subscription_role_arn: Optional[pulumi.Input[str]] = None, topic_arn: Optional[pulumi.Input[str]] = None, __props__=None): @@ -218,6 +232,7 @@ def _internal_init(__self__, __props__.__dict__["raw_message_delivery"] = raw_message_delivery __props__.__dict__["redrive_policy"] = redrive_policy __props__.__dict__["region"] = region + __props__.__dict__["replay_policy"] = replay_policy __props__.__dict__["subscription_role_arn"] = subscription_role_arn if topic_arn is None and not opts.urn: raise TypeError("Missing required property 'topic_arn'") @@ -254,6 +269,7 @@ def get(resource_name: str, __props__.__dict__["raw_message_delivery"] = None __props__.__dict__["redrive_policy"] = None __props__.__dict__["region"] = None + __props__.__dict__["replay_policy"] = None __props__.__dict__["subscription_role_arn"] = None __props__.__dict__["topic_arn"] = None return Subscription(resource_name, opts=opts, __props__=__props__) @@ -298,6 +314,11 @@ def redrive_policy(self) -> pulumi.Output[Optional[Any]]: def region(self) -> pulumi.Output[Optional[str]]: return pulumi.get(self, "region") + @property + @pulumi.getter(name="replayPolicy") + def replay_policy(self) -> pulumi.Output[Optional[Any]]: + return pulumi.get(self, "replay_policy") + @property @pulumi.getter(name="subscriptionRoleArn") def subscription_role_arn(self) -> pulumi.Output[Optional[str]]: