diff --git a/.docs.version b/.docs.version index 65ff5b20c5..f14b633e99 100644 --- a/.docs.version +++ b/.docs.version @@ -1 +1 @@ -bb1b881ba9806d63dc07f76fc4082158eef07974 +d5c4f2b3a13546420e779899f745eab045ae114a diff --git a/aws-cloudformation-schema/aws-cloudformation-guardhook.json b/aws-cloudformation-schema/aws-cloudformation-guardhook.json index dce13867e1..69e7e7847e 100644 --- a/aws-cloudformation-schema/aws-cloudformation-guardhook.json +++ b/aws-cloudformation-schema/aws-cloudformation-guardhook.json @@ -34,7 +34,7 @@ "TargetOperation" : { "description" : "Which operations should this Hook run against? Resource changes, stacks or change sets.", "type" : "string", - "enum" : [ "RESOURCE", "STACK", "CHANGE_SET" ] + "enum" : [ "RESOURCE", "STACK", "CHANGE_SET", "CLOUD_CONTROL" ] }, "TargetName" : { "description" : "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", @@ -235,7 +235,7 @@ }, "Alias" : { "description" : "The typename alias for the hook.", - "pattern" : "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern" : "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type" : "string" }, "HookArn" : { diff --git a/aws-cloudformation-schema/aws-cloudformation-lambdahook.json b/aws-cloudformation-schema/aws-cloudformation-lambdahook.json index ca5fcb5d00..e10d291cb7 100644 --- a/aws-cloudformation-schema/aws-cloudformation-lambdahook.json +++ b/aws-cloudformation-schema/aws-cloudformation-lambdahook.json @@ -18,7 +18,7 @@ "TargetOperation" : { "description" : "Which operations should this Hook run against? Resource changes, stacks or change sets.", "type" : "string", - "enum" : [ "RESOURCE", "STACK", "CHANGE_SET" ] + "enum" : [ "RESOURCE", "STACK", "CHANGE_SET", "CLOUD_CONTROL" ] }, "TargetName" : { "description" : "Type name of hook target. Hook targets are the destination where hooks will be invoked against.", @@ -218,7 +218,7 @@ }, "Alias" : { "description" : "The typename alias for the hook.", - "pattern" : "^[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", + "pattern" : "^(?!(?i)aws)[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}$", "type" : "string" }, "HookArn" : { diff --git a/aws-cloudformation-schema/aws-cloudwatch-alarm.json b/aws-cloudformation-schema/aws-cloudwatch-alarm.json index 358ff45e46..9e467933ad 100644 --- a/aws-cloudformation-schema/aws-cloudwatch-alarm.json +++ b/aws-cloudformation-schema/aws-cloudwatch-alarm.json @@ -272,6 +272,7 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "cloudwatch:TagResource", "cloudwatch:UntagResource", "cloudwatch:ListTagsForResource" ] } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-cloudwatch-compositealarm.json b/aws-cloudformation-schema/aws-cloudwatch-compositealarm.json index db49364081..855e989e1e 100644 --- a/aws-cloudformation-schema/aws-cloudwatch-compositealarm.json +++ b/aws-cloudformation-schema/aws-cloudwatch-compositealarm.json @@ -7,7 +7,8 @@ "tagOnCreate" : true, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "cloudwatch:TagResource", "cloudwatch:UntagResource", "cloudwatch:ListTagsForResource" ] }, "properties" : { "Arn" : { diff --git a/aws-cloudformation-schema/aws-databrew-dataset.json b/aws-cloudformation-schema/aws-databrew-dataset.json index f703b7dcf9..2fada31670 100644 --- a/aws-cloudformation-schema/aws-databrew-dataset.json +++ b/aws-cloudformation-schema/aws-databrew-dataset.json @@ -22,6 +22,11 @@ "description" : "Input", "$ref" : "#/definitions/Input" }, + "Source" : { + "description" : "Source type of the dataset", + "type" : "string", + "enum" : [ "S3", "DATA-CATALOG", "DATABASE" ] + }, "PathOptions" : { "description" : "PathOptions", "$ref" : "#/definitions/PathOptions" @@ -137,6 +142,9 @@ }, "Key" : { "type" : "string" + }, + "BucketOwner" : { + "$ref" : "#/definitions/BucketOwner" } }, "additionalProperties" : false, @@ -195,6 +203,12 @@ }, "additionalProperties" : false }, + "BucketOwner" : { + "description" : "Bucket owner", + "type" : "string", + "minLength" : 12, + "maxLength" : 12 + }, "PathOptions" : { "description" : "Path options for dataset", "type" : "object", diff --git a/aws-cloudformation-schema/aws-datazone-domain.json b/aws-cloudformation-schema/aws-datazone-domain.json index 88135f4f1d..a23cbe7c77 100644 --- a/aws-cloudformation-schema/aws-datazone-domain.json +++ b/aws-cloudformation-schema/aws-datazone-domain.json @@ -133,16 +133,16 @@ }, "handlers" : { "create" : { - "permissions" : [ "datazone:CreateDomain", "datazone:UpdateDomain", "datazone:GetDomain", "datazone:TagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration" ] + "permissions" : [ "datazone:CreateDomain", "datazone:UpdateDomain", "datazone:GetDomain", "datazone:TagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration", "sso:ListInstances", "iam:PassRole" ] }, "read" : { "permissions" : [ "datazone:GetDomain" ] }, "update" : { - "permissions" : [ "datazone:UpdateDomain", "datazone:GetDomain", "datazone:TagResource", "datazone:UntagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration" ] + "permissions" : [ "datazone:UpdateDomain", "datazone:GetDomain", "datazone:TagResource", "datazone:UntagResource", "sso:CreateManagedApplicationInstance", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration", "sso:ListInstances", "iam:PassRole" ] }, "delete" : { - "permissions" : [ "datazone:DeleteDomain", "datazone:GetDomain", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration" ] + "permissions" : [ "datazone:DeleteDomain", "datazone:GetDomain", "sso:DeleteManagedApplicationInstance", "sso:PutApplicationAssignmentConfiguration", "sso:ListInstances" ] }, "list" : { "permissions" : [ "datazone:ListDomains" ] diff --git a/aws-cloudformation-schema/aws-datazone-projectmembership.json b/aws-cloudformation-schema/aws-datazone-projectmembership.json index b06cf28563..ff4d9f848c 100644 --- a/aws-cloudformation-schema/aws-datazone-projectmembership.json +++ b/aws-cloudformation-schema/aws-datazone-projectmembership.json @@ -41,7 +41,7 @@ "definitions" : { "UserDesignation" : { "type" : "string", - "enum" : [ "PROJECT_OWNER", "PROJECT_CONTRIBUTOR" ] + "enum" : [ "PROJECT_OWNER", "PROJECT_CONTRIBUTOR", "PROJECT_CATALOG_VIEWER", "PROJECT_CATALOG_CONSUMER", "PROJECT_CATALOG_STEWARD" ] }, "MemberIdentifierType" : { "type" : "string", diff --git a/aws-cloudformation-schema/aws-datazone-subscriptiontarget.json b/aws-cloudformation-schema/aws-datazone-subscriptiontarget.json index ffc3bed1d1..19c38ddf5f 100644 --- a/aws-cloudformation-schema/aws-datazone-subscriptiontarget.json +++ b/aws-cloudformation-schema/aws-datazone-subscriptiontarget.json @@ -121,7 +121,7 @@ "description" : "The Amazon DataZone user who updated the subscription target." } }, - "required" : [ "ApplicableAssetTypes", "AuthorizedPrincipals", "DomainIdentifier", "EnvironmentIdentifier", "ManageAccessRole", "Name", "SubscriptionTargetConfig", "Type" ], + "required" : [ "ApplicableAssetTypes", "AuthorizedPrincipals", "DomainIdentifier", "EnvironmentIdentifier", "Name", "SubscriptionTargetConfig", "Type" ], "readOnlyProperties" : [ "/properties/CreatedAt", "/properties/CreatedBy", "/properties/DomainId", "/properties/EnvironmentId", "/properties/Id", "/properties/ProjectId", "/properties/UpdatedAt", "/properties/UpdatedBy" ], "createOnlyProperties" : [ "/properties/Type", "/properties/DomainIdentifier", "/properties/EnvironmentIdentifier" ], "writeOnlyProperties" : [ "/properties/DomainIdentifier", "/properties/EnvironmentIdentifier" ], diff --git a/aws-cloudformation-schema/aws-ec2-ec2fleet.json b/aws-cloudformation-schema/aws-ec2-ec2fleet.json index 2c4b35985b..205031ee5b 100644 --- a/aws-cloudformation-schema/aws-ec2-ec2fleet.json +++ b/aws-cloudformation-schema/aws-ec2-ec2fleet.json @@ -265,6 +265,24 @@ } } }, + "BlockDeviceMapping" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Ebs" : { + "$ref" : "#/definitions/EbsBlockDevice" + }, + "NoDevice" : { + "type" : "string" + }, + "VirtualName" : { + "type" : "string" + }, + "DeviceName" : { + "type" : "string" + } + } + }, "AcceleratorCountRequest" : { "additionalProperties" : false, "type" : "object", @@ -435,6 +453,9 @@ "AcceleratorCount" : { "$ref" : "#/definitions/AcceleratorCountRequest" }, + "BaselinePerformanceFactors" : { + "$ref" : "#/definitions/BaselinePerformanceFactorsRequest" + }, "SpotMaxPricePercentageOverLowestPrice" : { "type" : "integer" }, @@ -511,6 +532,34 @@ } } }, + "EbsBlockDevice" : { + "additionalProperties" : false, + "type" : "object", + "properties" : { + "SnapshotId" : { + "type" : "string" + }, + "VolumeType" : { + "type" : "string", + "enum" : [ "gp2", "gp3", "io1", "io2", "sc1", "st1", "standard" ] + }, + "KmsKeyId" : { + "type" : "string" + }, + "Encrypted" : { + "type" : "boolean" + }, + "Iops" : { + "type" : "integer" + }, + "VolumeSize" : { + "type" : "integer" + }, + "DeleteOnTermination" : { + "type" : "boolean" + } + } + }, "Tag" : { "additionalProperties" : false, "type" : "object", diff --git a/aws-cloudformation-schema/aws-ec2-networkacl.json b/aws-cloudformation-schema/aws-ec2-networkacl.json index 0e4818be53..96100722af 100644 --- a/aws-cloudformation-schema/aws-ec2-networkacl.json +++ b/aws-cloudformation-schema/aws-ec2-networkacl.json @@ -26,7 +26,7 @@ }, "typeName" : "AWS::EC2::NetworkAcl", "readOnlyProperties" : [ "/properties/Id" ], - "description" : "Specifies a network ACL for your VPC.", + "description" : "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html).", "createOnlyProperties" : [ "/properties/VpcId" ], "additionalProperties" : false, "primaryIdentifier" : [ "/properties/Id" ], diff --git a/aws-cloudformation-schema/aws-ec2-spotfleet.json b/aws-cloudformation-schema/aws-ec2-spotfleet.json index 94926a91eb..96baf11e38 100644 --- a/aws-cloudformation-schema/aws-ec2-spotfleet.json +++ b/aws-cloudformation-schema/aws-ec2-spotfleet.json @@ -1,621 +1,639 @@ { - "handlers" : { - "read" : { - "permissions" : [ "ec2:DescribeSpotFleetRequests" ] - }, - "create" : { - "permissions" : [ "iam:PassRole", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:DescribeSpotFleetRequests", "ec2:RunInstances" ] - }, - "update" : { - "permissions" : [ "ec2:ModifySpotFleetRequest", "ec2:DescribeSpotFleetRequests" ] - }, - "list" : { - "permissions" : [ "ec2:DescribeSpotFleetRequests" ] - }, - "delete" : { - "permissions" : [ "ec2:DescribeSpotFleetRequests", "ec2:CancelSpotFleetRequests" ] - } - }, "typeName" : "AWS::EC2::SpotFleet", - "readOnlyProperties" : [ "/properties/Id" ], "description" : "Resource Type definition for AWS::EC2::SpotFleet", - "writeOnlyProperties" : [ "/properties/SpotFleetRequestConfigData/TagSpecifications", "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" ], - "createOnlyProperties" : [ "/properties/SpotFleetRequestConfigData/AllocationStrategy", "/properties/SpotFleetRequestConfigData/IamFleetRole", "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", "/properties/SpotFleetRequestConfigData/LaunchSpecifications", "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", "/properties/SpotFleetRequestConfigData/SpotPrice", "/properties/SpotFleetRequestConfigData/TagSpecifications", "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", "/properties/SpotFleetRequestConfigData/Type", "/properties/SpotFleetRequestConfigData/ValidFrom", "/properties/SpotFleetRequestConfigData/ValidUntil" ], "additionalProperties" : false, - "primaryIdentifier" : [ "/properties/Id" ], + "properties" : { + "Id" : { + "type" : "string" + }, + "SpotFleetRequestConfigData" : { + "$ref" : "#/definitions/SpotFleetRequestConfigData" + } + }, "definitions" : { - "ClassicLoadBalancersConfig" : { - "additionalProperties" : false, + "SpotFleetRequestConfigData" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ClassicLoadBalancers" : { + "AllocationStrategy" : { + "type" : "string", + "enum" : [ "capacityOptimized", "capacityOptimizedPrioritized", "diversified", "lowestPrice", "priceCapacityOptimized" ] + }, + "Context" : { + "type" : "string" + }, + "ExcessCapacityTerminationPolicy" : { + "type" : "string", + "enum" : [ "Default", "NoTermination", "default", "noTermination" ] + }, + "IamFleetRole" : { + "type" : "string" + }, + "InstanceInterruptionBehavior" : { + "type" : "string", + "enum" : [ "hibernate", "stop", "terminate" ] + }, + "InstancePoolsToUseCount" : { + "type" : "integer" + }, + "LaunchSpecifications" : { + "type" : "array", "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/SpotFleetLaunchSpecification" + } + }, + "LaunchTemplateConfigs" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/ClassicLoadBalancer" + "$ref" : "#/definitions/LaunchTemplateConfig" } - } - }, - "required" : [ "ClassicLoadBalancers" ] - }, - "MemoryGiBPerVCpuRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { - "type" : "number" }, - "Max" : { - "type" : "number" - } - } - }, - "InstanceIpv6Address" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Ipv6Address" : { + "LoadBalancersConfig" : { + "$ref" : "#/definitions/LoadBalancersConfig" + }, + "OnDemandAllocationStrategy" : { "type" : "string" - } - }, - "required" : [ "Ipv6Address" ] - }, - "SpotFleetMonitoring" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Enabled" : { - "default" : false, - "type" : "boolean" - } - } - }, - "TotalLocalStorageGBRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { - "type" : "number" }, - "Max" : { - "type" : "number" - } - } - }, - "NetworkBandwidthGbpsRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { - "type" : "number" + "OnDemandMaxTotalPrice" : { + "type" : "string" }, - "Max" : { - "type" : "number" - } - } - }, - "VCpuCountRangeRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { + "OnDemandTargetCapacity" : { "type" : "integer" }, - "Max" : { - "type" : "integer" - } - } - }, - "BaselineEbsBandwidthMbpsRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { - "type" : "integer" + "ReplaceUnhealthyInstances" : { + "type" : "boolean" }, - "Max" : { + "SpotMaintenanceStrategies" : { + "$ref" : "#/definitions/SpotMaintenanceStrategies" + }, + "SpotMaxTotalPrice" : { + "type" : "string" + }, + "SpotPrice" : { + "type" : "string" + }, + "TargetCapacity" : { "type" : "integer" - } - } - }, - "FleetLaunchTemplateSpecification" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "LaunchTemplateName" : { - "minLength" : 3, - "pattern" : "[a-zA-Z0-9\\(\\)\\.\\-/_]+", + }, + "TerminateInstancesWithExpiration" : { + "type" : "boolean" + }, + "Type" : { "type" : "string", - "maxLength" : 128 + "enum" : [ "maintain", "request" ] }, - "Version" : { + "ValidFrom" : { "type" : "string" }, - "LaunchTemplateId" : { + "ValidUntil" : { "type" : "string" + }, + "TagSpecifications" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/SpotFleetTagSpecification" + } + }, + "TargetCapacityUnitType" : { + "type" : "string", + "enum" : [ "vcpu", "memory-mib", "units" ] } }, - "required" : [ "Version" ] + "required" : [ "IamFleetRole", "TargetCapacity" ] }, - "PrivateIpAddressSpecification" : { - "additionalProperties" : false, + "SpotFleetLaunchSpecification" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "PrivateIpAddress" : { + "BlockDeviceMappings" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/BlockDeviceMapping" + } + }, + "EbsOptimized" : { + "type" : "boolean", + "default" : false + }, + "IamInstanceProfile" : { + "$ref" : "#/definitions/IamInstanceProfileSpecification" + }, + "ImageId" : { "type" : "string" }, - "Primary" : { - "type" : "boolean" - } - }, - "required" : [ "PrivateIpAddress" ] - }, - "NetworkInterfaceCountRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "Min" : { - "type" : "integer" + "InstanceType" : { + "type" : "string" }, - "Max" : { - "type" : "integer" - } - } - }, - "PerformanceFactorReferenceRequest" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "InstanceFamily" : { + "KernelId" : { "type" : "string" - } - } - }, - "LaunchTemplateOverrides" : { - "additionalProperties" : false, - "type" : "object", - "properties" : { - "SpotPrice" : { + }, + "KeyName" : { "type" : "string" }, - "WeightedCapacity" : { - "type" : "number" + "Monitoring" : { + "$ref" : "#/definitions/SpotFleetMonitoring" }, - "Priority" : { - "type" : "number" + "NetworkInterfaces" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/InstanceNetworkInterfaceSpecification" + } }, - "AvailabilityZone" : { + "Placement" : { + "$ref" : "#/definitions/SpotPlacement" + }, + "RamdiskId" : { + "type" : "string" + }, + "SecurityGroups" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/GroupIdentifier" + } + }, + "SpotPrice" : { "type" : "string" }, "SubnetId" : { "type" : "string" }, + "TagSpecifications" : { + "type" : "array", + "uniqueItems" : true, + "items" : { + "$ref" : "#/definitions/SpotFleetTagSpecification" + } + }, + "UserData" : { + "type" : "string" + }, + "WeightedCapacity" : { + "type" : "number" + }, "InstanceRequirements" : { "$ref" : "#/definitions/InstanceRequirementsRequest" + } + }, + "required" : [ "ImageId" ] + }, + "LoadBalancersConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "ClassicLoadBalancersConfig" : { + "$ref" : "#/definitions/ClassicLoadBalancersConfig" }, - "InstanceType" : { - "type" : "string" + "TargetGroupsConfig" : { + "$ref" : "#/definitions/TargetGroupsConfig" } } }, - "SpotPlacement" : { + "SpotMaintenanceStrategies" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "CapacityRebalance" : { + "$ref" : "#/definitions/SpotCapacityRebalance" + } + } + }, + "SpotCapacityRebalance" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "GroupName" : { - "type" : "string" - }, - "Tenancy" : { + "ReplacementStrategy" : { "type" : "string", - "enum" : [ "dedicated", "default", "host" ] + "enum" : [ "launch", "launch-before-terminate" ] }, - "AvailabilityZone" : { - "type" : "string" + "TerminationDelay" : { + "type" : "integer" } } }, - "CpuPerformanceFactorRequest" : { - "additionalProperties" : false, + "LaunchTemplateConfig" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "References" : { - "uniqueItems" : false, + "LaunchTemplateSpecification" : { + "$ref" : "#/definitions/FleetLaunchTemplateSpecification" + }, + "Overrides" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/PerformanceFactorReferenceRequest" + "$ref" : "#/definitions/LaunchTemplateOverrides" } } } }, - "TargetGroup" : { - "additionalProperties" : false, + "SpotFleetTagSpecification" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Arn" : { - "type" : "string" + "ResourceType" : { + "type" : "string", + "enum" : [ "client-vpn-endpoint", "customer-gateway", "dedicated-host", "dhcp-options", "egress-only-internet-gateway", "elastic-gpu", "elastic-ip", "export-image-task", "export-instance-task", "fleet", "fpga-image", "host-reservation", "image", "import-image-task", "import-snapshot-task", "instance", "internet-gateway", "key-pair", "launch-template", "local-gateway-route-table-vpc-association", "natgateway", "network-acl", "network-insights-analysis", "network-insights-path", "network-interface", "placement-group", "reserved-instances", "route-table", "security-group", "snapshot", "spot-fleet-request", "spot-instances-request", "subnet", "traffic-mirror-filter", "traffic-mirror-session", "traffic-mirror-target", "transit-gateway", "transit-gateway-attachment", "transit-gateway-connect-peer", "transit-gateway-multicast-domain", "transit-gateway-route-table", "volume", "vpc", "vpc-flow-log", "vpc-peering-connection", "vpn-connection", "vpn-gateway" ] + }, + "Tags" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "$ref" : "#/definitions/Tag" + } } - }, - "required" : [ "Arn" ] + } }, - "BlockDeviceMapping" : { - "additionalProperties" : false, + "FleetLaunchTemplateSpecification" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Ebs" : { - "$ref" : "#/definitions/EbsBlockDevice" - }, - "NoDevice" : { + "LaunchTemplateId" : { "type" : "string" }, - "VirtualName" : { - "type" : "string" + "LaunchTemplateName" : { + "type" : "string", + "minLength" : 3, + "maxLength" : 128, + "pattern" : "[a-zA-Z0-9\\(\\)\\.\\-/_]+" }, - "DeviceName" : { + "Version" : { "type" : "string" } }, - "required" : [ "DeviceName" ] + "required" : [ "Version" ] }, - "TargetGroupsConfig" : { - "additionalProperties" : false, + "GroupIdentifier" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "TargetGroups" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/TargetGroup" - } + "GroupId" : { + "type" : "string" } }, - "required" : [ "TargetGroups" ] + "required" : [ "GroupId" ] }, - "SpotCapacityRebalance" : { - "additionalProperties" : false, + "IamInstanceProfileSpecification" : { "type" : "object", - "properties" : { - "TerminationDelay" : { - "type" : "integer" - }, - "ReplacementStrategy" : { - "type" : "string", - "enum" : [ "launch", "launch-before-terminate" ] - } - } - }, - "AcceleratorCountRequest" : { "additionalProperties" : false, - "type" : "object", "properties" : { - "Min" : { - "type" : "integer" - }, - "Max" : { - "type" : "integer" + "Arn" : { + "type" : "string" } } }, - "SpotFleetRequestConfigData" : { - "additionalProperties" : false, + "ClassicLoadBalancersConfig" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Context" : { - "type" : "string" - }, - "SpotMaxTotalPrice" : { - "type" : "string" - }, - "ExcessCapacityTerminationPolicy" : { - "type" : "string", - "enum" : [ "Default", "NoTermination", "default", "noTermination" ] - }, - "TagSpecifications" : { - "uniqueItems" : true, + "ClassicLoadBalancers" : { "type" : "array", - "items" : { - "$ref" : "#/definitions/SpotFleetTagSpecification" - } - }, - "InstancePoolsToUseCount" : { - "type" : "integer" - }, - "LaunchTemplateConfigs" : { "uniqueItems" : true, - "type" : "array", "items" : { - "$ref" : "#/definitions/LaunchTemplateConfig" + "$ref" : "#/definitions/ClassicLoadBalancer" } - }, - "TargetCapacityUnitType" : { - "type" : "string", - "enum" : [ "vcpu", "memory-mib", "units" ] - }, - "IamFleetRole" : { - "type" : "string" - }, - "SpotMaintenanceStrategies" : { - "$ref" : "#/definitions/SpotMaintenanceStrategies" - }, - "TerminateInstancesWithExpiration" : { - "type" : "boolean" - }, - "ValidUntil" : { - "type" : "string" - }, - "OnDemandMaxTotalPrice" : { + } + }, + "required" : [ "ClassicLoadBalancers" ] + }, + "LaunchTemplateOverrides" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "AvailabilityZone" : { "type" : "string" }, - "OnDemandAllocationStrategy" : { + "InstanceType" : { "type" : "string" }, "SpotPrice" : { "type" : "string" }, - "AllocationStrategy" : { - "type" : "string", - "enum" : [ "capacityOptimized", "capacityOptimizedPrioritized", "diversified", "lowestPrice", "priceCapacityOptimized" ] - }, - "OnDemandTargetCapacity" : { - "type" : "integer" - }, - "Type" : { - "type" : "string", - "enum" : [ "maintain", "request" ] - }, - "LaunchSpecifications" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/SpotFleetLaunchSpecification" - } - }, - "InstanceInterruptionBehavior" : { - "type" : "string", - "enum" : [ "hibernate", "stop", "terminate" ] - }, - "LoadBalancersConfig" : { - "$ref" : "#/definitions/LoadBalancersConfig" - }, - "ValidFrom" : { + "SubnetId" : { "type" : "string" }, - "ReplaceUnhealthyInstances" : { - "type" : "boolean" + "WeightedCapacity" : { + "type" : "number" + }, + "InstanceRequirements" : { + "$ref" : "#/definitions/InstanceRequirementsRequest" }, - "TargetCapacity" : { - "type" : "integer" + "Priority" : { + "type" : "number" } - }, - "required" : [ "IamFleetRole", "TargetCapacity" ] + } }, - "SpotFleetTagSpecification" : { + "SpotFleetMonitoring" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Enabled" : { + "type" : "boolean", + "default" : false + } + } + }, + "SpotPlacement" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ResourceType" : { - "type" : "string", - "enum" : [ "client-vpn-endpoint", "customer-gateway", "dedicated-host", "dhcp-options", "egress-only-internet-gateway", "elastic-gpu", "elastic-ip", "export-image-task", "export-instance-task", "fleet", "fpga-image", "host-reservation", "image", "import-image-task", "import-snapshot-task", "instance", "internet-gateway", "key-pair", "launch-template", "local-gateway-route-table-vpc-association", "natgateway", "network-acl", "network-insights-analysis", "network-insights-path", "network-interface", "placement-group", "reserved-instances", "route-table", "security-group", "snapshot", "spot-fleet-request", "spot-instances-request", "subnet", "traffic-mirror-filter", "traffic-mirror-session", "traffic-mirror-target", "transit-gateway", "transit-gateway-attachment", "transit-gateway-connect-peer", "transit-gateway-multicast-domain", "transit-gateway-route-table", "volume", "vpc", "vpc-flow-log", "vpc-peering-connection", "vpn-connection", "vpn-gateway" ] + "AvailabilityZone" : { + "type" : "string" }, - "Tags" : { - "uniqueItems" : false, - "type" : "array", - "items" : { - "$ref" : "#/definitions/Tag" - } + "GroupName" : { + "type" : "string" + }, + "Tenancy" : { + "type" : "string", + "enum" : [ "dedicated", "default", "host" ] } } }, - "SpotFleetLaunchSpecification" : { - "additionalProperties" : false, + "InstanceNetworkInterfaceSpecification" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "SecurityGroups" : { - "uniqueItems" : true, + "AssociatePublicIpAddress" : { + "type" : "boolean" + }, + "DeleteOnTermination" : { + "type" : "boolean" + }, + "Description" : { + "type" : "string" + }, + "DeviceIndex" : { + "type" : "integer" + }, + "Groups" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/GroupIdentifier" + "type" : "string" } }, - "TagSpecifications" : { - "uniqueItems" : true, + "Ipv6AddressCount" : { + "type" : "integer" + }, + "Ipv6Addresses" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/SpotFleetTagSpecification" + "$ref" : "#/definitions/InstanceIpv6Address" } }, - "UserData" : { + "NetworkInterfaceId" : { "type" : "string" }, - "BlockDeviceMappings" : { - "uniqueItems" : true, + "PrivateIpAddresses" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/BlockDeviceMapping" + "$ref" : "#/definitions/PrivateIpAddressSpecification" } }, - "IamInstanceProfile" : { - "$ref" : "#/definitions/IamInstanceProfileSpecification" - }, - "KernelId" : { - "type" : "string" + "SecondaryPrivateIpAddressCount" : { + "type" : "integer" }, "SubnetId" : { "type" : "string" - }, - "EbsOptimized" : { - "default" : false, - "type" : "boolean" - }, - "KeyName" : { + } + } + }, + "BlockDeviceMapping" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "DeviceName" : { "type" : "string" }, - "RamdiskId" : { - "type" : "string" + "Ebs" : { + "$ref" : "#/definitions/EbsBlockDevice" }, - "SpotPrice" : { + "NoDevice" : { "type" : "string" }, - "WeightedCapacity" : { - "type" : "number" - }, - "Placement" : { - "$ref" : "#/definitions/SpotPlacement" - }, - "NetworkInterfaces" : { - "uniqueItems" : true, + "VirtualName" : { + "type" : "string" + } + }, + "required" : [ "DeviceName" ] + }, + "TargetGroupsConfig" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "TargetGroups" : { "type" : "array", + "uniqueItems" : true, "items" : { - "$ref" : "#/definitions/InstanceNetworkInterfaceSpecification" + "$ref" : "#/definitions/TargetGroup" } + } + }, + "required" : [ "TargetGroups" ] + }, + "EbsBlockDevice" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "DeleteOnTermination" : { + "type" : "boolean" }, - "ImageId" : { - "type" : "string" + "Encrypted" : { + "type" : "boolean" }, - "InstanceRequirements" : { - "$ref" : "#/definitions/InstanceRequirementsRequest" + "Iops" : { + "type" : "integer" }, - "InstanceType" : { + "SnapshotId" : { "type" : "string" }, - "Monitoring" : { - "$ref" : "#/definitions/SpotFleetMonitoring" + "VolumeSize" : { + "type" : "integer" + }, + "VolumeType" : { + "type" : "string", + "enum" : [ "gp2", "gp3", "io1", "io2", "sc1", "st1", "standard" ] } - }, - "required" : [ "ImageId" ] + } }, - "IamInstanceProfileSpecification" : { - "additionalProperties" : false, + "TargetGroup" : { "type" : "object", + "additionalProperties" : false, "properties" : { "Arn" : { "type" : "string" } - } + }, + "required" : [ "Arn" ] }, - "LaunchTemplateConfig" : { + "Tag" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Key" : { + "type" : "string" + }, + "Value" : { + "type" : "string" + } + }, + "required" : [ "Value", "Key" ] + }, + "PrivateIpAddressSpecification" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "LaunchTemplateSpecification" : { - "$ref" : "#/definitions/FleetLaunchTemplateSpecification" + "Primary" : { + "type" : "boolean" }, - "Overrides" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/LaunchTemplateOverrides" - } + "PrivateIpAddress" : { + "type" : "string" } - } + }, + "required" : [ "PrivateIpAddress" ] }, - "InstanceRequirementsRequest" : { + "ClassicLoadBalancer" : { + "type" : "object", "additionalProperties" : false, + "properties" : { + "Name" : { + "type" : "string" + } + }, + "required" : [ "Name" ] + }, + "InstanceIpv6Address" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "InstanceGenerations" : { - "uniqueItems" : false, + "Ipv6Address" : { + "type" : "string" + } + }, + "required" : [ "Ipv6Address" ] + }, + "InstanceRequirementsRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "VCpuCount" : { + "$ref" : "#/definitions/VCpuCountRangeRequest" + }, + "MemoryMiB" : { + "$ref" : "#/definitions/MemoryMiBRequest" + }, + "CpuManufacturers" : { "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", - "enum" : [ "current", "previous" ] + "enum" : [ "intel", "amd", "amazon-web-services", "apple" ] } }, "MemoryGiBPerVCpu" : { "$ref" : "#/definitions/MemoryGiBPerVCpuRequest" }, - "AcceleratorTypes" : { - "uniqueItems" : false, + "AllowedInstanceTypes" : { "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", - "enum" : [ "gpu", "fpga", "inference" ] + "minLength" : 1, + "maxLength" : 30, + "pattern" : "[a-zA-Z0-9\\.\\*]+" } }, - "VCpuCount" : { - "$ref" : "#/definitions/VCpuCountRangeRequest" - }, - "AcceleratorManufacturers" : { - "uniqueItems" : false, + "ExcludedInstanceTypes" : { "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", - "enum" : [ "amazon-web-services", "amd", "habana", "nvidia", "xilinx" ] + "minLength" : 1, + "maxLength" : 30, + "pattern" : "[a-zA-Z0-9\\.\\*]+" } }, - "LocalStorage" : { - "type" : "string", - "enum" : [ "included", "required", "excluded" ] - }, - "CpuManufacturers" : { - "uniqueItems" : false, + "InstanceGenerations" : { "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", - "enum" : [ "intel", "amd", "amazon-web-services", "apple" ] + "enum" : [ "current", "previous" ] } }, + "SpotMaxPricePercentageOverLowestPrice" : { + "type" : "integer" + }, + "OnDemandMaxPricePercentageOverLowestPrice" : { + "type" : "integer" + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" : { + "type" : "integer" + }, "BareMetal" : { "type" : "string", "enum" : [ "included", "required", "excluded" ] }, + "BurstablePerformance" : { + "type" : "string", + "enum" : [ "included", "required", "excluded" ] + }, "RequireHibernateSupport" : { "type" : "boolean" }, - "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" : { - "type" : "integer" + "NetworkBandwidthGbps" : { + "$ref" : "#/definitions/NetworkBandwidthGbpsRequest" }, - "OnDemandMaxPricePercentageOverLowestPrice" : { - "type" : "integer" + "NetworkInterfaceCount" : { + "$ref" : "#/definitions/NetworkInterfaceCountRequest" }, - "MemoryMiB" : { - "$ref" : "#/definitions/MemoryMiBRequest" + "LocalStorage" : { + "type" : "string", + "enum" : [ "included", "required", "excluded" ] }, "LocalStorageTypes" : { - "uniqueItems" : false, "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", "enum" : [ "hdd", "ssd" ] } }, - "NetworkInterfaceCount" : { - "$ref" : "#/definitions/NetworkInterfaceCountRequest" + "TotalLocalStorageGB" : { + "$ref" : "#/definitions/TotalLocalStorageGBRequest" }, - "ExcludedInstanceTypes" : { - "uniqueItems" : false, - "type" : "array", - "items" : { - "minLength" : 1, - "pattern" : "[a-zA-Z0-9\\.\\*]+", - "type" : "string", - "maxLength" : 30 - } + "BaselineEbsBandwidthMbps" : { + "$ref" : "#/definitions/BaselineEbsBandwidthMbpsRequest" }, - "AllowedInstanceTypes" : { - "uniqueItems" : false, + "AcceleratorTypes" : { "type" : "array", + "uniqueItems" : false, "items" : { - "minLength" : 1, - "pattern" : "[a-zA-Z0-9\\.\\*]+", "type" : "string", - "maxLength" : 30 + "enum" : [ "gpu", "fpga", "inference" ] } }, - "NetworkBandwidthGbps" : { - "$ref" : "#/definitions/NetworkBandwidthGbpsRequest" - }, "AcceleratorCount" : { "$ref" : "#/definitions/AcceleratorCountRequest" }, - "SpotMaxPricePercentageOverLowestPrice" : { - "type" : "integer" - }, - "BaselineEbsBandwidthMbps" : { - "$ref" : "#/definitions/BaselineEbsBandwidthMbpsRequest" + "AcceleratorManufacturers" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "type" : "string", + "enum" : [ "amazon-web-services", "amd", "habana", "nvidia", "xilinx" ] + } }, "AcceleratorNames" : { - "uniqueItems" : false, "type" : "array", + "uniqueItems" : false, "items" : { "type" : "string", "enum" : [ "a10g", "a100", "h100", "inferentia", "k520", "k80", "m60", "radeon-pro-v520", "t4", "t4g", "vu9p", "v100" ] @@ -624,18 +642,26 @@ "AcceleratorTotalMemoryMiB" : { "$ref" : "#/definitions/AcceleratorTotalMemoryMiBRequest" }, - "BurstablePerformance" : { - "type" : "string", - "enum" : [ "included", "required", "excluded" ] + "BaselinePerformanceFactors" : { + "$ref" : "#/definitions/BaselinePerformanceFactorsRequest" + } + } + }, + "VCpuCountRangeRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Min" : { + "type" : "integer" }, - "TotalLocalStorageGB" : { - "$ref" : "#/definitions/TotalLocalStorageGBRequest" + "Max" : { + "type" : "integer" } } }, "MemoryMiBRequest" : { - "additionalProperties" : false, "type" : "object", + "additionalProperties" : false, "properties" : { "Min" : { "type" : "integer" @@ -645,88 +671,69 @@ } } }, - "BaselinePerformanceFactorsRequest" : { - "additionalProperties" : false, + "MemoryGiBPerVCpuRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Cpu" : { - "$ref" : "#/definitions/CpuPerformanceFactorRequest" + "Min" : { + "type" : "number" + }, + "Max" : { + "type" : "number" } } }, - "InstanceNetworkInterfaceSpecification" : { - "additionalProperties" : false, + "NetworkBandwidthGbpsRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Description" : { - "type" : "string" - }, - "PrivateIpAddresses" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/PrivateIpAddressSpecification" - } - }, - "SecondaryPrivateIpAddressCount" : { - "type" : "integer" + "Min" : { + "type" : "number" }, - "DeviceIndex" : { + "Max" : { + "type" : "number" + } + } + }, + "NetworkInterfaceCountRequest" : { + "type" : "object", + "additionalProperties" : false, + "properties" : { + "Min" : { "type" : "integer" }, - "Groups" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "type" : "string" - } - }, - "Ipv6AddressCount" : { + "Max" : { "type" : "integer" - }, - "Ipv6Addresses" : { - "uniqueItems" : true, - "type" : "array", - "items" : { - "$ref" : "#/definitions/InstanceIpv6Address" - } - }, - "SubnetId" : { - "type" : "string" - }, - "AssociatePublicIpAddress" : { - "type" : "boolean" - }, - "NetworkInterfaceId" : { - "type" : "string" - }, - "DeleteOnTermination" : { - "type" : "boolean" } } }, - "SpotMaintenanceStrategies" : { - "additionalProperties" : false, + "TotalLocalStorageGBRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "CapacityRebalance" : { - "$ref" : "#/definitions/SpotCapacityRebalance" + "Min" : { + "type" : "number" + }, + "Max" : { + "type" : "number" } } }, - "GroupIdentifier" : { - "additionalProperties" : false, + "BaselineEbsBandwidthMbpsRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "GroupId" : { - "type" : "string" + "Min" : { + "type" : "integer" + }, + "Max" : { + "type" : "integer" } - }, - "required" : [ "GroupId" ] + } }, - "AcceleratorTotalMemoryMiBRequest" : { - "additionalProperties" : false, + "AcceleratorCountRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { "Min" : { "type" : "integer" @@ -736,74 +743,70 @@ } } }, - "EbsBlockDevice" : { - "additionalProperties" : false, + "AcceleratorTotalMemoryMiBRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "SnapshotId" : { - "type" : "string" - }, - "VolumeType" : { - "type" : "string", - "enum" : [ "gp2", "gp3", "io1", "io2", "sc1", "st1", "standard" ] - }, - "Encrypted" : { - "type" : "boolean" - }, - "Iops" : { + "Min" : { "type" : "integer" }, - "VolumeSize" : { + "Max" : { "type" : "integer" - }, - "DeleteOnTermination" : { - "type" : "boolean" } } }, - "LoadBalancersConfig" : { - "additionalProperties" : false, + "BaselinePerformanceFactorsRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "ClassicLoadBalancersConfig" : { - "$ref" : "#/definitions/ClassicLoadBalancersConfig" - }, - "TargetGroupsConfig" : { - "$ref" : "#/definitions/TargetGroupsConfig" + "Cpu" : { + "$ref" : "#/definitions/CpuPerformanceFactorRequest" } } }, - "Tag" : { - "additionalProperties" : false, + "CpuPerformanceFactorRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Value" : { - "type" : "string" - }, - "Key" : { - "type" : "string" + "References" : { + "type" : "array", + "uniqueItems" : false, + "items" : { + "$ref" : "#/definitions/PerformanceFactorReferenceRequest" + } } - }, - "required" : [ "Value", "Key" ] + } }, - "ClassicLoadBalancer" : { - "additionalProperties" : false, + "PerformanceFactorReferenceRequest" : { "type" : "object", + "additionalProperties" : false, "properties" : { - "Name" : { + "InstanceFamily" : { "type" : "string" } - }, - "required" : [ "Name" ] + } } }, - "properties" : { - "SpotFleetRequestConfigData" : { - "$ref" : "#/definitions/SpotFleetRequestConfigData" + "required" : [ "SpotFleetRequestConfigData" ], + "createOnlyProperties" : [ "/properties/SpotFleetRequestConfigData/AllocationStrategy", "/properties/SpotFleetRequestConfigData/IamFleetRole", "/properties/SpotFleetRequestConfigData/InstanceInterruptionBehavior", "/properties/SpotFleetRequestConfigData/InstancePoolsToUseCount", "/properties/SpotFleetRequestConfigData/LaunchSpecifications", "/properties/SpotFleetRequestConfigData/LaunchTemplateConfigs", "/properties/SpotFleetRequestConfigData/LoadBalancersConfig", "/properties/SpotFleetRequestConfigData/OnDemandAllocationStrategy", "/properties/SpotFleetRequestConfigData/OnDemandMaxTotalPrice", "/properties/SpotFleetRequestConfigData/OnDemandTargetCapacity", "/properties/SpotFleetRequestConfigData/ReplaceUnhealthyInstances", "/properties/SpotFleetRequestConfigData/SpotMaintenanceStrategies", "/properties/SpotFleetRequestConfigData/SpotMaxTotalPrice", "/properties/SpotFleetRequestConfigData/SpotPrice", "/properties/SpotFleetRequestConfigData/TagSpecifications", "/properties/SpotFleetRequestConfigData/TerminateInstancesWithExpiration", "/properties/SpotFleetRequestConfigData/Type", "/properties/SpotFleetRequestConfigData/ValidFrom", "/properties/SpotFleetRequestConfigData/ValidUntil" ], + "readOnlyProperties" : [ "/properties/Id" ], + "writeOnlyProperties" : [ "/properties/SpotFleetRequestConfigData/TagSpecifications", "/properties/SpotFleetRequestConfigData/LaunchSpecifications/*/NetworkInterfaces/*/Groups" ], + "primaryIdentifier" : [ "/properties/Id" ], + "handlers" : { + "create" : { + "permissions" : [ "iam:PassRole", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:DescribeSpotFleetRequests", "ec2:RunInstances" ] }, - "Id" : { - "type" : "string" + "delete" : { + "permissions" : [ "ec2:DescribeSpotFleetRequests", "ec2:CancelSpotFleetRequests" ] + }, + "list" : { + "permissions" : [ "ec2:DescribeSpotFleetRequests" ] + }, + "read" : { + "permissions" : [ "ec2:DescribeSpotFleetRequests" ] + }, + "update" : { + "permissions" : [ "ec2:ModifySpotFleetRequest", "ec2:DescribeSpotFleetRequests" ] } - }, - "required" : [ "SpotFleetRequestConfigData" ] + } } \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-ec2-vpcendpoint.json b/aws-cloudformation-schema/aws-ec2-vpcendpoint.json index ef654ca5d1..3a12177d7c 100644 --- a/aws-cloudformation-schema/aws-ec2-vpcendpoint.json +++ b/aws-cloudformation-schema/aws-ec2-vpcendpoint.json @@ -1,8 +1,10 @@ { "tagging" : { - "taggable" : false, - "tagOnCreate" : false, - "tagUpdatable" : false, + "permissions" : [ "ec2:CreateTags", "ec2:DeleteTags", "ec2:DescribeVpcEndpoints" ], + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "tagProperty" : "/properties/Tags", "cloudFormationSystemTags" : false }, "handlers" : { @@ -10,18 +12,18 @@ "permissions" : [ "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ] }, "create" : { - "permissions" : [ "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ], + "permissions" : [ "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", "ec2:CreateTags", "ec2:DeleteTags" ], "timeoutInMinutes" : 210 }, "update" : { - "permissions" : [ "ec2:ModifyVpcEndpoint", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ], + "permissions" : [ "ec2:ModifyVpcEndpoint", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:CreateServiceNetworkVpcEndpointAssociation", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", "ec2:CreateTags", "ec2:DeleteTags" ], "timeoutInMinutes" : 210 }, "list" : { "permissions" : [ "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ] }, "delete" : { - "permissions" : [ "ec2:DeleteVpcEndpoints", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation" ], + "permissions" : [ "ec2:DeleteVpcEndpoints", "ec2:DescribeVpcEndpoints", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "vpc-lattice:DescribeServiceNetworkVpcEndpointAssociation", "ec2:CreateTags", "ec2:DeleteTags" ], "timeoutInMinutes" : 210 } }, @@ -46,6 +48,20 @@ "enum" : [ "ipv4", "ipv6", "dualstack", "service-defined", "not-specified" ] } } + }, + "Tag" : { + "description" : "", + "additionalProperties" : false, + "type" : "object", + "properties" : { + "Value" : { + "type" : "string" + }, + "Key" : { + "type" : "string" + } + }, + "required" : [ "Value", "Key" ] } }, "properties" : { @@ -163,6 +179,15 @@ "Id" : { "description" : "", "type" : "string" + }, + "Tags" : { + "uniqueItems" : false, + "description" : "", + "insertionOrder" : false, + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + } } }, "required" : [ "VpcId" ] diff --git a/aws-cloudformation-schema/aws-emr-studio.json b/aws-cloudformation-schema/aws-emr-studio.json index c2f02d98c2..f39c1954c5 100644 --- a/aws-cloudformation-schema/aws-emr-studio.json +++ b/aws-cloudformation-schema/aws-emr-studio.json @@ -10,7 +10,7 @@ }, "Arn" : { "type" : "string", - "pattern" : "^arn:aws(-(cn|us-gov))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" + "pattern" : "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:[a-z-]+:(([a-z]+-)+[0-9])?:([0-9]{12})?:[^.]+$" }, "Tags" : { "type" : "array", @@ -159,6 +159,12 @@ "required" : [ "AuthMode", "EngineSecurityGroupId", "Name", "ServiceRole", "SubnetIds", "VpcId", "WorkspaceSecurityGroupId", "DefaultS3Location" ], "readOnlyProperties" : [ "/properties/StudioId", "/properties/Arn", "/properties/Url" ], "primaryIdentifier" : [ "/properties/StudioId" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "createOnlyProperties" : [ "/properties/AuthMode", "/properties/EngineSecurityGroupId", "/properties/ServiceRole", "/properties/UserRole", "/properties/VpcId", "/properties/WorkspaceSecurityGroupId", "/properties/TrustedIdentityPropagationEnabled", "/properties/IdcUserAssignment", "/properties/IdcInstanceArn", "/properties/EncryptionKeyArn" ], "handlers" : { "create" : { diff --git a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json index 486a9b8bef..7ff4d1eddf 100644 --- a/aws-cloudformation-schema/aws-emr-studiosessionmapping.json +++ b/aws-cloudformation-schema/aws-emr-studiosessionmapping.json @@ -6,7 +6,7 @@ "definitions" : { "IamPolicyArn" : { "type" : "string", - "pattern" : "^arn:aws(-(cn|us-gov))?:iam::([0-9]{12})?:policy\\/[^.]+$" + "pattern" : "^arn:aws(-(cn|us-gov|iso-f|iso-e))?:iam::([0-9]{12})?:policy\\/[^.]+$" } }, "properties" : { @@ -35,9 +35,15 @@ "required" : [ "StudioId", "IdentityName", "IdentityType", "SessionPolicyArn" ], "createOnlyProperties" : [ "/properties/StudioId", "/properties/IdentityType", "/properties/IdentityName" ], "primaryIdentifier" : [ "/properties/StudioId", "/properties/IdentityType", "/properties/IdentityName" ], + "tagging" : { + "taggable" : false, + "tagOnCreate" : false, + "tagUpdatable" : false, + "cloudFormationSystemTags" : false + }, "handlers" : { "create" : { - "permissions" : [ "elasticmapreduce:CreateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:AssociateProfile" ] + "permissions" : [ "elasticmapreduce:CreateStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:ListDirectoryAssociations", "sso:GetProfile", "sso:ListProfiles", "sso:AssociateProfile", "sso:CreateApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope", "sso:PutApplicationAssignmentConfiguration", "sso:DescribeApplication", "sso:DeleteApplication", "sso:DeleteApplicationAuthenticationMethod", "sso:DeleteApplicationAccessScope", "sso:DeleteApplicationGrant", "sso:ListInstances", "sso-directory:CreateUser", "sso-directory:CreateGroup", "sso:CreateApplicationAssignment", "sso:DescribeInstance", "sso:DeleteApplicationAssignment", "sso:ListApplicationAssignments" ] }, "read" : { "permissions" : [ "elasticmapreduce:GetStudioSessionMapping", "sso-directory:SearchUsers", "sso-directory:SearchGroups", "sso-directory:DescribeUser", "sso-directory:DescribeGroup", "sso:GetManagedApplicationInstance", "sso:DescribeInstance" ] diff --git a/aws-cloudformation-schema/aws-internetmonitor-monitor.json b/aws-cloudformation-schema/aws-internetmonitor-monitor.json index 5408ce90e8..02eeb7612d 100644 --- a/aws-cloudformation-schema/aws-internetmonitor-monitor.json +++ b/aws-cloudformation-schema/aws-internetmonitor-monitor.json @@ -195,7 +195,8 @@ "tagOnCreate" : false, "tagUpdatable" : true, "cloudFormationSystemTags" : true, - "tagProperty" : "/properties/Tags" + "tagProperty" : "/properties/Tags", + "permissions" : [ "internetmonitor:TagResource", "internetmonitor:UntagResource", "internetmonitor:ListTagsForResource" ] }, "handlers" : { "create" : { @@ -211,7 +212,7 @@ "permissions" : [ "internetmonitor:UpdateMonitor", "internetmonitor:DeleteMonitor", "internetmonitor:GetMonitor", "logs:DeleteLogDelivery" ] }, "list" : { - "permissions" : [ "internetmonitor:ListMonitors", "internetmonitor:GetMonitor", "logs:GetLogDelivery" ] + "permissions" : [ "internetmonitor:ListMonitors", "internetmonitor:GetMonitor", "internetmonitor:ListTagsForResource", "logs:GetLogDelivery" ] } }, "additionalProperties" : false, diff --git a/aws-cloudformation-schema/aws-iotcoredeviceadvisor-suitedefinition.json b/aws-cloudformation-schema/aws-iotcoredeviceadvisor-suitedefinition.json index d4303261d0..c4ca8fcf09 100644 --- a/aws-cloudformation-schema/aws-iotcoredeviceadvisor-suitedefinition.json +++ b/aws-cloudformation-schema/aws-iotcoredeviceadvisor-suitedefinition.json @@ -123,18 +123,26 @@ } }, "additionalProperties" : false, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "iotdeviceadvisor:TagResource", "iotdeviceadvisor:UntagResource", "iot:ListTagsForResource" ] + }, "required" : [ "SuiteDefinitionConfiguration" ], "readOnlyProperties" : [ "/properties/SuiteDefinitionId", "/properties/SuiteDefinitionArn", "/properties/SuiteDefinitionVersion" ], "primaryIdentifier" : [ "/properties/SuiteDefinitionId" ], "handlers" : { "create" : { - "permissions" : [ "iot:DescribeCertificate", "iot:DescribeThing", "iot:GetPolicy", "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", "iot:ListTagsForResource", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:CreateSuiteDefinition", "iotdeviceadvisor:TagResource", "iam:PassRole" ] + "permissions" : [ "iot:DescribeCertificate", "iot:DescribeThing", "iot:GetPolicy", "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:CreateSuiteDefinition", "iotdeviceadvisor:TagResource", "iam:PassRole" ] }, "read" : { - "permissions" : [ "iotdeviceadvisor:GetSuiteDefinition", "iotdeviceadvisor:TagResource" ] + "permissions" : [ "iotdeviceadvisor:GetSuiteDefinition", "iot:ListTagsForResource" ] }, "update" : { - "permissions" : [ "iot:DescribeCertificate", "iot:DescribeThing", "iot:GetPolicy", "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", "iot:ListTagsForResource", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:UpdateSuiteDefinition", "iotdeviceadvisor:GetSuiteDefinition", "iotdeviceadvisor:UntagResource", "iotdeviceadvisor:TagResource", "iam:PassRole" ] + "permissions" : [ "iot:DescribeCertificate", "iot:DescribeThing", "iot:GetPolicy", "iot:ListAttachedPolicies", "iot:ListCertificates", "iot:ListPrincipalPolicies", "iot:ListThingPrincipals", "iot:ListThings", "iotdeviceadvisor:UpdateSuiteDefinition", "iotdeviceadvisor:GetSuiteDefinition", "iotdeviceadvisor:UntagResource", "iotdeviceadvisor:TagResource", "iam:PassRole" ] }, "delete" : { "permissions" : [ "iotdeviceadvisor:GetSuiteDefinition", "iotdeviceadvisor:DeleteSuiteDefinition" ] diff --git a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json index 1b721397ec..941a3719b1 100644 --- a/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json +++ b/aws-cloudformation-schema/aws-lambda-eventinvokeconfig.json @@ -23,7 +23,7 @@ "Destination" : { "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})?:(.*)", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "minLength" : 0, "maxLength" : 350 } @@ -38,7 +38,7 @@ "Destination" : { "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})?:(.*)", + "pattern" : "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)", "minLength" : 0, "maxLength" : 350 } @@ -54,7 +54,7 @@ "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-_]+))?$" + "pattern" : "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?(-iso([a-z])?)?-[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.", diff --git a/aws-cloudformation-schema/aws-logs-integration.json b/aws-cloudformation-schema/aws-logs-integration.json index 09dbfe2888..9f991f78ee 100644 --- a/aws-cloudformation-schema/aws-logs-integration.json +++ b/aws-cloudformation-schema/aws-logs-integration.json @@ -81,7 +81,8 @@ }, "handlers" : { "create" : { - "permissions" : [ "logs:PutIntegration", "logs:GetIntegration", "aoss:CreateCollection", "aoss:CreateSecurityPolicy", "aoss:CreateAccessPolicy", "aoss:CreateLifeCyclePolicy", "aoss:BatchGetCollection", "aoss:DeleteCollection", "aoss:DeleteSecurityPolicy", "aoss:DeleteAccessPolicy", "aoss:DeleteLifeCyclePolicy", "aoss:GetAccessPolicy", "aoss:GetSecurityPolicy", "aoss:BatchGetLifecyclePolicy", "aoss:TagResource", "aoss:APIAccessAll", "opensearch:AddDirectQueryDataSource", "opensearch:DeleteDirectQueryDataSource", "opensearch:GetDirectQueryDataSource", "opensearch:CreateApplication", "opensearch:GetApplication", "opensearch:UpdateApplication", "opensearch:DeleteApplication", "opensearch:ApplicationAccessAll", "opensearch:DashboardsAccessAll", "opensearch:StartDirectQuery", "opensearch:GetDirectQuery", "iam:PassRole", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:AttachUserPolicy", "es:AddDirectQueryDataSource", "es:CreateApplication", "es:UpdateApplication", "es:GetApplication", "es:DeleteApplication", "es:DeleteDirectQueryDataSource", "es:GetDirectQueryDataSource", "es:AddTags", "es:ListApplications" ] + "permissions" : [ "logs:PutIntegration", "logs:GetIntegration", "aoss:CreateCollection", "aoss:CreateSecurityPolicy", "aoss:CreateAccessPolicy", "aoss:CreateLifeCyclePolicy", "aoss:BatchGetCollection", "aoss:DeleteCollection", "aoss:DeleteSecurityPolicy", "aoss:DeleteAccessPolicy", "aoss:DeleteLifeCyclePolicy", "aoss:GetAccessPolicy", "aoss:GetSecurityPolicy", "aoss:BatchGetLifecyclePolicy", "aoss:TagResource", "aoss:APIAccessAll", "opensearch:AddDirectQueryDataSource", "opensearch:DeleteDirectQueryDataSource", "opensearch:GetDirectQueryDataSource", "opensearch:CreateApplication", "opensearch:GetApplication", "opensearch:UpdateApplication", "opensearch:DeleteApplication", "opensearch:ApplicationAccessAll", "opensearch:DashboardsAccessAll", "opensearch:StartDirectQuery", "opensearch:GetDirectQuery", "iam:PassRole", "iam:CreateServiceLinkedRole", "iam:AttachRolePolicy", "iam:AttachUserPolicy", "es:AddDirectQueryDataSource", "es:CreateApplication", "es:UpdateApplication", "es:GetApplication", "es:DeleteApplication", "es:DeleteDirectQueryDataSource", "es:GetDirectQueryDataSource", "es:AddTags", "es:ListApplications" ], + "timeoutInMinutes" : 30 }, "read" : { "permissions" : [ "logs:GetIntegration" ] diff --git a/aws-cloudformation-schema/aws-pcs-cluster.json b/aws-cloudformation-schema/aws-pcs-cluster.json new file mode 100644 index 0000000000..5c1a06cf9a --- /dev/null +++ b/aws-cloudformation-schema/aws-pcs-cluster.json @@ -0,0 +1,252 @@ +{ + "typeName" : "AWS::PCS::Cluster", + "description" : "AWS::PCS::Cluster resource creates an AWS PCS cluster.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions" : { + "AuthKey" : { + "type" : "object", + "description" : "The shared Slurm key for authentication, also known as the cluster secret.", + "properties" : { + "SecretArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the the shared Slurm key." + }, + "SecretVersion" : { + "type" : "string", + "description" : "The version of the shared Slurm key." + } + }, + "required" : [ "SecretArn", "SecretVersion" ], + "additionalProperties" : false + }, + "Endpoint" : { + "type" : "object", + "description" : "An endpoint available for interaction with the scheduler.", + "properties" : { + "Port" : { + "type" : "string", + "description" : "The endpoint's connection port number." + }, + "PrivateIpAddress" : { + "type" : "string", + "description" : "The endpoint's private IP address." + }, + "Type" : { + "type" : "string", + "description" : "Indicates the type of endpoint running at the specific IP address.", + "enum" : [ "SLURMCTLD", "SLURMDBD" ] + }, + "PublicIpAddress" : { + "type" : "string", + "description" : "The endpoint's public IP address." + } + }, + "required" : [ "Port", "PrivateIpAddress", "Type" ], + "additionalProperties" : false + }, + "ErrorInfo" : { + "type" : "object", + "description" : "An error that occurred during resource provisioning.", + "properties" : { + "Code" : { + "type" : "string", + "description" : "The short-form error code." + }, + "Message" : { + "type" : "string", + "description" : "The detailed error information." + } + }, + "additionalProperties" : false + }, + "SecurityGroupId" : { + "type" : "string", + "description" : "A VPC security group ID." + }, + "SlurmCustomSetting" : { + "type" : "object", + "description" : "Additional settings that directly map to Slurm settings.", + "properties" : { + "ParameterName" : { + "type" : "string", + "description" : "AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters." + }, + "ParameterValue" : { + "type" : "string", + "description" : "The value for the configured Slurm setting." + } + }, + "additionalProperties" : false, + "required" : [ "ParameterName", "ParameterValue" ] + }, + "SubnetId" : { + "type" : "string", + "description" : "A VPC subnet ID." + }, + "Tag" : { + "type" : "object", + "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 -. ", + "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 + } + }, + "additionalProperties" : false, + "required" : [ "Key" ] + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "description" : "The unique Amazon Resource Name (ARN) of the cluster." + }, + "Endpoints" : { + "type" : "array", + "description" : "The list of endpoints available for interaction with the scheduler.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/Endpoint" + } + }, + "ErrorInfo" : { + "type" : "array", + "description" : "The list of errors that occurred during cluster provisioning.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ErrorInfo" + } + }, + "Id" : { + "type" : "string", + "description" : "The generated unique ID of the cluster.", + "pattern" : "^(pcs_[a-zA-Z0-9]+|[A-Za-z][A-Za-z0-9-]{1,40})$" + }, + "Name" : { + "type" : "string", + "description" : "The name that identifies the cluster.", + "pattern" : "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$" + }, + "Networking" : { + "type" : "object", + "description" : "The networking configuration for the cluster's control plane.", + "properties" : { + "SecurityGroupIds" : { + "type" : "array", + "description" : "The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/SecurityGroupId" + } + }, + "SubnetIds" : { + "type" : "array", + "description" : "The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/SubnetId" + } + } + }, + "additionalProperties" : false + }, + "Scheduler" : { + "type" : "object", + "description" : "The cluster management and job scheduling software associated with the cluster.", + "properties" : { + "Type" : { + "type" : "string", + "description" : "The software AWS PCS uses to manage cluster scaling and job scheduling.", + "enum" : [ "SLURM" ] + }, + "Version" : { + "type" : "string", + "description" : "The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling." + } + }, + "required" : [ "Type", "Version" ], + "additionalProperties" : false + }, + "Size" : { + "type" : "string", + "description" : "The size of the cluster.", + "enum" : [ "SMALL", "MEDIUM", "LARGE" ] + }, + "SlurmConfiguration" : { + "type" : "object", + "description" : "Additional options related to the Slurm scheduler.", + "properties" : { + "AuthKey" : { + "$ref" : "#/definitions/AuthKey" + }, + "ScaleDownIdleTimeInSeconds" : { + "type" : "integer", + "description" : "The time before an idle node is scaled down.", + "minimum" : 1 + }, + "SlurmCustomSettings" : { + "type" : "array", + "description" : "Additional Slurm-specific configuration that directly maps to Slurm settings.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/SlurmCustomSetting" + } + } + }, + "additionalProperties" : false + }, + "Status" : { + "type" : "string", + "description" : "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster.", + "enum" : [ "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED" ] + }, + "Tags" : { + "description" : "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties" : { + "^.+$" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "required" : [ "Networking", "Scheduler", "Size" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/Networking", "/properties/Scheduler", "/properties/Size", "/properties/SlurmConfiguration" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/Endpoints", "/properties/ErrorInfo", "/properties/Id", "/properties/Status" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:CreateNetworkInterface", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:GetSecurityGroupsForVpc", "iam:CreateServiceLinkedRole", "secretsmanager:CreateSecret", "secretsmanager:TagResource", "pcs:CreateCluster", "pcs:GetCluster", "pcs:ListTagsForResource", "pcs:TagResource" ] + }, + "read" : { + "permissions" : [ "pcs:GetCluster", "pcs:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "pcs:GetCluster", "pcs:ListTagsForResource", "pcs:TagResource", "pcs:UntagResource" ], + "timeoutInMinutes" : 60 + }, + "delete" : { + "permissions" : [ "pcs:DeleteCluster", "pcs:GetCluster" ] + }, + "list" : { + "permissions" : [ "pcs:ListClusters" ] + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "pcs:TagResource", "pcs:ListTagsForResource", "pcs:UntagResource" ] + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-pcs-computenodegroup.json b/aws-cloudformation-schema/aws-pcs-computenodegroup.json new file mode 100644 index 0000000000..0d91878c48 --- /dev/null +++ b/aws-cloudformation-schema/aws-pcs-computenodegroup.json @@ -0,0 +1,227 @@ +{ + "typeName" : "AWS::PCS::ComputeNodeGroup", + "description" : "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions" : { + "ErrorInfo" : { + "type" : "object", + "description" : "An error that occurred during resource provisioning.", + "properties" : { + "Code" : { + "type" : "string", + "description" : "The short-form error code." + }, + "Message" : { + "type" : "string", + "description" : "The detailed error information." + } + }, + "additionalProperties" : false + }, + "InstanceConfig" : { + "type" : "object", + "description" : "An EC2 instance configuration AWS PCS uses to launch compute nodes.", + "properties" : { + "InstanceType" : { + "type" : "string", + "description" : "The EC2 instance type that AWS PCS can provision in the compute node group." + } + }, + "additionalProperties" : false + }, + "SlurmCustomSetting" : { + "type" : "object", + "description" : "Additional settings that directly map to Slurm settings.", + "properties" : { + "ParameterName" : { + "type" : "string", + "description" : "AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory." + }, + "ParameterValue" : { + "type" : "string", + "description" : "The value for the configured Slurm setting." + } + }, + "additionalProperties" : false, + "required" : [ "ParameterName", "ParameterValue" ] + }, + "SubnetId" : { + "type" : "string", + "description" : "A VPC subnet ID." + } + }, + "properties" : { + "AmiId" : { + "type" : "string", + "description" : "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template.", + "pattern" : "^ami-[a-z0-9]+$" + }, + "Arn" : { + "type" : "string", + "description" : "The unique Amazon Resource Name (ARN) of the compute node group." + }, + "ClusterId" : { + "type" : "string", + "description" : "The ID of the cluster of the compute node group." + }, + "CustomLaunchTemplate" : { + "type" : "object", + "description" : "An Amazon EC2 launch template AWS PCS uses to launch compute nodes.", + "properties" : { + "Id" : { + "type" : "string", + "description" : "The ID of the EC2 launch template to use to provision instances." + }, + "Version" : { + "type" : "string", + "description" : "The version of the EC2 launch template to use to provision instances." + } + }, + "additionalProperties" : false, + "required" : [ "Id", "Version" ] + }, + "ErrorInfo" : { + "type" : "array", + "description" : "The list of errors that occurred during compute node group provisioning.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ErrorInfo" + } + }, + "IamInstanceProfileArn" : { + "type" : "string", + "description" : "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly.", + "pattern" : "^arn:aws([a-zA-Z-]{0,10})?:iam::[0-9]{12}:instance-profile/.{1,128}$" + }, + "Id" : { + "type" : "string", + "description" : "The generated unique ID of the compute node group." + }, + "InstanceConfigs" : { + "type" : "array", + "description" : "A list of EC2 instance configurations that AWS PCS can provision in the compute node group.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/InstanceConfig" + } + }, + "Name" : { + "type" : "string", + "description" : "The name that identifies the compute node group.", + "pattern" : "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$" + }, + "PurchaseOption" : { + "type" : "string", + "description" : "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.", + "enum" : [ "ONDEMAND", "SPOT" ] + }, + "ScalingConfiguration" : { + "type" : "object", + "description" : "Specifies the boundaries of the compute node group auto scaling.", + "properties" : { + "MaxInstanceCount" : { + "type" : "integer", + "description" : "The upper bound of the number of instances allowed in the compute fleet.", + "minimum" : 0 + }, + "MinInstanceCount" : { + "type" : "integer", + "description" : "The lower bound of the number of instances allowed in the compute fleet.", + "minimum" : 0 + } + }, + "additionalProperties" : false, + "required" : [ "MaxInstanceCount", "MinInstanceCount" ] + }, + "SlurmConfiguration" : { + "type" : "object", + "description" : "Additional options related to the Slurm scheduler.", + "properties" : { + "SlurmCustomSettings" : { + "type" : "array", + "description" : "Additional Slurm-specific configuration that directly maps to Slurm settings.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/SlurmCustomSetting" + } + } + }, + "additionalProperties" : false + }, + "SpotOptions" : { + "type" : "object", + "description" : "Additional configuration when you specify SPOT as the purchase option.", + "properties" : { + "AllocationStrategy" : { + "type" : "string", + "description" : "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized.", + "enum" : [ "lowest-price", "capacity-optimized", "price-capacity-optimized" ] + } + }, + "additionalProperties" : false + }, + "Status" : { + "type" : "string", + "description" : "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group.", + "enum" : [ "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED" ] + }, + "SubnetIds" : { + "type" : "array", + "description" : "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/SubnetId" + } + }, + "Tags" : { + "description" : "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties" : { + "^.+$" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "required" : [ "ClusterId", "CustomLaunchTemplate", "IamInstanceProfileArn", "InstanceConfigs", "ScalingConfiguration", "SubnetIds" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/ClusterId", "/properties/InstanceConfigs" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/ErrorInfo", "/properties/Id", "/properties/Status" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:RunInstances", "ec2:CreateFleet", "ec2:CreateTags", "iam:PassRole", "iam:GetInstanceProfile", "pcs:CreateComputeNodeGroup", "pcs:GetComputeNodeGroup", "pcs:ListTagsForResource", "pcs:TagResource" ], + "timeoutInMinutes" : 60 + }, + "read" : { + "permissions" : [ "pcs:GetComputeNodeGroup", "pcs:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:RunInstances", "ec2:CreateFleet", "ec2:CreateTags", "iam:PassRole", "iam:GetInstanceProfile", "pcs:GetComputeNodeGroup", "pcs:UpdateComputeNodeGroup", "pcs:ListTagsForResource", "pcs:TagResource", "pcs:UntagResource" ], + "timeoutInMinutes" : 60 + }, + "delete" : { + "permissions" : [ "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ec2:DescribeInstanceTypes", "ec2:DescribeInstanceTypeOfferings", "ec2:TerminateInstances", "ec2:CreateFleet", "ec2:CreateTags", "iam:PassRole", "iam:GetInstanceProfile", "pcs:GetComputeNodeGroup", "pcs:DeleteComputeNodeGroup", "pcs:ListTagsForResource", "pcs:TagResource", "pcs:UntagResource" ], + "timeoutInMinutes" : 60 + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ClusterId" : { + "$ref" : "resource-schema.json#/properties/ClusterId" + } + }, + "required" : [ "ClusterId" ] + }, + "permissions" : [ "pcs:ListClusters", "pcs:ListComputeNodeGroups" ] + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "pcs:TagResource", "pcs:ListTagsForResource", "pcs:UntagResource" ] + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-pcs-queue.json b/aws-cloudformation-schema/aws-pcs-queue.json new file mode 100644 index 0000000000..62f7d70bc7 --- /dev/null +++ b/aws-cloudformation-schema/aws-pcs-queue.json @@ -0,0 +1,123 @@ +{ + "typeName" : "AWS::PCS::Queue", + "description" : "AWS::PCS::Queue resource creates an AWS PCS queue.", + "sourceUrl" : "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-pcs.git", + "definitions" : { + "ComputeNodeGroupConfiguration" : { + "type" : "object", + "description" : "The compute node group configuration for a queue.", + "properties" : { + "ComputeNodeGroupId" : { + "type" : "string", + "description" : "The compute node group ID for the compute node group configuration." + } + }, + "additionalProperties" : false + }, + "ErrorInfo" : { + "type" : "object", + "description" : "An error that occurred during resource provisioning.", + "properties" : { + "Code" : { + "type" : "string", + "description" : "The short-form error code." + }, + "Message" : { + "type" : "string", + "description" : "The detailed error information." + } + }, + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string", + "description" : "The unique Amazon Resource Name (ARN) of the queue.", + "pattern" : "^(.*?)" + }, + "ClusterId" : { + "type" : "string", + "description" : "The ID of the cluster of the queue." + }, + "ComputeNodeGroupConfigurations" : { + "type" : "array", + "description" : "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ComputeNodeGroupConfiguration" + } + }, + "ErrorInfo" : { + "type" : "array", + "description" : "The list of errors that occurred during queue provisioning.", + "insertionOrder" : false, + "items" : { + "$ref" : "#/definitions/ErrorInfo" + } + }, + "Id" : { + "type" : "string", + "description" : "The generated unique ID of the queue." + }, + "Name" : { + "type" : "string", + "description" : "The name that identifies the queue.", + "pattern" : "^(?!pcs_)^(?![A-Za-z0-9]{10}$)[A-Za-z][A-Za-z0-9-]+$" + }, + "Status" : { + "type" : "string", + "description" : "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue.", + "enum" : [ "CREATING", "ACTIVE", "UPDATING", "DELETING", "CREATE_FAILED", "DELETE_FAILED", "UPDATE_FAILED" ] + }, + "Tags" : { + "type" : "object", + "description" : "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string.", + "patternProperties" : { + "^.+$" : { + "type" : "string" + } + }, + "additionalProperties" : false + } + }, + "required" : [ "ClusterId" ], + "additionalProperties" : false, + "primaryIdentifier" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/Name", "/properties/ClusterId" ], + "readOnlyProperties" : [ "/properties/Arn", "/properties/ErrorInfo", "/properties/Id", "/properties/Status" ], + "handlers" : { + "create" : { + "permissions" : [ "ec2:CreateNetworkInterface", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:GetSecurityGroupsForVpc", "iam:CreateServiceLinkedRole", "secretsmanager:CreateSecret", "secretsmanager:TagResource", "pcs:CreateQueue", "pcs:GetQueue", "pcs:ListTagsForResource", "pcs:TagResource" ] + }, + "read" : { + "permissions" : [ "pcs:GetQueue", "pcs:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "pcs:GetQueue", "pcs:UpdateQueue", "pcs:ListTagsForResource", "pcs:TagResource", "pcs:UntagResource" ], + "timeoutInMinutes" : 60 + }, + "delete" : { + "permissions" : [ "pcs:DeleteQueue", "pcs:GetQueue" ] + }, + "list" : { + "handlerSchema" : { + "properties" : { + "ClusterId" : { + "$ref" : "resource-schema.json#/properties/ClusterId" + } + }, + "required" : [ "ClusterId" ] + }, + "permissions" : [ "pcs:ListClusters", "pcs:ListQueues" ] + } + }, + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : true, + "tagProperty" : "/properties/Tags", + "permissions" : [ "pcs:TagResource", "pcs:ListTagsForResource", "pcs:UntagResource" ] + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-quicksight-custompermissions.json b/aws-cloudformation-schema/aws-quicksight-custompermissions.json new file mode 100644 index 0000000000..1f7c4db174 --- /dev/null +++ b/aws-cloudformation-schema/aws-quicksight-custompermissions.json @@ -0,0 +1,145 @@ +{ + "typeName" : "AWS::QuickSight::CustomPermissions", + "description" : "Definition of the AWS::QuickSight::CustomPermissions Resource Type.", + "definitions" : { + "Capabilities" : { + "type" : "object", + "properties" : { + "ExportToCsv" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ExportToExcel" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateAndUpdateThemes" : { + "$ref" : "#/definitions/CapabilityState" + }, + "AddOrRunAnomalyDetectionForAnalyses" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ShareAnalyses" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateAndUpdateDatasets" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ShareDatasets" : { + "$ref" : "#/definitions/CapabilityState" + }, + "SubscribeDashboardEmailReports" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateAndUpdateDashboardEmailReports" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ShareDashboards" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateAndUpdateThresholdAlerts" : { + "$ref" : "#/definitions/CapabilityState" + }, + "RenameSharedFolders" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateSharedFolders" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateAndUpdateDataSources" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ShareDataSources" : { + "$ref" : "#/definitions/CapabilityState" + }, + "ViewAccountSPICECapacity" : { + "$ref" : "#/definitions/CapabilityState" + }, + "CreateSPICEDataset" : { + "$ref" : "#/definitions/CapabilityState" + } + }, + "additionalProperties" : false + }, + "CapabilityState" : { + "type" : "string", + "enum" : [ "DENY" ] + }, + "Tag" : { + "type" : "object", + "description" : "

The key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.

", + "properties" : { + "Key" : { + "type" : "string", + "maxLength" : 128, + "minLength" : 1, + "description" : "

Tag key.

" + }, + "Value" : { + "type" : "string", + "maxLength" : 256, + "minLength" : 1, + "description" : "

Tag value.

" + } + }, + "required" : [ "Key", "Value" ], + "additionalProperties" : false + } + }, + "properties" : { + "Arn" : { + "type" : "string" + }, + "AwsAccountId" : { + "type" : "string", + "maxLength" : 12, + "minLength" : 12, + "pattern" : "^[0-9]{12}$" + }, + "Capabilities" : { + "$ref" : "#/definitions/Capabilities" + }, + "CustomPermissionsName" : { + "type" : "string", + "maxLength" : 64, + "minLength" : 1, + "pattern" : "^[a-zA-Z0-9+=,.@_-]+$" + }, + "Tags" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/Tag" + }, + "maxItems" : 200, + "minItems" : 1 + } + }, + "readOnlyProperties" : [ "/properties/Arn" ], + "createOnlyProperties" : [ "/properties/AwsAccountId", "/properties/CustomPermissionsName" ], + "primaryIdentifier" : [ "/properties/AwsAccountId", "/properties/CustomPermissionsName" ], + "handlers" : { + "create" : { + "permissions" : [ "quicksight:CreateCustomPermissions", "quicksight:TagResource" ] + }, + "read" : { + "permissions" : [ "quicksight:DescribeCustomPermissions", "quicksight:ListTagsForResource" ] + }, + "update" : { + "permissions" : [ "quicksight:UpdateCustomPermissions", "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] + }, + "delete" : { + "permissions" : [ "quicksight:DeleteCustomPermissions" ] + }, + "list" : { + "permissions" : [ "quicksight:ListCustomPermissions" ] + } + }, + "additionalProperties" : false, + "required" : [ "AwsAccountId", "CustomPermissionsName" ], + "tagging" : { + "taggable" : true, + "tagOnCreate" : true, + "tagUpdatable" : true, + "cloudFormationSystemTags" : false, + "tagProperty" : "/properties/Tags", + "permissions" : [ "quicksight:TagResource", "quicksight:UntagResource", "quicksight:ListTagsForResource" ] + } +} \ No newline at end of file diff --git a/aws-cloudformation-schema/aws-sagemaker-cluster.json b/aws-cloudformation-schema/aws-sagemaker-cluster.json index 5d3e42282c..f8a6008e26 100644 --- a/aws-cloudformation-schema/aws-sagemaker-cluster.json +++ b/aws-cloudformation-schema/aws-sagemaker-cluster.json @@ -207,9 +207,6 @@ }, "ExecutionRole" : { "$ref" : "#/definitions/ExecutionRole" - }, - "CustomMetadata" : { - "$ref" : "#/definitions/CustomMetadata" } }, "required" : [ "ExecutionRole", "InstanceCount", "InstanceGroupName", "InstanceType", "LifeCycleConfig" ] diff --git a/meta/.botocore.version b/meta/.botocore.version index 84f4a42a0d..6d337d4bfa 100644 --- a/meta/.botocore.version +++ b/meta/.botocore.version @@ -1 +1 @@ -1.35.81 +1.35.83 diff --git a/provider/cmd/pulumi-gen-aws-native/supported-types.txt b/provider/cmd/pulumi-gen-aws-native/supported-types.txt index 59a3aeadcd..e5221f7e71 100644 --- a/provider/cmd/pulumi-gen-aws-native/supported-types.txt +++ b/provider/cmd/pulumi-gen-aws-native/supported-types.txt @@ -812,6 +812,9 @@ AWS::PCAConnectorAD::Template AWS::PCAConnectorAD::TemplateGroupAccessControlEntry AWS::PCAConnectorSCEP::Challenge AWS::PCAConnectorSCEP::Connector +AWS::PCS::Cluster +AWS::PCS::ComputeNodeGroup +AWS::PCS::Queue AWS::Panorama::ApplicationInstance AWS::Panorama::Package AWS::Panorama::PackageVersion @@ -836,6 +839,7 @@ AWS::QBusiness::Retriever AWS::QBusiness::WebExperience AWS::QLDB::Stream AWS::QuickSight::Analysis +AWS::QuickSight::CustomPermissions AWS::QuickSight::Dashboard AWS::QuickSight::DataSet AWS::QuickSight::DataSource diff --git a/provider/cmd/pulumi-resource-aws-native/metadata.json b/provider/cmd/pulumi-resource-aws-native/metadata.json index db7f7bb63a..03fff09e52 100644 --- a/provider/cmd/pulumi-resource-aws-native/metadata.json +++ b/provider/cmd/pulumi-resource-aws-native/metadata.json @@ -15567,14 +15567,16 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID mapping table." }, "description": { "type": "string", "description": "The description of the ID mapping table." }, "idMappingTableIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID mapping table identifier that you want to retrieve." }, "inputReferenceConfig": { "$ref": "#/types/aws-native:cleanrooms:IdMappingTableInputReferenceConfig", @@ -15679,7 +15681,8 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID namespace association." }, "description": { "type": "string", @@ -15690,7 +15693,8 @@ "description": "The configuration settings for the ID mapping table." }, "idNamespaceAssociationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID namespace association that you want to retrieve." }, "inputReferenceConfig": { "$ref": "#/types/aws-native:cleanrooms:IdNamespaceAssociationInputReferenceConfig", @@ -21191,7 +21195,7 @@ }, "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns", - "description": "User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) ." + "description": "User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) ." }, "userPoolName": { "type": "string", @@ -21337,7 +21341,7 @@ }, "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns", - "description": "User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) ." + "description": "User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) ." }, "userPoolId": { "type": "string", @@ -21470,7 +21474,7 @@ "items": { "type": "string" }, - "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." + "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." }, "generateSecret": { "type": "boolean", @@ -21591,7 +21595,7 @@ "items": { "type": "string" }, - "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." + "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." }, "generateSecret": { "type": "boolean", @@ -22086,7 +22090,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter." + "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter." }, "desiredDeliveryMediums": { "type": "array", @@ -22132,7 +22136,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", + "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", "replaceOnChanges": true }, "desiredDeliveryMediums": { @@ -26507,6 +26511,10 @@ "$ref": "#/types/aws-native:databrew:DatasetPathOptions", "description": "PathOptions" }, + "source": { + "$ref": "#/types/aws-native:databrew:DatasetSource", + "description": "Source type of the dataset" + }, "tags": { "type": "array", "items": { @@ -26537,6 +26545,10 @@ "$ref": "#/types/aws-native:databrew:DatasetPathOptions", "description": "PathOptions" }, + "source": { + "$ref": "#/types/aws-native:databrew:DatasetSource", + "description": "Source type of the dataset" + }, "tags": { "type": "array", "items": { @@ -30070,7 +30082,6 @@ "authorizedPrincipals", "domainIdentifier", "environmentIdentifier", - "manageAccessRole", "subscriptionTargetConfig", "type" ], @@ -40513,6 +40524,12 @@ }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + }, "vpcEndpointType": { "$ref": "#/types/aws-native:ec2:VpcEndpointType", "description": "The type of endpoint.\n Default: Gateway" @@ -40593,6 +40610,12 @@ }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + }, "vpcEndpointType": { "$ref": "#/types/aws-native:ec2:VpcEndpointType", "description": "The type of endpoint.\n Default: Gateway", @@ -40623,6 +40646,8 @@ "irreversibleNames": { "awsId": "Id" }, + "tagsProperty": "tags", + "tagsStyle": "keyValueArray", "cfRef": { "property": "Id" }, @@ -82577,6 +82602,397 @@ "connectorArn" ] }, + "aws-native:pcs:Cluster": { + "cf": "AWS::PCS::Cluster", + "inputs": { + "name": { + "type": "string", + "description": "The name that identifies the cluster." + }, + "networking": { + "$ref": "#/types/aws-native:pcs:NetworkingProperties", + "description": "The networking configuration for the cluster's control plane." + }, + "scheduler": { + "$ref": "#/types/aws-native:pcs:SchedulerProperties", + "description": "The cluster management and job scheduling software associated with the cluster." + }, + "size": { + "$ref": "#/types/aws-native:pcs:ClusterSize", + "description": "The size of the cluster." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the cluster." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the cluster." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterEndpoint" + }, + "description": "The list of endpoints available for interaction with the scheduler." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterErrorInfo" + }, + "description": "The list of errors that occurred during cluster provisioning." + }, + "name": { + "type": "string", + "description": "The name that identifies the cluster.", + "replaceOnChanges": true + }, + "networking": { + "$ref": "#/types/aws-native:pcs:NetworkingProperties", + "description": "The networking configuration for the cluster's control plane.", + "replaceOnChanges": true + }, + "scheduler": { + "$ref": "#/types/aws-native:pcs:SchedulerProperties", + "description": "The cluster management and job scheduling software associated with the cluster.", + "replaceOnChanges": true + }, + "size": { + "$ref": "#/types/aws-native:pcs:ClusterSize", + "description": "The size of the cluster.", + "replaceOnChanges": true + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler.", + "replaceOnChanges": true + }, + "status": { + "$ref": "#/types/aws-native:pcs:ClusterStatus", + "description": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "networking", + "scheduler", + "size" + ], + "createOnly": [ + "name", + "networking", + "scheduler", + "size", + "slurmConfiguration" + ], + "readOnly": [ + "arn", + "endpoints", + "errorInfo", + "id", + "status" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap", + "primaryIdentifier": [ + "arn" + ] + }, + "aws-native:pcs:ComputeNodeGroup": { + "cf": "AWS::PCS::ComputeNodeGroup", + "inputs": { + "amiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the compute node group." + }, + "customLaunchTemplate": { + "$ref": "#/types/aws-native:pcs:CustomLaunchTemplateProperties", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes." + }, + "iamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly." + }, + "instanceConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupInstanceConfig" + }, + "description": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group." + }, + "name": { + "type": "string", + "description": "The name that identifies the compute node group." + }, + "purchaseOption": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupPurchaseOption", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand." + }, + "scalingConfiguration": { + "$ref": "#/types/aws-native:pcs:ScalingConfigurationProperties", + "description": "Specifies the boundaries of the compute node group auto scaling." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "spotOptions": { + "$ref": "#/types/aws-native:pcs:SpotOptionsProperties", + "description": "Additional configuration when you specify SPOT as the purchase option." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "outputs": { + "amiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template." + }, + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the compute node group." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the compute node group." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the compute node group.", + "replaceOnChanges": true + }, + "customLaunchTemplate": { + "$ref": "#/types/aws-native:pcs:CustomLaunchTemplateProperties", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupErrorInfo" + }, + "description": "The list of errors that occurred during compute node group provisioning." + }, + "iamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly." + }, + "instanceConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupInstanceConfig" + }, + "description": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name that identifies the compute node group.", + "replaceOnChanges": true + }, + "purchaseOption": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupPurchaseOption", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand." + }, + "scalingConfiguration": { + "$ref": "#/types/aws-native:pcs:ScalingConfigurationProperties", + "description": "Specifies the boundaries of the compute node group auto scaling." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "spotOptions": { + "$ref": "#/types/aws-native:pcs:SpotOptionsProperties", + "description": "Additional configuration when you specify SPOT as the purchase option." + }, + "status": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupStatus", + "description": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "clusterId", + "customLaunchTemplate", + "iamInstanceProfileArn", + "instanceConfigs", + "scalingConfiguration", + "subnetIds" + ], + "createOnly": [ + "clusterId", + "instanceConfigs", + "name" + ], + "readOnly": [ + "arn", + "errorInfo", + "id", + "status" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap", + "primaryIdentifier": [ + "arn" + ] + }, + "aws-native:pcs:Queue": { + "cf": "AWS::PCS::Queue", + "inputs": { + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the queue." + }, + "computeNodeGroupConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueComputeNodeGroupConfiguration" + }, + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups." + }, + "name": { + "type": "string", + "description": "The name that identifies the queue." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "outputs": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the queue." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the queue." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the queue.", + "replaceOnChanges": true + }, + "computeNodeGroupConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueComputeNodeGroupConfiguration" + }, + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueErrorInfo" + }, + "description": "The list of errors that occurred during queue provisioning." + }, + "name": { + "type": "string", + "description": "The name that identifies the queue.", + "replaceOnChanges": true + }, + "status": { + "$ref": "#/types/aws-native:pcs:QueueStatus", + "description": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "autoNamingSpec": { + "sdkName": "name" + }, + "required": [ + "clusterId" + ], + "createOnly": [ + "clusterId", + "name" + ], + "readOnly": [ + "arn", + "errorInfo", + "id", + "status" + ], + "irreversibleNames": { + "awsId": "Id" + }, + "tagsProperty": "tags", + "tagsStyle": "stringMap", + "primaryIdentifier": [ + "arn" + ] + }, "aws-native:personalize:Dataset": { "cf": "AWS::Personalize::Dataset", "inputs": { @@ -84800,6 +85216,69 @@ "awsAccountId" ] }, + "aws-native:quicksight:CustomPermissions": { + "cf": "AWS::QuickSight::CustomPermissions", + "inputs": { + "awsAccountId": { + "type": "string" + }, + "capabilities": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilities" + }, + "customPermissionsName": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "outputs": { + "arn": { + "type": "string" + }, + "awsAccountId": { + "type": "string", + "replaceOnChanges": true + }, + "capabilities": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilities" + }, + "customPermissionsName": { + "type": "string", + "replaceOnChanges": true + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "autoNamingSpec": { + "sdkName": "customPermissionsName", + "minLength": 1, + "maxLength": 64 + }, + "required": [ + "awsAccountId" + ], + "createOnly": [ + "awsAccountId", + "customPermissionsName" + ], + "readOnly": [ + "arn" + ], + "tagsProperty": "tags", + "tagsStyle": "keyValueArray", + "primaryIdentifier": [ + "awsAccountId", + "customPermissionsName" + ] + }, "aws-native:quicksight:Dashboard": { "cf": "AWS::QuickSight::Dashboard", "inputs": { @@ -132098,7 +132577,7 @@ }, "passwordHistorySize": { "type": "integer", - "description": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .\n\nPassword history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool." + "description": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .\n\nPassword history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher." }, "requireLowercase": { "type": "boolean", @@ -132131,7 +132610,7 @@ }, "signInPolicy": { "$ref": "#/types/aws-native:cognito:UserPoolSignInPolicy", - "description": "The policy for allowed types of authentication in a user pool.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." + "description": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." } } }, @@ -136390,12 +136869,18 @@ "type": "string", "description": "The Amazon S3 bucket name." }, + "bucketOwner": { + "type": "string" + }, "key": { "type": "string", "description": "The unique name of the object in the bucket." } } }, + "aws-native:databrew:DatasetSource": { + "type": "string" + }, "aws-native:databrew:DatasetTag": { "type": "object", "properties": { @@ -140539,6 +141024,14 @@ } } }, + "aws-native:ec2:Ec2FleetBaselinePerformanceFactorsRequest": { + "type": "object", + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:Ec2FleetCpuPerformanceFactorRequest" + } + } + }, "aws-native:ec2:Ec2FleetCapacityRebalance": { "type": "object", "properties": { @@ -140567,6 +141060,17 @@ "aws-native:ec2:Ec2FleetCapacityReservationOptionsRequestUsageStrategy": { "type": "string" }, + "aws-native:ec2:Ec2FleetCpuPerformanceFactorRequest": { + "type": "object", + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:Ec2FleetPerformanceFactorReferenceRequest" + } + } + } + }, "aws-native:ec2:Ec2FleetExcessCapacityTerminationPolicy": { "type": "string" }, @@ -140687,6 +141191,9 @@ "$ref": "#/types/aws-native:ec2:Ec2FleetBaselineEbsBandwidthMbpsRequest", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:Ec2FleetBaselinePerformanceFactorsRequest" + }, "burstablePerformance": { "$ref": "#/types/aws-native:ec2:Ec2FleetInstanceRequirementsRequestBurstablePerformance", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`" @@ -140885,6 +141392,14 @@ } } }, + "aws-native:ec2:Ec2FleetPerformanceFactorReferenceRequest": { + "type": "object", + "properties": { + "instanceFamily": { + "type": "string" + } + } + }, "aws-native:ec2:Ec2FleetPlacement": { "type": "object", "properties": { @@ -143729,6 +144244,14 @@ } } }, + "aws-native:ec2:SpotFleetBaselinePerformanceFactorsRequest": { + "type": "object", + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:SpotFleetCpuPerformanceFactorRequest" + } + } + }, "aws-native:ec2:SpotFleetBlockDeviceMapping": { "type": "object", "properties": { @@ -143771,6 +144294,17 @@ } } }, + "aws-native:ec2:SpotFleetCpuPerformanceFactorRequest": { + "type": "object", + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:SpotFleetPerformanceFactorReferenceRequest" + } + } + } + }, "aws-native:ec2:SpotFleetEbsBlockDevice": { "type": "object", "properties": { @@ -143952,6 +144486,9 @@ "$ref": "#/types/aws-native:ec2:SpotFleetBaselineEbsBandwidthMbpsRequest", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:SpotFleetBaselinePerformanceFactorsRequest" + }, "burstablePerformance": { "$ref": "#/types/aws-native:ec2:SpotFleetInstanceRequirementsRequestBurstablePerformance", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`" @@ -144272,6 +144809,14 @@ } } }, + "aws-native:ec2:SpotFleetPerformanceFactorReferenceRequest": { + "type": "object", + "properties": { + "instanceFamily": { + "type": "string" + } + } + }, "aws-native:ec2:SpotFleetPrivateIpAddressSpecification": { "type": "object", "properties": { @@ -145023,6 +145568,17 @@ "aws-native:ec2:VpcEndpointIpAddressType": { "type": "string" }, + "aws-native:ec2:VpcEndpointTag": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, "aws-native:ec2:VpcEndpointType": { "type": "string" }, @@ -147247,13 +147803,16 @@ "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located." }, "roleArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the current source file system in the replication configuration." }, "status": { - "type": "string" + "type": "string", + "description": "Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* ." }, "statusMessage": { - "type": "string" + "type": "string", + "description": "Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* ." } } }, @@ -170316,11 +170875,11 @@ "items": { "type": "string" }, - "description": "Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.\n\n\u003e In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see" + "description": "Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.\n\n\u003e In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) ." }, "dataSourceRoleArn": { "type": "string", - "description": "Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide." + "description": "Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide." }, "kmsKeyArn": { "type": "string", @@ -178750,6 +179309,226 @@ "aws-native:pcaconnectorscep:ConnectorType": { "type": "string" }, + "aws-native:pcs:ClusterAuthKey": { + "type": "object", + "properties": { + "secretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the the shared Slurm key." + }, + "secretVersion": { + "type": "string", + "description": "The version of the shared Slurm key." + } + } + }, + "aws-native:pcs:ClusterEndpoint": { + "type": "object", + "properties": { + "port": { + "type": "string", + "description": "The endpoint's connection port number." + }, + "privateIpAddress": { + "type": "string", + "description": "The endpoint's private IP address." + }, + "publicIpAddress": { + "type": "string", + "description": "The endpoint's public IP address." + }, + "type": { + "$ref": "#/types/aws-native:pcs:ClusterEndpointType", + "description": "Indicates the type of endpoint running at the specific IP address." + } + } + }, + "aws-native:pcs:ClusterEndpointType": { + "type": "string" + }, + "aws-native:pcs:ClusterErrorInfo": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + } + }, + "aws-native:pcs:ClusterSchedulerPropertiesType": { + "type": "string" + }, + "aws-native:pcs:ClusterSize": { + "type": "string" + }, + "aws-native:pcs:ClusterSlurmCustomSetting": { + "type": "object", + "properties": { + "parameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters." + }, + "parameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting." + } + } + }, + "aws-native:pcs:ClusterStatus": { + "type": "string" + }, + "aws-native:pcs:ComputeNodeGroupErrorInfo": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + } + }, + "aws-native:pcs:ComputeNodeGroupInstanceConfig": { + "type": "object", + "properties": { + "instanceType": { + "type": "string", + "description": "The EC2 instance type that AWS PCS can provision in the compute node group." + } + } + }, + "aws-native:pcs:ComputeNodeGroupPurchaseOption": { + "type": "string" + }, + "aws-native:pcs:ComputeNodeGroupSlurmCustomSetting": { + "type": "object", + "properties": { + "parameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory." + }, + "parameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting." + } + } + }, + "aws-native:pcs:ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy": { + "type": "string" + }, + "aws-native:pcs:ComputeNodeGroupStatus": { + "type": "string" + }, + "aws-native:pcs:CustomLaunchTemplateProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the EC2 launch template to use to provision instances." + }, + "version": { + "type": "string", + "description": "The version of the EC2 launch template to use to provision instances." + } + } + }, + "aws-native:pcs:NetworkingProperties": { + "type": "object", + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list." + } + } + }, + "aws-native:pcs:QueueComputeNodeGroupConfiguration": { + "type": "object", + "properties": { + "computeNodeGroupId": { + "type": "string", + "description": "The compute node group ID for the compute node group configuration." + } + } + }, + "aws-native:pcs:QueueErrorInfo": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + } + }, + "aws-native:pcs:QueueStatus": { + "type": "string" + }, + "aws-native:pcs:ScalingConfigurationProperties": { + "type": "object", + "properties": { + "maxInstanceCount": { + "type": "integer", + "description": "The upper bound of the number of instances allowed in the compute fleet." + }, + "minInstanceCount": { + "type": "integer", + "description": "The lower bound of the number of instances allowed in the compute fleet." + } + } + }, + "aws-native:pcs:SchedulerProperties": { + "type": "object", + "properties": { + "type": { + "$ref": "#/types/aws-native:pcs:ClusterSchedulerPropertiesType", + "description": "The software AWS PCS uses to manage cluster scaling and job scheduling." + }, + "version": { + "type": "string", + "description": "The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling." + } + } + }, + "aws-native:pcs:SlurmConfigurationProperties": { + "type": "object", + "properties": { + "slurmCustomSettings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupSlurmCustomSetting" + }, + "description": "Additional Slurm-specific configuration that directly maps to Slurm settings." + } + } + }, + "aws-native:pcs:SpotOptionsProperties": { + "type": "object", + "properties": { + "allocationStrategy": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy", + "description": "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized." + } + } + }, "aws-native:personalize:DatasetGroupDomain": { "type": "string" }, @@ -192187,6 +192966,82 @@ } } }, + "aws-native:quicksight:CustomPermissionsCapabilities": { + "type": "object", + "properties": { + "addOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDashboardEmailReports": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDataSources": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDatasets": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateThemes": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateThresholdAlerts": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createSharedFolders": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createSpiceDataset": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "exportToCsv": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "exportToExcel": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "renameSharedFolders": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareAnalyses": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDashboards": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDataSources": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDatasets": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "subscribeDashboardEmailReports": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "viewAccountSpiceCapacity": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + } + }, + "irreversibleNames": { + "createSpiceDataset": "CreateSPICEDataset", + "viewAccountSpiceCapacity": "ViewAccountSPICECapacity" + } + }, + "aws-native:quicksight:CustomPermissionsCapabilityState": { + "type": "string" + }, + "aws-native:quicksight:CustomPermissionsTag": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "\u003cp\u003eTag key.\u003c/p\u003e" + }, + "value": { + "type": "string", + "description": "\u003cp\u003eTag value.\u003c/p\u003e" + } + } + }, "aws-native:quicksight:DashboardAdHocFilteringOption": { "type": "object", "properties": { @@ -221173,9 +222028,6 @@ "type": "integer", "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." }, - "customMetadata": { - "$ref": "pulumi.json#/Any" - }, "executionRole": { "type": "string", "replaceOnChanges": true @@ -242665,6 +243517,24 @@ "connectorArn" ] }, + "aws-native:pcs:getCluster": { + "cf": "AWS::PCS::Cluster", + "ids": [ + "arn" + ] + }, + "aws-native:pcs:getComputeNodeGroup": { + "cf": "AWS::PCS::ComputeNodeGroup", + "ids": [ + "arn" + ] + }, + "aws-native:pcs:getQueue": { + "cf": "AWS::PCS::Queue", + "ids": [ + "arn" + ] + }, "aws-native:personalize:getDataset": { "cf": "AWS::Personalize::Dataset", "ids": [ @@ -242782,6 +243652,13 @@ "awsAccountId" ] }, + "aws-native:quicksight:getCustomPermissions": { + "cf": "AWS::QuickSight::CustomPermissions", + "ids": [ + "awsAccountId", + "customPermissionsName" + ] + }, "aws-native:quicksight:getDashboard": { "cf": "AWS::QuickSight::Dashboard", "ids": [ diff --git a/provider/cmd/pulumi-resource-aws-native/schema.json b/provider/cmd/pulumi-resource-aws-native/schema.json index 822ebbe612..86043d472f 100644 --- a/provider/cmd/pulumi-resource-aws-native/schema.json +++ b/provider/cmd/pulumi-resource-aws-native/schema.json @@ -176,6 +176,7 @@ "paymentcryptography": "PaymentCryptography", "pcaconnectorad": "PcaConnectorAd", "pcaconnectorscep": "PcaConnectorScep", + "pcs": "Pcs", "personalize": "Personalize", "pinpoint": "Pinpoint", "pipes": "Pipes", @@ -25313,6 +25314,10 @@ { "name": "ChangeSet", "value": "CHANGE_SET" + }, + { + "name": "CloudControl", + "value": "CLOUD_CONTROL" } ] }, @@ -25458,6 +25463,10 @@ { "name": "ChangeSet", "value": "CHANGE_SET" + }, + { + "name": "CloudControl", + "value": "CLOUD_CONTROL" } ] }, @@ -30845,7 +30854,7 @@ }, "passwordHistorySize": { "type": "integer", - "description": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .\n\nPassword history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool." + "description": "The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` .\n\nPassword history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher." }, "requireLowercase": { "type": "boolean", @@ -30878,7 +30887,7 @@ }, "signInPolicy": { "$ref": "#/types/aws-native:cognito:UserPoolSignInPolicy", - "description": "The policy for allowed types of authentication in a user pool.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." + "description": "The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n\nThis data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) ." } }, "type": "object" @@ -37882,6 +37891,9 @@ "type": "string", "description": "The Amazon S3 bucket name." }, + "bucketOwner": { + "type": "string" + }, "key": { "type": "string", "description": "The unique name of the object in the bucket." @@ -37892,6 +37904,24 @@ "bucket" ] }, + "aws-native:databrew:DatasetSource": { + "description": "Source type of the dataset", + "type": "string", + "enum": [ + { + "name": "S3", + "value": "S3" + }, + { + "name": "DataCatalog", + "value": "DATA-CATALOG" + }, + { + "name": "Database", + "value": "DATABASE" + } + ] + }, "aws-native:databrew:DatasetTag": { "description": "A key-value pair to associate with a resource.", "properties": { @@ -41263,6 +41293,18 @@ { "name": "ProjectContributor", "value": "PROJECT_CONTRIBUTOR" + }, + { + "name": "ProjectCatalogViewer", + "value": "PROJECT_CATALOG_VIEWER" + }, + { + "name": "ProjectCatalogConsumer", + "value": "PROJECT_CATALOG_CONSUMER" + }, + { + "name": "ProjectCatalogSteward", + "value": "PROJECT_CATALOG_STEWARD" } ] }, @@ -44110,6 +44152,14 @@ }, "type": "object" }, + "aws-native:ec2:Ec2FleetBaselinePerformanceFactorsRequest": { + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:Ec2FleetCpuPerformanceFactorRequest" + } + }, + "type": "object" + }, "aws-native:ec2:Ec2FleetCapacityRebalance": { "properties": { "replacementStrategy": { @@ -44156,6 +44206,17 @@ } ] }, + "aws-native:ec2:Ec2FleetCpuPerformanceFactorRequest": { + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:Ec2FleetPerformanceFactorReferenceRequest" + } + } + }, + "type": "object" + }, "aws-native:ec2:Ec2FleetExcessCapacityTerminationPolicy": { "description": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.\n\nSupported only for fleets of type `maintain` .", "type": "string", @@ -44289,6 +44350,9 @@ "$ref": "#/types/aws-native:ec2:Ec2FleetBaselineEbsBandwidthMbpsRequest", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:Ec2FleetBaselinePerformanceFactorsRequest" + }, "burstablePerformance": { "$ref": "#/types/aws-native:ec2:Ec2FleetInstanceRequirementsRequestBurstablePerformance", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`" @@ -44654,6 +44718,14 @@ }, "type": "object" }, + "aws-native:ec2:Ec2FleetPerformanceFactorReferenceRequest": { + "properties": { + "instanceFamily": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:Ec2FleetPlacement": { "properties": { "affinity": { @@ -48294,6 +48366,14 @@ }, "type": "object" }, + "aws-native:ec2:SpotFleetBaselinePerformanceFactorsRequest": { + "properties": { + "cpu": { + "$ref": "#/types/aws-native:ec2:SpotFleetCpuPerformanceFactorRequest" + } + }, + "type": "object" + }, "aws-native:ec2:SpotFleetBlockDeviceMapping": { "properties": { "deviceName": { @@ -48345,6 +48425,17 @@ "classicLoadBalancers" ] }, + "aws-native:ec2:SpotFleetCpuPerformanceFactorRequest": { + "properties": { + "references": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:ec2:SpotFleetPerformanceFactorReferenceRequest" + } + } + }, + "type": "object" + }, "aws-native:ec2:SpotFleetEbsBlockDevice": { "properties": { "deleteOnTermination": { @@ -48565,6 +48656,9 @@ "$ref": "#/types/aws-native:ec2:SpotFleetBaselineEbsBandwidthMbpsRequest", "description": "The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* .\n\nDefault: No minimum or maximum limits" }, + "baselinePerformanceFactors": { + "$ref": "#/types/aws-native:ec2:SpotFleetBaselinePerformanceFactorsRequest" + }, "burstablePerformance": { "$ref": "#/types/aws-native:ec2:SpotFleetInstanceRequirementsRequestBurstablePerformance", "description": "Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) .\n\n- To include burstable performance instance types, specify `included` .\n- To require only burstable performance instance types, specify `required` .\n- To exclude burstable performance instance types, specify `excluded` .\n\nDefault: `excluded`" @@ -49055,6 +49149,14 @@ }, "type": "object" }, + "aws-native:ec2:SpotFleetPerformanceFactorReferenceRequest": { + "properties": { + "instanceFamily": { + "type": "string" + } + }, + "type": "object" + }, "aws-native:ec2:SpotFleetPrivateIpAddressSpecification": { "properties": { "primary": { @@ -50252,6 +50354,21 @@ } ] }, + "aws-native:ec2:VpcEndpointTag": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:ec2:VpcEndpointType": { "description": "The type of endpoint.\n Default: Gateway", "type": "string", @@ -53191,13 +53308,16 @@ "description": "The AWS-Region in which the destination file system is located.\n For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located." }, "roleArn": { - "type": "string" + "type": "string", + "description": "The Amazon Resource Name (ARN) of the current source file system in the replication configuration." }, "status": { - "type": "string" + "type": "string", + "description": "Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* ." }, "statusMessage": { - "type": "string" + "type": "string", + "description": "Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* ." } }, "type": "object" @@ -85579,11 +85699,11 @@ "items": { "type": "string" }, - "description": "Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.\n\n\u003e In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see" + "description": "Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards.\n\n\u003e In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) ." }, "dataSourceRoleArn": { "type": "string", - "description": "Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide." + "description": "Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide." }, "kmsKeyArn": { "type": "string", @@ -98998,6 +99118,422 @@ } ] }, + "aws-native:pcs:ClusterAuthKey": { + "description": "The shared Slurm key for authentication, also known as the cluster secret.", + "properties": { + "secretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the the shared Slurm key." + }, + "secretVersion": { + "type": "string", + "description": "The version of the shared Slurm key." + } + }, + "type": "object", + "required": [ + "secretArn", + "secretVersion" + ] + }, + "aws-native:pcs:ClusterEndpoint": { + "description": "An endpoint available for interaction with the scheduler.", + "properties": { + "port": { + "type": "string", + "description": "The endpoint's connection port number." + }, + "privateIpAddress": { + "type": "string", + "description": "The endpoint's private IP address." + }, + "publicIpAddress": { + "type": "string", + "description": "The endpoint's public IP address." + }, + "type": { + "$ref": "#/types/aws-native:pcs:ClusterEndpointType", + "description": "Indicates the type of endpoint running at the specific IP address." + } + }, + "type": "object", + "required": [ + "port", + "privateIpAddress", + "type" + ] + }, + "aws-native:pcs:ClusterEndpointType": { + "description": "Indicates the type of endpoint running at the specific IP address.", + "type": "string", + "enum": [ + { + "name": "Slurmctld", + "value": "SLURMCTLD" + }, + { + "name": "Slurmdbd", + "value": "SLURMDBD" + } + ] + }, + "aws-native:pcs:ClusterErrorInfo": { + "description": "An error that occurred during resource provisioning.", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + }, + "type": "object" + }, + "aws-native:pcs:ClusterSchedulerPropertiesType": { + "description": "The software AWS PCS uses to manage cluster scaling and job scheduling.", + "type": "string", + "enum": [ + { + "name": "Slurm", + "value": "SLURM" + } + ] + }, + "aws-native:pcs:ClusterSize": { + "description": "The size of the cluster.", + "type": "string", + "enum": [ + { + "name": "Small", + "value": "SMALL" + }, + { + "name": "Medium", + "value": "MEDIUM" + }, + { + "name": "Large", + "value": "LARGE" + } + ] + }, + "aws-native:pcs:ClusterSlurmCustomSetting": { + "description": "Additional settings that directly map to Slurm settings.", + "properties": { + "parameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters." + }, + "parameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting." + } + }, + "type": "object", + "required": [ + "parameterName", + "parameterValue" + ] + }, + "aws-native:pcs:ClusterStatus": { + "description": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster.", + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "CREATING" + }, + { + "name": "Active", + "value": "ACTIVE" + }, + { + "name": "Updating", + "value": "UPDATING" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "DeleteFailed", + "value": "DELETE_FAILED" + }, + { + "name": "UpdateFailed", + "value": "UPDATE_FAILED" + } + ] + }, + "aws-native:pcs:ComputeNodeGroupErrorInfo": { + "description": "An error that occurred during resource provisioning.", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + }, + "type": "object" + }, + "aws-native:pcs:ComputeNodeGroupInstanceConfig": { + "description": "An EC2 instance configuration AWS PCS uses to launch compute nodes.", + "properties": { + "instanceType": { + "type": "string", + "description": "The EC2 instance type that AWS PCS can provision in the compute node group." + } + }, + "type": "object" + }, + "aws-native:pcs:ComputeNodeGroupPurchaseOption": { + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand.", + "type": "string", + "enum": [ + { + "name": "Ondemand", + "value": "ONDEMAND" + }, + { + "name": "Spot", + "value": "SPOT" + } + ] + }, + "aws-native:pcs:ComputeNodeGroupSlurmCustomSetting": { + "description": "Additional settings that directly map to Slurm settings.", + "properties": { + "parameterName": { + "type": "string", + "description": "AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory." + }, + "parameterValue": { + "type": "string", + "description": "The value for the configured Slurm setting." + } + }, + "type": "object", + "required": [ + "parameterName", + "parameterValue" + ] + }, + "aws-native:pcs:ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy": { + "description": "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized.", + "type": "string", + "enum": [ + { + "name": "LowestPrice", + "value": "lowest-price" + }, + { + "name": "CapacityOptimized", + "value": "capacity-optimized" + }, + { + "name": "PriceCapacityOptimized", + "value": "price-capacity-optimized" + } + ] + }, + "aws-native:pcs:ComputeNodeGroupStatus": { + "description": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group.", + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "CREATING" + }, + { + "name": "Active", + "value": "ACTIVE" + }, + { + "name": "Updating", + "value": "UPDATING" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "DeleteFailed", + "value": "DELETE_FAILED" + }, + { + "name": "UpdateFailed", + "value": "UPDATE_FAILED" + } + ] + }, + "aws-native:pcs:CustomLaunchTemplateProperties": { + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the EC2 launch template to use to provision instances." + }, + "version": { + "type": "string", + "description": "The version of the EC2 launch template to use to provision instances." + } + }, + "type": "object", + "required": [ + "id", + "version" + ] + }, + "aws-native:pcs:NetworkingProperties": { + "description": "The networking configuration for the cluster's control plane.", + "properties": { + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list." + } + }, + "type": "object" + }, + "aws-native:pcs:QueueComputeNodeGroupConfiguration": { + "description": "The compute node group configuration for a queue.", + "properties": { + "computeNodeGroupId": { + "type": "string", + "description": "The compute node group ID for the compute node group configuration." + } + }, + "type": "object" + }, + "aws-native:pcs:QueueErrorInfo": { + "description": "An error that occurred during resource provisioning.", + "properties": { + "code": { + "type": "string", + "description": "The short-form error code." + }, + "message": { + "type": "string", + "description": "The detailed error information." + } + }, + "type": "object" + }, + "aws-native:pcs:QueueStatus": { + "description": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue.", + "type": "string", + "enum": [ + { + "name": "Creating", + "value": "CREATING" + }, + { + "name": "Active", + "value": "ACTIVE" + }, + { + "name": "Updating", + "value": "UPDATING" + }, + { + "name": "Deleting", + "value": "DELETING" + }, + { + "name": "CreateFailed", + "value": "CREATE_FAILED" + }, + { + "name": "DeleteFailed", + "value": "DELETE_FAILED" + }, + { + "name": "UpdateFailed", + "value": "UPDATE_FAILED" + } + ] + }, + "aws-native:pcs:ScalingConfigurationProperties": { + "description": "Specifies the boundaries of the compute node group auto scaling.", + "properties": { + "maxInstanceCount": { + "type": "integer", + "description": "The upper bound of the number of instances allowed in the compute fleet." + }, + "minInstanceCount": { + "type": "integer", + "description": "The lower bound of the number of instances allowed in the compute fleet." + } + }, + "type": "object", + "required": [ + "maxInstanceCount", + "minInstanceCount" + ] + }, + "aws-native:pcs:SchedulerProperties": { + "description": "The cluster management and job scheduling software associated with the cluster.", + "properties": { + "type": { + "$ref": "#/types/aws-native:pcs:ClusterSchedulerPropertiesType", + "description": "The software AWS PCS uses to manage cluster scaling and job scheduling." + }, + "version": { + "type": "string", + "description": "The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling." + } + }, + "type": "object", + "required": [ + "type", + "version" + ] + }, + "aws-native:pcs:SlurmConfigurationProperties": { + "description": "Additional options related to the Slurm scheduler.", + "properties": { + "slurmCustomSettings": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupSlurmCustomSetting" + }, + "description": "Additional Slurm-specific configuration that directly maps to Slurm settings." + } + }, + "type": "object" + }, + "aws-native:pcs:SpotOptionsProperties": { + "description": "Additional configuration when you specify SPOT as the purchase option.", + "properties": { + "allocationStrategy": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy", + "description": "The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized." + } + }, + "type": "object" + }, "aws-native:personalize:DatasetGroupDomain": { "description": "The domain of a Domain dataset group.", "type": "string", @@ -116112,6 +116648,89 @@ "yAxis" ] }, + "aws-native:quicksight:CustomPermissionsCapabilities": { + "properties": { + "addOrRunAnomalyDetectionForAnalyses": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDashboardEmailReports": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDataSources": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateDatasets": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateThemes": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createAndUpdateThresholdAlerts": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createSharedFolders": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "createSpiceDataset": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "exportToCsv": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "exportToExcel": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "renameSharedFolders": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareAnalyses": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDashboards": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDataSources": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "shareDatasets": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "subscribeDashboardEmailReports": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + }, + "viewAccountSpiceCapacity": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilityState" + } + }, + "type": "object" + }, + "aws-native:quicksight:CustomPermissionsCapabilityState": { + "type": "string", + "enum": [ + { + "name": "Deny", + "value": "DENY" + } + ] + }, + "aws-native:quicksight:CustomPermissionsTag": { + "description": "\u003cp\u003eThe key or keys of the key-value pairs for the resource tag or tags assigned to the\n resource.\u003c/p\u003e", + "properties": { + "key": { + "type": "string", + "description": "\u003cp\u003eTag key.\u003c/p\u003e" + }, + "value": { + "type": "string", + "description": "\u003cp\u003eTag value.\u003c/p\u003e" + } + }, + "type": "object", + "required": [ + "key", + "value" + ] + }, "aws-native:quicksight:DashboardAdHocFilteringOption": { "description": "\u003cp\u003eAn ad hoc (one-time) filtering option.\u003c/p\u003e", "properties": { @@ -154574,9 +155193,6 @@ "type": "integer", "description": "The number of instances that are currently in the instance group of a SageMaker HyperPod cluster." }, - "customMetadata": { - "$ref": "pulumi.json#/Any" - }, "executionRole": { "type": "string", "replaceOnChanges": true @@ -193812,14 +194428,16 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID mapping table." }, "description": { "type": "string", "description": "The description of the ID mapping table." }, "idMappingTableIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID mapping table identifier that you want to retrieve." }, "inputReferenceConfig": { "$ref": "#/types/aws-native:cleanrooms:IdMappingTableInputReferenceConfig", @@ -193913,7 +194531,8 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID namespace association." }, "description": { "type": "string", @@ -193924,7 +194543,8 @@ "description": "The configuration settings for the ID mapping table." }, "idNamespaceAssociationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID namespace association that you want to retrieve." }, "inputReferenceConfig": { "$ref": "#/types/aws-native:cleanrooms:IdNamespaceAssociationInputReferenceConfig", @@ -198947,7 +199567,7 @@ }, "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns", - "description": "User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) ." + "description": "User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) ." }, "userPoolId": { "type": "string", @@ -199092,7 +199712,7 @@ }, "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns", - "description": "User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) ." + "description": "User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) ." }, "userPoolName": { "type": "string", @@ -199202,7 +199822,7 @@ "items": { "type": "string" }, - "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." + "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." }, "generateSecret": { "type": "boolean", @@ -199328,7 +199948,7 @@ "items": { "type": "string" }, - "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." + "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." }, "generateSecret": { "type": "boolean", @@ -199756,7 +200376,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", + "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter.", "replaceOnChanges": true }, "desiredDeliveryMediums": { @@ -199814,7 +200434,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter." + "description": "A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.\n\nYou create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs.\n\nFor more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* .\n\n\u003e When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following:\n\u003e \n\u003e - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose.\n\u003e - Validate the `ClientMetadata` value.\n\u003e - Encrypt the `ClientMetadata` value. Don't send sensitive information in this parameter." }, "desiredDeliveryMediums": { "type": "array", @@ -203719,6 +204339,10 @@ "$ref": "#/types/aws-native:databrew:DatasetPathOptions", "description": "PathOptions" }, + "source": { + "$ref": "#/types/aws-native:databrew:DatasetSource", + "description": "Source type of the dataset" + }, "tags": { "type": "array", "items": { @@ -203754,6 +204378,10 @@ "$ref": "#/types/aws-native:databrew:DatasetPathOptions", "description": "PathOptions" }, + "source": { + "$ref": "#/types/aws-native:databrew:DatasetSource", + "description": "Source type of the dataset" + }, "tags": { "type": "array", "items": { @@ -206822,7 +207450,6 @@ "domainIdentifier", "environmentId", "environmentIdentifier", - "manageAccessRole", "name", "projectId", "subscriptionTargetConfig", @@ -206882,7 +207509,6 @@ "authorizedPrincipals", "domainIdentifier", "environmentIdentifier", - "manageAccessRole", "subscriptionTargetConfig", "type" ] @@ -212414,7 +213040,7 @@ ] }, "aws-native:ec2:NetworkAcl": { - "description": "Specifies a network ACL for your VPC.", + "description": "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html).", "properties": { "awsId": { "type": "string", @@ -216237,6 +216863,12 @@ }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + }, "vpcEndpointType": { "$ref": "#/types/aws-native:ec2:VpcEndpointType", "description": "The type of endpoint.\n Default: Gateway", @@ -216302,6 +216934,12 @@ }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + }, "vpcEndpointType": { "$ref": "#/types/aws-native:ec2:VpcEndpointType", "description": "The type of endpoint.\n Default: Gateway" @@ -253461,6 +254099,361 @@ "certificateAuthorityArn" ] }, + "aws-native:pcs:Cluster": { + "description": "AWS::PCS::Cluster resource creates an AWS PCS cluster.", + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the cluster." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the cluster." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterEndpoint" + }, + "description": "The list of endpoints available for interaction with the scheduler." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterErrorInfo" + }, + "description": "The list of errors that occurred during cluster provisioning." + }, + "name": { + "type": "string", + "description": "The name that identifies the cluster.", + "replaceOnChanges": true + }, + "networking": { + "$ref": "#/types/aws-native:pcs:NetworkingProperties", + "description": "The networking configuration for the cluster's control plane.", + "replaceOnChanges": true + }, + "scheduler": { + "$ref": "#/types/aws-native:pcs:SchedulerProperties", + "description": "The cluster management and job scheduling software associated with the cluster.", + "replaceOnChanges": true + }, + "size": { + "$ref": "#/types/aws-native:pcs:ClusterSize", + "description": "The size of the cluster.", + "replaceOnChanges": true + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler.", + "replaceOnChanges": true + }, + "status": { + "$ref": "#/types/aws-native:pcs:ClusterStatus", + "description": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "endpoints", + "errorInfo", + "networking", + "scheduler", + "size", + "status" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "The name that identifies the cluster." + }, + "networking": { + "$ref": "#/types/aws-native:pcs:NetworkingProperties", + "description": "The networking configuration for the cluster's control plane." + }, + "scheduler": { + "$ref": "#/types/aws-native:pcs:SchedulerProperties", + "description": "The cluster management and job scheduling software associated with the cluster." + }, + "size": { + "$ref": "#/types/aws-native:pcs:ClusterSize", + "description": "The size of the cluster." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "requiredInputs": [ + "networking", + "scheduler", + "size" + ] + }, + "aws-native:pcs:ComputeNodeGroup": { + "description": "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group.", + "properties": { + "amiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template." + }, + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the compute node group." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the compute node group." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the compute node group.", + "replaceOnChanges": true + }, + "customLaunchTemplate": { + "$ref": "#/types/aws-native:pcs:CustomLaunchTemplateProperties", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupErrorInfo" + }, + "description": "The list of errors that occurred during compute node group provisioning." + }, + "iamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly." + }, + "instanceConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupInstanceConfig" + }, + "description": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group.", + "replaceOnChanges": true + }, + "name": { + "type": "string", + "description": "The name that identifies the compute node group.", + "replaceOnChanges": true + }, + "purchaseOption": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupPurchaseOption", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand." + }, + "scalingConfiguration": { + "$ref": "#/types/aws-native:pcs:ScalingConfigurationProperties", + "description": "Specifies the boundaries of the compute node group auto scaling." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "spotOptions": { + "$ref": "#/types/aws-native:pcs:SpotOptionsProperties", + "description": "Additional configuration when you specify SPOT as the purchase option." + }, + "status": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupStatus", + "description": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "clusterId", + "customLaunchTemplate", + "errorInfo", + "iamInstanceProfileArn", + "instanceConfigs", + "scalingConfiguration", + "status", + "subnetIds" + ], + "inputProperties": { + "amiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the compute node group." + }, + "customLaunchTemplate": { + "$ref": "#/types/aws-native:pcs:CustomLaunchTemplateProperties", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes." + }, + "iamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly." + }, + "instanceConfigs": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupInstanceConfig" + }, + "description": "A list of EC2 instance configurations that AWS PCS can provision in the compute node group." + }, + "name": { + "type": "string", + "description": "The name that identifies the compute node group." + }, + "purchaseOption": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupPurchaseOption", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand." + }, + "scalingConfiguration": { + "$ref": "#/types/aws-native:pcs:ScalingConfigurationProperties", + "description": "Specifies the boundaries of the compute node group auto scaling." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "spotOptions": { + "$ref": "#/types/aws-native:pcs:SpotOptionsProperties", + "description": "Additional configuration when you specify SPOT as the purchase option." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "requiredInputs": [ + "clusterId", + "customLaunchTemplate", + "iamInstanceProfileArn", + "instanceConfigs", + "scalingConfiguration", + "subnetIds" + ] + }, + "aws-native:pcs:Queue": { + "description": "AWS::PCS::Queue resource creates an AWS PCS queue.", + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the queue." + }, + "awsId": { + "type": "string", + "description": "The generated unique ID of the queue." + }, + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the queue.", + "replaceOnChanges": true + }, + "computeNodeGroupConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueComputeNodeGroupConfiguration" + }, + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueErrorInfo" + }, + "description": "The list of errors that occurred during queue provisioning." + }, + "name": { + "type": "string", + "description": "The name that identifies the queue.", + "replaceOnChanges": true + }, + "status": { + "$ref": "#/types/aws-native:pcs:QueueStatus", + "description": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "type": "object", + "required": [ + "arn", + "awsId", + "clusterId", + "errorInfo", + "status" + ], + "inputProperties": { + "clusterId": { + "type": "string", + "description": "The ID of the cluster of the queue." + }, + "computeNodeGroupConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueComputeNodeGroupConfiguration" + }, + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups." + }, + "name": { + "type": "string", + "description": "The name that identifies the queue." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + }, + "requiredInputs": [ + "clusterId" + ] + }, "aws-native:personalize:Dataset": { "description": "Resource schema for AWS::Personalize::Dataset.\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 myDataset = new AwsNative.Personalize.Dataset(\"myDataset\", new()\n {\n Name = \"my-dataset-name\",\n DatasetType = AwsNative.Personalize.DatasetType.Interactions,\n DatasetGroupArn = \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n SchemaArn = \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n DatasetImportJob = new AwsNative.Personalize.Inputs.DatasetImportJobArgs\n {\n JobName = \"my-import-job-name\",\n DataSource = new AwsNative.Personalize.Inputs.DatasetImportJobDataSourcePropertiesArgs\n {\n DataLocation = \"s3://bucket-name/file-name.csv\",\n },\n RoleArn = \"arn:aws:iam::123456789012:role/personalize-role\",\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/personalize\"\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 := personalize.NewDataset(ctx, \"myDataset\", \u0026personalize.DatasetArgs{\n\t\t\tName: pulumi.String(\"my-dataset-name\"),\n\t\t\tDatasetType: personalize.DatasetTypeInteractions,\n\t\t\tDatasetGroupArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\"),\n\t\t\tSchemaArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\"),\n\t\t\tDatasetImportJob: \u0026personalize.DatasetImportJobArgs{\n\t\t\t\tJobName: pulumi.String(\"my-import-job-name\"),\n\t\t\t\tDataSource: \u0026personalize.DatasetImportJobDataSourcePropertiesArgs{\n\t\t\t\t\tDataLocation: pulumi.String(\"s3://bucket-name/file-name.csv\"),\n\t\t\t\t},\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/personalize-role\"),\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 myDataset = new aws_native.personalize.Dataset(\"myDataset\", {\n name: \"my-dataset-name\",\n datasetType: aws_native.personalize.DatasetType.Interactions,\n datasetGroupArn: \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schemaArn: \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n datasetImportJob: {\n jobName: \"my-import-job-name\",\n dataSource: {\n dataLocation: \"s3://bucket-name/file-name.csv\",\n },\n roleArn: \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dataset = aws_native.personalize.Dataset(\"myDataset\",\n name=\"my-dataset-name\",\n dataset_type=aws_native.personalize.DatasetType.INTERACTIONS,\n dataset_group_arn=\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schema_arn=\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n dataset_import_job={\n \"job_name\": \"my-import-job-name\",\n \"data_source\": {\n \"data_location\": \"s3://bucket-name/file-name.csv\",\n },\n \"role_arn\": \"arn:aws:iam::123456789012:role/personalize-role\",\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 myDataset = new AwsNative.Personalize.Dataset(\"myDataset\", new()\n {\n Name = \"my-dataset-name\",\n DatasetType = AwsNative.Personalize.DatasetType.Interactions,\n DatasetGroupArn = \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n SchemaArn = \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n DatasetImportJob = new AwsNative.Personalize.Inputs.DatasetImportJobArgs\n {\n JobName = \"my-import-job-name\",\n DataSource = new AwsNative.Personalize.Inputs.DatasetImportJobDataSourcePropertiesArgs\n {\n DataLocation = \"s3://bucket-name/file-name.csv\",\n },\n RoleArn = \"arn:aws:iam::123456789012:role/personalize-role\",\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/personalize\"\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 := personalize.NewDataset(ctx, \"myDataset\", \u0026personalize.DatasetArgs{\n\t\t\tName: pulumi.String(\"my-dataset-name\"),\n\t\t\tDatasetType: personalize.DatasetTypeInteractions,\n\t\t\tDatasetGroupArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\"),\n\t\t\tSchemaArn: pulumi.String(\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\"),\n\t\t\tDatasetImportJob: \u0026personalize.DatasetImportJobArgs{\n\t\t\t\tJobName: pulumi.String(\"my-import-job-name\"),\n\t\t\t\tDataSource: \u0026personalize.DatasetImportJobDataSourcePropertiesArgs{\n\t\t\t\t\tDataLocation: pulumi.String(\"s3://bucket-name/file-name.csv\"),\n\t\t\t\t},\n\t\t\t\tRoleArn: pulumi.String(\"arn:aws:iam::123456789012:role/personalize-role\"),\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 myDataset = new aws_native.personalize.Dataset(\"myDataset\", {\n name: \"my-dataset-name\",\n datasetType: aws_native.personalize.DatasetType.Interactions,\n datasetGroupArn: \"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schemaArn: \"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n datasetImportJob: {\n jobName: \"my-import-job-name\",\n dataSource: {\n dataLocation: \"s3://bucket-name/file-name.csv\",\n },\n roleArn: \"arn:aws:iam::123456789012:role/personalize-role\",\n },\n});\n\n```\n\n```python\nimport pulumi\nimport pulumi_aws_native as aws_native\n\nmy_dataset = aws_native.personalize.Dataset(\"myDataset\",\n name=\"my-dataset-name\",\n dataset_type=aws_native.personalize.DatasetType.INTERACTIONS,\n dataset_group_arn=\"arn:aws:personalize:us-west-2:123456789012:dataset-group/dataset-group-name\",\n schema_arn=\"arn:aws:personalize:us-west-2:123456789012:schema/schema-name\",\n dataset_import_job={\n \"job_name\": \"my-import-job-name\",\n \"data_source\": {\n \"data_location\": \"s3://bucket-name/file-name.csv\",\n },\n \"role_arn\": \"arn:aws:iam::123456789012:role/personalize-role\",\n })\n\n```\n\n{{% /example %}}\n{{% /examples %}}\n", "properties": { @@ -255365,89 +256358,140 @@ "description": "The option to relax the validation that is required to create and update analyses, dashboards, and templates with definition objects. When you set this value to `LENIENT` , validation is skipped for specific errors." } }, - "type": "object", - "required": [ + "type": "object", + "required": [ + "analysisId", + "arn", + "awsAccountId", + "createdTime", + "dataSetArns", + "lastUpdatedTime", + "name" + ], + "inputProperties": { + "analysisId": { + "type": "string", + "description": "The ID for the analysis that you're creating. This ID displays in the URL of the analysis." + }, + "awsAccountId": { + "type": "string", + "description": "The ID of the AWS account where you are creating an analysis." + }, + "definition": { + "$ref": "#/types/aws-native:quicksight:AnalysisDefinition" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:quicksight:AnalysisError" + }, + "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" + }, + "folderArns": { + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "type": "string", + "description": "\u003cp\u003eThe descriptive name of the analysis.\u003c/p\u003e" + }, + "parameters": { + "$ref": "#/types/aws-native:quicksight:AnalysisParameters", + "description": "The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:quicksight:AnalysisResourcePermission" + }, + "description": "A structure that describes the principals and the resource-level permissions on an analysis. You can use the `Permissions` structure to grant permissions by providing a list of AWS Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).\n\nTo specify no permissions, omit `Permissions` ." + }, + "sheets": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:quicksight:AnalysisSheet" + }, + "description": "\u003cp\u003eA list of the associated sheets with the unique identifier and name of each sheet.\u003c/p\u003e" + }, + "sourceEntity": { + "$ref": "#/types/aws-native:quicksight:AnalysisSourceEntity", + "description": "A source entity to use for the analysis that you're creating. This metadata structure contains details that describe a source template and one or more datasets.\n\nEither a `SourceEntity` or a `Definition` must be provided in order for the request to be valid." + }, + "status": { + "$ref": "#/types/aws-native:quicksight:AnalysisResourceStatus", + "description": "Status associated with the analysis." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + }, + "description": "Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis." + }, + "themeArn": { + "type": "string", + "description": "\u003cp\u003eThe ARN of the theme of the analysis.\u003c/p\u003e" + }, + "validationStrategy": { + "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy", + "description": "The option to relax the validation that is required to create and update analyses, dashboards, and templates with definition objects. When you set this value to `LENIENT` , validation is skipped for specific errors." + } + }, + "requiredInputs": [ "analysisId", - "arn", - "awsAccountId", - "createdTime", - "dataSetArns", - "lastUpdatedTime", - "name" - ], - "inputProperties": { - "analysisId": { - "type": "string", - "description": "The ID for the analysis that you're creating. This ID displays in the URL of the analysis." + "awsAccountId" + ] + }, + "aws-native:quicksight:CustomPermissions": { + "description": "Definition of the AWS::QuickSight::CustomPermissions Resource Type.", + "properties": { + "arn": { + "type": "string" }, "awsAccountId": { "type": "string", - "description": "The ID of the AWS account where you are creating an analysis." - }, - "definition": { - "$ref": "#/types/aws-native:quicksight:AnalysisDefinition" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:quicksight:AnalysisError" - }, - "description": "\u003cp\u003eErrors associated with the analysis.\u003c/p\u003e" + "replaceOnChanges": true }, - "folderArns": { - "type": "array", - "items": { - "type": "string" - } + "capabilities": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilities" }, - "name": { + "customPermissionsName": { "type": "string", - "description": "\u003cp\u003eThe descriptive name of the analysis.\u003c/p\u003e" - }, - "parameters": { - "$ref": "#/types/aws-native:quicksight:AnalysisParameters", - "description": "The parameter names and override values that you want to use. An analysis can have any parameter type, and some parameters might accept multiple values." - }, - "permissions": { - "type": "array", - "items": { - "$ref": "#/types/aws-native:quicksight:AnalysisResourcePermission" - }, - "description": "A structure that describes the principals and the resource-level permissions on an analysis. You can use the `Permissions` structure to grant permissions by providing a list of AWS Identity and Access Management (IAM) action information for each principal listed by Amazon Resource Name (ARN).\n\nTo specify no permissions, omit `Permissions` ." + "replaceOnChanges": true }, - "sheets": { + "tags": { "type": "array", "items": { - "$ref": "#/types/aws-native:quicksight:AnalysisSheet" - }, - "description": "\u003cp\u003eA list of the associated sheets with the unique identifier and name of each sheet.\u003c/p\u003e" + "$ref": "#/types/aws-native:index:Tag" + } + } + }, + "type": "object", + "required": [ + "arn", + "awsAccountId", + "customPermissionsName" + ], + "inputProperties": { + "awsAccountId": { + "type": "string" }, - "sourceEntity": { - "$ref": "#/types/aws-native:quicksight:AnalysisSourceEntity", - "description": "A source entity to use for the analysis that you're creating. This metadata structure contains details that describe a source template and one or more datasets.\n\nEither a `SourceEntity` or a `Definition` must be provided in order for the request to be valid." + "capabilities": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilities" }, - "status": { - "$ref": "#/types/aws-native:quicksight:AnalysisResourceStatus", - "description": "Status associated with the analysis." + "customPermissionsName": { + "type": "string" }, "tags": { "type": "array", "items": { "$ref": "#/types/aws-native:index:Tag" - }, - "description": "Contains a map of the key-value pairs for the resource tag or tags assigned to the analysis." - }, - "themeArn": { - "type": "string", - "description": "\u003cp\u003eThe ARN of the theme of the analysis.\u003c/p\u003e" - }, - "validationStrategy": { - "$ref": "#/types/aws-native:quicksight:AnalysisValidationStrategy", - "description": "The option to relax the validation that is required to create and update analyses, dashboards, and templates with definition objects. When you set this value to `LENIENT` , validation is skipped for specific errors." + } } }, "requiredInputs": [ - "analysisId", "awsAccountId" ] }, @@ -287033,7 +288077,8 @@ "inputs": { "properties": { "idMappingTableIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID mapping table identifier that you want to retrieve." }, "membershipIdentifier": { "type": "string", @@ -287056,14 +288101,16 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID mapping table." }, "description": { "type": "string", "description": "The description of the ID mapping table." }, "idMappingTableIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID mapping table identifier that you want to retrieve." }, "inputReferenceProperties": { "$ref": "#/types/aws-native:cleanrooms:IdMappingTableInputReferenceProperties" @@ -287091,7 +288138,8 @@ "inputs": { "properties": { "idNamespaceAssociationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID namespace association that you want to retrieve." }, "membershipIdentifier": { "type": "string", @@ -287114,7 +288162,8 @@ "description": "The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association." }, "collaborationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the collaboration that contains this ID namespace association." }, "description": { "type": "string", @@ -287125,7 +288174,8 @@ "description": "The configuration settings for the ID mapping table." }, "idNamespaceAssociationIdentifier": { - "type": "string" + "type": "string", + "description": "The unique identifier of the ID namespace association that you want to retrieve." }, "inputReferenceProperties": { "$ref": "#/types/aws-native:cleanrooms:IdNamespaceAssociationInputReferenceProperties" @@ -289931,7 +290981,7 @@ }, "userPoolAddOns": { "$ref": "#/types/aws-native:cognito:UserPoolAddOns", - "description": "User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) ." + "description": "User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` .\n\nFor more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) ." }, "userPoolId": { "type": "string", @@ -290063,7 +291113,7 @@ "items": { "type": "string" }, - "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." + "description": "The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.\n\n\u003e If you don't specify a value for `ExplicitAuthFlows` , your user client supports `ALLOW_REFRESH_TOKEN_AUTH` , `ALLOW_USER_SRP_AUTH` , and `ALLOW_CUSTOM_AUTH` . \n\nValid values include:\n\n- `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` .\n\nTo activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher.\n- `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.\n- `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication.\n- `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.\n- `ALLOW_USER_SRP_AUTH` : Enable SRP-based authentication.\n- `ALLOW_REFRESH_TOKEN_AUTH` : Enable authflow to refresh tokens.\n\nIn some environments, you will see the values `ADMIN_NO_SRP_AUTH` , `CUSTOM_AUTH_FLOW_ONLY` , or `USER_PASSWORD_AUTH` . You can't assign these legacy `ExplicitAuthFlows` values to user pool clients at the same time as values that begin with `ALLOW_` ,\nlike `ALLOW_USER_SRP_AUTH` ." }, "idTokenValidity": { "type": "integer", @@ -292489,6 +293539,10 @@ "pathOptions": { "$ref": "#/types/aws-native:databrew:DatasetPathOptions", "description": "PathOptions" + }, + "source": { + "$ref": "#/types/aws-native:databrew:DatasetSource", + "description": "Source type of the dataset" } } } @@ -296846,7 +297900,7 @@ } }, "aws-native:ec2:getNetworkAcl": { - "description": "Specifies a network ACL for your VPC.", + "description": "Specifies a network ACL for your VPC.\n To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html).", "inputs": { "properties": { "id": { @@ -298768,6 +299822,12 @@ "type": "string" }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } } } } @@ -318305,6 +319365,187 @@ } } }, + "aws-native:pcs:getCluster": { + "description": "AWS::PCS::Cluster resource creates an AWS PCS cluster.", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the cluster." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the cluster." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterEndpoint" + }, + "description": "The list of endpoints available for interaction with the scheduler." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ClusterErrorInfo" + }, + "description": "The list of errors that occurred during cluster provisioning." + }, + "id": { + "type": "string", + "description": "The generated unique ID of the cluster." + }, + "status": { + "$ref": "#/types/aws-native:pcs:ClusterStatus", + "description": "The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + } + } + }, + "aws-native:pcs:getComputeNodeGroup": { + "description": "AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group.", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the compute node group." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "amiId": { + "type": "string", + "description": "The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template." + }, + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the compute node group." + }, + "customLaunchTemplate": { + "$ref": "#/types/aws-native:pcs:CustomLaunchTemplateProperties", + "description": "An Amazon EC2 launch template AWS PCS uses to launch compute nodes." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupErrorInfo" + }, + "description": "The list of errors that occurred during compute node group provisioning." + }, + "iamInstanceProfileArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly." + }, + "id": { + "type": "string", + "description": "The generated unique ID of the compute node group." + }, + "purchaseOption": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupPurchaseOption", + "description": "Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand." + }, + "scalingConfiguration": { + "$ref": "#/types/aws-native:pcs:ScalingConfigurationProperties", + "description": "Specifies the boundaries of the compute node group auto scaling." + }, + "slurmConfiguration": { + "$ref": "#/types/aws-native:pcs:SlurmConfigurationProperties", + "description": "Additional options related to the Slurm scheduler." + }, + "spotOptions": { + "$ref": "#/types/aws-native:pcs:SpotOptionsProperties", + "description": "Additional configuration when you specify SPOT as the purchase option." + }, + "status": { + "$ref": "#/types/aws-native:pcs:ComputeNodeGroupStatus", + "description": "The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group." + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + } + } + }, + "aws-native:pcs:getQueue": { + "description": "AWS::PCS::Queue resource creates an AWS PCS queue.", + "inputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the queue." + } + }, + "required": [ + "arn" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string", + "description": "The unique Amazon Resource Name (ARN) of the queue." + }, + "computeNodeGroupConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueComputeNodeGroupConfiguration" + }, + "description": "The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups." + }, + "errorInfo": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:pcs:QueueErrorInfo" + }, + "description": "The list of errors that occurred during queue provisioning." + }, + "id": { + "type": "string", + "description": "The generated unique ID of the queue." + }, + "status": { + "$ref": "#/types/aws-native:pcs:QueueStatus", + "description": "The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string." + } + } + } + }, "aws-native:personalize:getDataset": { "description": "Resource schema for AWS::Personalize::Dataset.", "inputs": { @@ -319316,6 +320557,39 @@ } } }, + "aws-native:quicksight:getCustomPermissions": { + "description": "Definition of the AWS::QuickSight::CustomPermissions Resource Type.", + "inputs": { + "properties": { + "awsAccountId": { + "type": "string" + }, + "customPermissionsName": { + "type": "string" + } + }, + "required": [ + "awsAccountId", + "customPermissionsName" + ] + }, + "outputs": { + "properties": { + "arn": { + "type": "string" + }, + "capabilities": { + "$ref": "#/types/aws-native:quicksight:CustomPermissionsCapabilities" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + } + } + } + }, "aws-native:quicksight:getDashboard": { "description": "Definition of the AWS::QuickSight::Dashboard Resource Type.", "inputs": { diff --git a/reports/missedAutonaming.json b/reports/missedAutonaming.json index ac5106fd14..8bd3aeba51 100644 --- a/reports/missedAutonaming.json +++ b/reports/missedAutonaming.json @@ -6041,6 +6041,12 @@ }, "description": "The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet." }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws-native:index:Tag" + } + }, "vpcEndpointType": { "$ref": "#/types/aws-native:ec2:VpcEndpointType", "description": "The type of endpoint.\n Default: Gateway" diff --git a/sdk/dotnet/CleanRooms/GetIdMappingTable.cs b/sdk/dotnet/CleanRooms/GetIdMappingTable.cs index b4e5ab6169..bfd69cdba9 100644 --- a/sdk/dotnet/CleanRooms/GetIdMappingTable.cs +++ b/sdk/dotnet/CleanRooms/GetIdMappingTable.cs @@ -33,6 +33,9 @@ public static Output Invoke(GetIdMappingTableInvokeArgs public sealed class GetIdMappingTableArgs : global::Pulumi.InvokeArgs { + /// + /// The unique identifier of the ID mapping table identifier that you want to retrieve. + /// [Input("idMappingTableIdentifier", required: true)] public string IdMappingTableIdentifier { get; set; } = null!; @@ -50,6 +53,9 @@ public GetIdMappingTableArgs() public sealed class GetIdMappingTableInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The unique identifier of the ID mapping table identifier that you want to retrieve. + /// [Input("idMappingTableIdentifier", required: true)] public Input IdMappingTableIdentifier { get; set; } = null!; @@ -77,11 +83,17 @@ public sealed class GetIdMappingTableResult /// The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. /// public readonly string? CollaborationArn; + /// + /// The unique identifier of the collaboration that contains this ID mapping table. + /// public readonly string? CollaborationIdentifier; /// /// The description of the ID mapping table. /// public readonly string? Description; + /// + /// The unique identifier of the ID mapping table identifier that you want to retrieve. + /// public readonly string? IdMappingTableIdentifier; public readonly Outputs.IdMappingTableInputReferenceProperties? InputReferenceProperties; /// diff --git a/sdk/dotnet/CleanRooms/GetIdNamespaceAssociation.cs b/sdk/dotnet/CleanRooms/GetIdNamespaceAssociation.cs index b4ee06cbed..2439fc871e 100644 --- a/sdk/dotnet/CleanRooms/GetIdNamespaceAssociation.cs +++ b/sdk/dotnet/CleanRooms/GetIdNamespaceAssociation.cs @@ -33,6 +33,9 @@ public static Output Invoke(GetIdNamespaceAssoc public sealed class GetIdNamespaceAssociationArgs : global::Pulumi.InvokeArgs { + /// + /// The unique identifier of the ID namespace association that you want to retrieve. + /// [Input("idNamespaceAssociationIdentifier", required: true)] public string IdNamespaceAssociationIdentifier { get; set; } = null!; @@ -50,6 +53,9 @@ public GetIdNamespaceAssociationArgs() public sealed class GetIdNamespaceAssociationInvokeArgs : global::Pulumi.InvokeArgs { + /// + /// The unique identifier of the ID namespace association that you want to retrieve. + /// [Input("idNamespaceAssociationIdentifier", required: true)] public Input IdNamespaceAssociationIdentifier { get; set; } = null!; @@ -77,6 +83,9 @@ public sealed class GetIdNamespaceAssociationResult /// The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. /// public readonly string? CollaborationArn; + /// + /// The unique identifier of the collaboration that contains this ID namespace association. + /// public readonly string? CollaborationIdentifier; /// /// The description of the ID namespace association. @@ -86,6 +95,9 @@ public sealed class GetIdNamespaceAssociationResult /// The configuration settings for the ID mapping table. /// public readonly Outputs.IdNamespaceAssociationIdMappingConfig? IdMappingConfig; + /// + /// The unique identifier of the ID namespace association that you want to retrieve. + /// public readonly string? IdNamespaceAssociationIdentifier; public readonly Outputs.IdNamespaceAssociationInputReferenceProperties? InputReferenceProperties; /// diff --git a/sdk/dotnet/CleanRooms/IdMappingTable.cs b/sdk/dotnet/CleanRooms/IdMappingTable.cs index 9deb012f88..aeb8a0419d 100644 --- a/sdk/dotnet/CleanRooms/IdMappingTable.cs +++ b/sdk/dotnet/CleanRooms/IdMappingTable.cs @@ -27,6 +27,9 @@ public partial class IdMappingTable : global::Pulumi.CustomResource [Output("collaborationArn")] public Output CollaborationArn { get; private set; } = null!; + /// + /// The unique identifier of the collaboration that contains this ID mapping table. + /// [Output("collaborationIdentifier")] public Output CollaborationIdentifier { get; private set; } = null!; @@ -36,6 +39,9 @@ public partial class IdMappingTable : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// The unique identifier of the ID mapping table identifier that you want to retrieve. + /// [Output("idMappingTableIdentifier")] public Output IdMappingTableIdentifier { get; private set; } = null!; diff --git a/sdk/dotnet/CleanRooms/IdNamespaceAssociation.cs b/sdk/dotnet/CleanRooms/IdNamespaceAssociation.cs index 54d9ab7ef3..f3baa3331f 100644 --- a/sdk/dotnet/CleanRooms/IdNamespaceAssociation.cs +++ b/sdk/dotnet/CleanRooms/IdNamespaceAssociation.cs @@ -27,6 +27,9 @@ public partial class IdNamespaceAssociation : global::Pulumi.CustomResource [Output("collaborationArn")] public Output CollaborationArn { get; private set; } = null!; + /// + /// The unique identifier of the collaboration that contains this ID namespace association. + /// [Output("collaborationIdentifier")] public Output CollaborationIdentifier { get; private set; } = null!; @@ -42,6 +45,9 @@ public partial class IdNamespaceAssociation : global::Pulumi.CustomResource [Output("idMappingConfig")] public Output IdMappingConfig { get; private set; } = null!; + /// + /// The unique identifier of the ID namespace association that you want to retrieve. + /// [Output("idNamespaceAssociationIdentifier")] public Output IdNamespaceAssociationIdentifier { get; private set; } = null!; diff --git a/sdk/dotnet/CloudFormation/Enums.cs b/sdk/dotnet/CloudFormation/Enums.cs index c2c971ca15..88d5816c0f 100644 --- a/sdk/dotnet/CloudFormation/Enums.cs +++ b/sdk/dotnet/CloudFormation/Enums.cs @@ -178,6 +178,7 @@ private GuardHookTargetOperation(string value) public static GuardHookTargetOperation Resource { get; } = new GuardHookTargetOperation("RESOURCE"); public static GuardHookTargetOperation Stack { get; } = new GuardHookTargetOperation("STACK"); public static GuardHookTargetOperation ChangeSet { get; } = new GuardHookTargetOperation("CHANGE_SET"); + public static GuardHookTargetOperation CloudControl { get; } = new GuardHookTargetOperation("CLOUD_CONTROL"); public static bool operator ==(GuardHookTargetOperation left, GuardHookTargetOperation right) => left.Equals(right); public static bool operator !=(GuardHookTargetOperation left, GuardHookTargetOperation right) => !left.Equals(right); @@ -432,6 +433,7 @@ private LambdaHookTargetOperation(string value) public static LambdaHookTargetOperation Resource { get; } = new LambdaHookTargetOperation("RESOURCE"); public static LambdaHookTargetOperation Stack { get; } = new LambdaHookTargetOperation("STACK"); public static LambdaHookTargetOperation ChangeSet { get; } = new LambdaHookTargetOperation("CHANGE_SET"); + public static LambdaHookTargetOperation CloudControl { get; } = new LambdaHookTargetOperation("CLOUD_CONTROL"); public static bool operator ==(LambdaHookTargetOperation left, LambdaHookTargetOperation right) => left.Equals(right); public static bool operator !=(LambdaHookTargetOperation left, LambdaHookTargetOperation right) => !left.Equals(right); diff --git a/sdk/dotnet/Cognito/GetUserPool.cs b/sdk/dotnet/Cognito/GetUserPool.cs index ed98a6b33f..e19d541ea6 100644 --- a/sdk/dotnet/Cognito/GetUserPool.cs +++ b/sdk/dotnet/Cognito/GetUserPool.cs @@ -162,9 +162,9 @@ public sealed class GetUserPoolResult /// public readonly Outputs.UserPoolUserAttributeUpdateSettings? UserAttributeUpdateSettings; /// - /// User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + /// User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . /// - /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . /// public readonly Outputs.UserPoolAddOns? UserPoolAddOns; /// diff --git a/sdk/dotnet/Cognito/GetUserPoolClient.cs b/sdk/dotnet/Cognito/GetUserPoolClient.cs index fef2671eae..ba47a12ce5 100644 --- a/sdk/dotnet/Cognito/GetUserPoolClient.cs +++ b/sdk/dotnet/Cognito/GetUserPoolClient.cs @@ -169,6 +169,8 @@ public sealed class GetUserPoolClientResult /// Valid values include: /// /// - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + /// + /// To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. /// - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. /// - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs index a305202107..d7ff1ae277 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolPasswordPolicyArgs.cs @@ -21,7 +21,7 @@ public sealed class UserPoolPasswordPolicyArgs : global::Pulumi.ResourceArgs /// /// The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . /// - /// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + /// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// [Input("passwordHistorySize")] public Input? PasswordHistorySize { get; set; } diff --git a/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs b/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs index 425bfffdd0..4a5485fe9d 100644 --- a/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs +++ b/sdk/dotnet/Cognito/Inputs/UserPoolPoliciesArgs.cs @@ -19,7 +19,7 @@ public sealed class UserPoolPoliciesArgs : global::Pulumi.ResourceArgs public Input? PasswordPolicy { get; set; } /// - /// The policy for allowed types of authentication in a user pool. + /// The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs b/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs index 5942e1e99d..335d0c4068 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolPasswordPolicy.cs @@ -20,7 +20,7 @@ public sealed class UserPoolPasswordPolicy /// /// The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . /// - /// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + /// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// public readonly int? PasswordHistorySize; /// diff --git a/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs b/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs index 15e2f34426..6ee6b87cc8 100644 --- a/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs +++ b/sdk/dotnet/Cognito/Outputs/UserPoolPolicies.cs @@ -18,7 +18,7 @@ public sealed class UserPoolPolicies /// public readonly Outputs.UserPoolPasswordPolicy? PasswordPolicy; /// - /// The policy for allowed types of authentication in a user pool. + /// The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// /// This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . /// diff --git a/sdk/dotnet/Cognito/UserPool.cs b/sdk/dotnet/Cognito/UserPool.cs index 9ce3c3b4f2..174fc14d05 100644 --- a/sdk/dotnet/Cognito/UserPool.cs +++ b/sdk/dotnet/Cognito/UserPool.cs @@ -170,9 +170,9 @@ public partial class UserPool : global::Pulumi.CustomResource public Output UserAttributeUpdateSettings { get; private set; } = null!; /// - /// User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + /// User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . /// - /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . /// [Output("userPoolAddOns")] public Output UserPoolAddOns { get; private set; } = null!; @@ -449,9 +449,9 @@ public InputList Schema public Input? UserAttributeUpdateSettings { get; set; } /// - /// User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + /// User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . /// - /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + /// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . /// [Input("userPoolAddOns")] public Input? UserPoolAddOns { get; set; } diff --git a/sdk/dotnet/Cognito/UserPoolClient.cs b/sdk/dotnet/Cognito/UserPoolClient.cs index d323db7513..fe9f118b45 100644 --- a/sdk/dotnet/Cognito/UserPoolClient.cs +++ b/sdk/dotnet/Cognito/UserPoolClient.cs @@ -135,6 +135,8 @@ public partial class UserPoolClient : global::Pulumi.CustomResource /// Valid values include: /// /// - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + /// + /// To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. /// - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. /// - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -422,6 +424,8 @@ public InputList CallbackUrls /// Valid values include: /// /// - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + /// + /// To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. /// - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. /// - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. /// - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/dotnet/Cognito/UserPoolUser.cs b/sdk/dotnet/Cognito/UserPoolUser.cs index 7ef6ecf3c6..ab0b488575 100644 --- a/sdk/dotnet/Cognito/UserPoolUser.cs +++ b/sdk/dotnet/Cognito/UserPoolUser.cs @@ -20,7 +20,7 @@ public partial class UserPoolUser : global::Pulumi.CustomResource /// /// You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. /// - /// For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + /// For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . /// /// > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: /// > @@ -160,7 +160,7 @@ public sealed class UserPoolUserArgs : global::Pulumi.ResourceArgs /// /// You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. /// - /// For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + /// For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . /// /// > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: /// > diff --git a/sdk/dotnet/DataBrew/Dataset.cs b/sdk/dotnet/DataBrew/Dataset.cs index 7f91ff00ba..0febc33931 100644 --- a/sdk/dotnet/DataBrew/Dataset.cs +++ b/sdk/dotnet/DataBrew/Dataset.cs @@ -91,6 +91,12 @@ public partial class Dataset : global::Pulumi.CustomResource [Output("pathOptions")] public Output PathOptions { get; private set; } = null!; + /// + /// Source type of the dataset + /// + [Output("source")] + public Output Source { get; private set; } = null!; + /// /// Metadata tags that have been applied to the dataset. /// @@ -177,6 +183,12 @@ public sealed class DatasetArgs : global::Pulumi.ResourceArgs [Input("pathOptions")] public Input? PathOptions { get; set; } + /// + /// Source type of the dataset + /// + [Input("source")] + public Input? Source { get; set; } + [Input("tags")] private InputList? _tags; diff --git a/sdk/dotnet/DataBrew/Enums.cs b/sdk/dotnet/DataBrew/Enums.cs index e85189e1dd..a5e8d07ee8 100644 --- a/sdk/dotnet/DataBrew/Enums.cs +++ b/sdk/dotnet/DataBrew/Enums.cs @@ -134,6 +134,38 @@ private DatasetParameterType(string value) public override string ToString() => _value; } + /// + /// Source type of the dataset + /// + [EnumType] + public readonly struct DatasetSource : IEquatable + { + private readonly string _value; + + private DatasetSource(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static DatasetSource S3 { get; } = new DatasetSource("S3"); + public static DatasetSource DataCatalog { get; } = new DatasetSource("DATA-CATALOG"); + public static DatasetSource Database { get; } = new DatasetSource("DATABASE"); + + public static bool operator ==(DatasetSource left, DatasetSource right) => left.Equals(right); + public static bool operator !=(DatasetSource left, DatasetSource right) => !left.Equals(right); + + public static explicit operator string(DatasetSource value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is DatasetSource other && Equals(other); + public bool Equals(DatasetSource other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + /// /// Database table name /// diff --git a/sdk/dotnet/DataBrew/GetDataset.cs b/sdk/dotnet/DataBrew/GetDataset.cs index 21f85ff8c1..2ca065da0f 100644 --- a/sdk/dotnet/DataBrew/GetDataset.cs +++ b/sdk/dotnet/DataBrew/GetDataset.cs @@ -79,6 +79,10 @@ public sealed class GetDatasetResult /// PathOptions /// public readonly Outputs.DatasetPathOptions? PathOptions; + /// + /// Source type of the dataset + /// + public readonly Pulumi.AwsNative.DataBrew.DatasetSource? Source; [OutputConstructor] private GetDatasetResult( @@ -88,12 +92,15 @@ private GetDatasetResult( Outputs.DatasetInput? input, - Outputs.DatasetPathOptions? pathOptions) + Outputs.DatasetPathOptions? pathOptions, + + Pulumi.AwsNative.DataBrew.DatasetSource? source) { Format = format; FormatOptions = formatOptions; Input = input; PathOptions = pathOptions; + Source = source; } } } diff --git a/sdk/dotnet/DataBrew/Inputs/DatasetS3LocationArgs.cs b/sdk/dotnet/DataBrew/Inputs/DatasetS3LocationArgs.cs index 4314dc9a1a..515769ad0d 100644 --- a/sdk/dotnet/DataBrew/Inputs/DatasetS3LocationArgs.cs +++ b/sdk/dotnet/DataBrew/Inputs/DatasetS3LocationArgs.cs @@ -21,6 +21,9 @@ public sealed class DatasetS3LocationArgs : global::Pulumi.ResourceArgs [Input("bucket", required: true)] public Input Bucket { get; set; } = null!; + [Input("bucketOwner")] + public Input? BucketOwner { get; set; } + /// /// The unique name of the object in the bucket. /// diff --git a/sdk/dotnet/DataBrew/Outputs/DatasetS3Location.cs b/sdk/dotnet/DataBrew/Outputs/DatasetS3Location.cs index 5ebfc1a06c..dfebfda0a2 100644 --- a/sdk/dotnet/DataBrew/Outputs/DatasetS3Location.cs +++ b/sdk/dotnet/DataBrew/Outputs/DatasetS3Location.cs @@ -20,6 +20,7 @@ public sealed class DatasetS3Location /// The Amazon S3 bucket name. /// public readonly string Bucket; + public readonly string? BucketOwner; /// /// The unique name of the object in the bucket. /// @@ -29,9 +30,12 @@ public sealed class DatasetS3Location private DatasetS3Location( string bucket, + string? bucketOwner, + string? key) { Bucket = bucket; + BucketOwner = bucketOwner; Key = key; } } diff --git a/sdk/dotnet/DataZone/Enums.cs b/sdk/dotnet/DataZone/Enums.cs index 27d4f21587..26368f978f 100644 --- a/sdk/dotnet/DataZone/Enums.cs +++ b/sdk/dotnet/DataZone/Enums.cs @@ -288,6 +288,9 @@ private ProjectMembershipUserDesignation(string value) public static ProjectMembershipUserDesignation ProjectOwner { get; } = new ProjectMembershipUserDesignation("PROJECT_OWNER"); public static ProjectMembershipUserDesignation ProjectContributor { get; } = new ProjectMembershipUserDesignation("PROJECT_CONTRIBUTOR"); + public static ProjectMembershipUserDesignation ProjectCatalogViewer { get; } = new ProjectMembershipUserDesignation("PROJECT_CATALOG_VIEWER"); + public static ProjectMembershipUserDesignation ProjectCatalogConsumer { get; } = new ProjectMembershipUserDesignation("PROJECT_CATALOG_CONSUMER"); + public static ProjectMembershipUserDesignation ProjectCatalogSteward { get; } = new ProjectMembershipUserDesignation("PROJECT_CATALOG_STEWARD"); public static bool operator ==(ProjectMembershipUserDesignation left, ProjectMembershipUserDesignation right) => left.Equals(right); public static bool operator !=(ProjectMembershipUserDesignation left, ProjectMembershipUserDesignation right) => !left.Equals(right); diff --git a/sdk/dotnet/DataZone/SubscriptionTarget.cs b/sdk/dotnet/DataZone/SubscriptionTarget.cs index 0a720fbe8f..89174bdecc 100644 --- a/sdk/dotnet/DataZone/SubscriptionTarget.cs +++ b/sdk/dotnet/DataZone/SubscriptionTarget.cs @@ -73,7 +73,7 @@ public partial class SubscriptionTarget : global::Pulumi.CustomResource /// The manage access role that is used to create the subscription target. /// [Output("manageAccessRole")] - public Output ManageAccessRole { get; private set; } = null!; + public Output ManageAccessRole { get; private set; } = null!; /// /// The name of the subscription target. @@ -207,8 +207,8 @@ public InputList AuthorizedPrincipals /// /// The manage access role that is used to create the subscription target. /// - [Input("manageAccessRole", required: true)] - public Input ManageAccessRole { get; set; } = null!; + [Input("manageAccessRole")] + public Input? ManageAccessRole { get; set; } /// /// The name of the subscription target. diff --git a/sdk/dotnet/Ec2/GetNetworkAcl.cs b/sdk/dotnet/Ec2/GetNetworkAcl.cs index 21b762ebb8..97631061ec 100644 --- a/sdk/dotnet/Ec2/GetNetworkAcl.cs +++ b/sdk/dotnet/Ec2/GetNetworkAcl.cs @@ -13,18 +13,21 @@ public static class GetNetworkAcl { /// /// Specifies a network ACL for your VPC. + /// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). /// public static Task InvokeAsync(GetNetworkAclArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:ec2:getNetworkAcl", args ?? new GetNetworkAclArgs(), options.WithDefaults()); /// /// Specifies a network ACL for your VPC. + /// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). /// public static Output Invoke(GetNetworkAclInvokeArgs args, InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.Invoke("aws-native:ec2:getNetworkAcl", args ?? new GetNetworkAclInvokeArgs(), options.WithDefaults()); /// /// Specifies a network ACL for your VPC. + /// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). /// public static Output Invoke(GetNetworkAclInvokeArgs args, InvokeOutputOptions options) => global::Pulumi.Deployment.Instance.Invoke("aws-native:ec2:getNetworkAcl", args ?? new GetNetworkAclInvokeArgs(), options.WithDefaults()); diff --git a/sdk/dotnet/Ec2/GetVpcEndpoint.cs b/sdk/dotnet/Ec2/GetVpcEndpoint.cs index 5f2f3c062b..1cea4f9ff1 100644 --- a/sdk/dotnet/Ec2/GetVpcEndpoint.cs +++ b/sdk/dotnet/Ec2/GetVpcEndpoint.cs @@ -132,6 +132,7 @@ public sealed class GetVpcEndpointResult /// The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. /// public readonly ImmutableArray SubnetIds; + public readonly ImmutableArray Tags; [OutputConstructor] private GetVpcEndpointResult( @@ -155,7 +156,9 @@ private GetVpcEndpointResult( ImmutableArray securityGroupIds, - ImmutableArray subnetIds) + ImmutableArray subnetIds, + + ImmutableArray tags) { CreationTimestamp = creationTimestamp; DnsEntries = dnsEntries; @@ -168,6 +171,7 @@ private GetVpcEndpointResult( RouteTableIds = routeTableIds; SecurityGroupIds = securityGroupIds; SubnetIds = subnetIds; + Tags = tags; } } } diff --git a/sdk/dotnet/Ec2/Inputs/Ec2FleetBaselinePerformanceFactorsRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/Ec2FleetBaselinePerformanceFactorsRequestArgs.cs new file mode 100644 index 0000000000..d017221436 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/Ec2FleetBaselinePerformanceFactorsRequestArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 Ec2FleetBaselinePerformanceFactorsRequestArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + public Ec2FleetBaselinePerformanceFactorsRequestArgs() + { + } + public static new Ec2FleetBaselinePerformanceFactorsRequestArgs Empty => new Ec2FleetBaselinePerformanceFactorsRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/Ec2FleetCpuPerformanceFactorRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/Ec2FleetCpuPerformanceFactorRequestArgs.cs new file mode 100644 index 0000000000..30a8f6f50f --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/Ec2FleetCpuPerformanceFactorRequestArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 Ec2FleetCpuPerformanceFactorRequestArgs : global::Pulumi.ResourceArgs + { + [Input("references")] + private InputList? _references; + public InputList References + { + get => _references ?? (_references = new InputList()); + set => _references = value; + } + + public Ec2FleetCpuPerformanceFactorRequestArgs() + { + } + public static new Ec2FleetCpuPerformanceFactorRequestArgs Empty => new Ec2FleetCpuPerformanceFactorRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/Ec2FleetInstanceRequirementsRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/Ec2FleetInstanceRequirementsRequestArgs.cs index ed465ed782..1e93990f37 100644 --- a/sdk/dotnet/Ec2/Inputs/Ec2FleetInstanceRequirementsRequestArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/Ec2FleetInstanceRequirementsRequestArgs.cs @@ -134,6 +134,9 @@ public InputList AllowedInstanceTypes [Input("baselineEbsBandwidthMbps")] public Input? BaselineEbsBandwidthMbps { get; set; } + [Input("baselinePerformanceFactors")] + public Input? BaselinePerformanceFactors { get; set; } + /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . /// diff --git a/sdk/dotnet/Ec2/Inputs/Ec2FleetPerformanceFactorReferenceRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/Ec2FleetPerformanceFactorReferenceRequestArgs.cs new file mode 100644 index 0000000000..18b1b9d836 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/Ec2FleetPerformanceFactorReferenceRequestArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 Ec2FleetPerformanceFactorReferenceRequestArgs : global::Pulumi.ResourceArgs + { + [Input("instanceFamily")] + public Input? InstanceFamily { get; set; } + + public Ec2FleetPerformanceFactorReferenceRequestArgs() + { + } + public static new Ec2FleetPerformanceFactorReferenceRequestArgs Empty => new Ec2FleetPerformanceFactorReferenceRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/SpotFleetBaselinePerformanceFactorsRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotFleetBaselinePerformanceFactorsRequestArgs.cs new file mode 100644 index 0000000000..913d7ed037 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/SpotFleetBaselinePerformanceFactorsRequestArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 SpotFleetBaselinePerformanceFactorsRequestArgs : global::Pulumi.ResourceArgs + { + [Input("cpu")] + public Input? Cpu { get; set; } + + public SpotFleetBaselinePerformanceFactorsRequestArgs() + { + } + public static new SpotFleetBaselinePerformanceFactorsRequestArgs Empty => new SpotFleetBaselinePerformanceFactorsRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/SpotFleetCpuPerformanceFactorRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotFleetCpuPerformanceFactorRequestArgs.cs new file mode 100644 index 0000000000..b1a417c87b --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/SpotFleetCpuPerformanceFactorRequestArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 SpotFleetCpuPerformanceFactorRequestArgs : global::Pulumi.ResourceArgs + { + [Input("references")] + private InputList? _references; + public InputList References + { + get => _references ?? (_references = new InputList()); + set => _references = value; + } + + public SpotFleetCpuPerformanceFactorRequestArgs() + { + } + public static new SpotFleetCpuPerformanceFactorRequestArgs Empty => new SpotFleetCpuPerformanceFactorRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/Inputs/SpotFleetInstanceRequirementsRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotFleetInstanceRequirementsRequestArgs.cs index d4751883ed..d51e220649 100644 --- a/sdk/dotnet/Ec2/Inputs/SpotFleetInstanceRequirementsRequestArgs.cs +++ b/sdk/dotnet/Ec2/Inputs/SpotFleetInstanceRequirementsRequestArgs.cs @@ -134,6 +134,9 @@ public InputList AllowedInstanceTypes [Input("baselineEbsBandwidthMbps")] public Input? BaselineEbsBandwidthMbps { get; set; } + [Input("baselinePerformanceFactors")] + public Input? BaselinePerformanceFactors { get; set; } + /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . /// diff --git a/sdk/dotnet/Ec2/Inputs/SpotFleetPerformanceFactorReferenceRequestArgs.cs b/sdk/dotnet/Ec2/Inputs/SpotFleetPerformanceFactorReferenceRequestArgs.cs new file mode 100644 index 0000000000..c46bd50919 --- /dev/null +++ b/sdk/dotnet/Ec2/Inputs/SpotFleetPerformanceFactorReferenceRequestArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 SpotFleetPerformanceFactorReferenceRequestArgs : global::Pulumi.ResourceArgs + { + [Input("instanceFamily")] + public Input? InstanceFamily { get; set; } + + public SpotFleetPerformanceFactorReferenceRequestArgs() + { + } + public static new SpotFleetPerformanceFactorReferenceRequestArgs Empty => new SpotFleetPerformanceFactorReferenceRequestArgs(); + } +} diff --git a/sdk/dotnet/Ec2/NetworkAcl.cs b/sdk/dotnet/Ec2/NetworkAcl.cs index ed12241f40..b4cf460128 100644 --- a/sdk/dotnet/Ec2/NetworkAcl.cs +++ b/sdk/dotnet/Ec2/NetworkAcl.cs @@ -11,6 +11,7 @@ namespace Pulumi.AwsNative.Ec2 { /// /// Specifies a network ACL for your VPC. + /// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). /// [AwsNativeResourceType("aws-native:ec2:NetworkAcl")] public partial class NetworkAcl : global::Pulumi.CustomResource diff --git a/sdk/dotnet/Ec2/Outputs/Ec2FleetBaselinePerformanceFactorsRequest.cs b/sdk/dotnet/Ec2/Outputs/Ec2FleetBaselinePerformanceFactorsRequest.cs new file mode 100644 index 0000000000..ec75768d78 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/Ec2FleetBaselinePerformanceFactorsRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class Ec2FleetBaselinePerformanceFactorsRequest + { + public readonly Outputs.Ec2FleetCpuPerformanceFactorRequest? Cpu; + + [OutputConstructor] + private Ec2FleetBaselinePerformanceFactorsRequest(Outputs.Ec2FleetCpuPerformanceFactorRequest? cpu) + { + Cpu = cpu; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/Ec2FleetCpuPerformanceFactorRequest.cs b/sdk/dotnet/Ec2/Outputs/Ec2FleetCpuPerformanceFactorRequest.cs new file mode 100644 index 0000000000..a7721f9949 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/Ec2FleetCpuPerformanceFactorRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class Ec2FleetCpuPerformanceFactorRequest + { + public readonly ImmutableArray References; + + [OutputConstructor] + private Ec2FleetCpuPerformanceFactorRequest(ImmutableArray references) + { + References = references; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/Ec2FleetInstanceRequirementsRequest.cs b/sdk/dotnet/Ec2/Outputs/Ec2FleetInstanceRequirementsRequest.cs index 8980990ddf..12d067b76b 100644 --- a/sdk/dotnet/Ec2/Outputs/Ec2FleetInstanceRequirementsRequest.cs +++ b/sdk/dotnet/Ec2/Outputs/Ec2FleetInstanceRequirementsRequest.cs @@ -95,6 +95,7 @@ public sealed class Ec2FleetInstanceRequirementsRequest /// Default: No minimum or maximum limits /// public readonly Outputs.Ec2FleetBaselineEbsBandwidthMbpsRequest? BaselineEbsBandwidthMbps; + public readonly Outputs.Ec2FleetBaselinePerformanceFactorsRequest? BaselinePerformanceFactors; /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . /// @@ -256,6 +257,8 @@ private Ec2FleetInstanceRequirementsRequest( Outputs.Ec2FleetBaselineEbsBandwidthMbpsRequest? baselineEbsBandwidthMbps, + Outputs.Ec2FleetBaselinePerformanceFactorsRequest? baselinePerformanceFactors, + Pulumi.AwsNative.Ec2.Ec2FleetInstanceRequirementsRequestBurstablePerformance? burstablePerformance, ImmutableArray cpuManufacturers, @@ -296,6 +299,7 @@ private Ec2FleetInstanceRequirementsRequest( AllowedInstanceTypes = allowedInstanceTypes; BareMetal = bareMetal; BaselineEbsBandwidthMbps = baselineEbsBandwidthMbps; + BaselinePerformanceFactors = baselinePerformanceFactors; BurstablePerformance = burstablePerformance; CpuManufacturers = cpuManufacturers; ExcludedInstanceTypes = excludedInstanceTypes; diff --git a/sdk/dotnet/Ec2/Outputs/Ec2FleetPerformanceFactorReferenceRequest.cs b/sdk/dotnet/Ec2/Outputs/Ec2FleetPerformanceFactorReferenceRequest.cs new file mode 100644 index 0000000000..c84e5de518 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/Ec2FleetPerformanceFactorReferenceRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class Ec2FleetPerformanceFactorReferenceRequest + { + public readonly string? InstanceFamily; + + [OutputConstructor] + private Ec2FleetPerformanceFactorReferenceRequest(string? instanceFamily) + { + InstanceFamily = instanceFamily; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/SpotFleetBaselinePerformanceFactorsRequest.cs b/sdk/dotnet/Ec2/Outputs/SpotFleetBaselinePerformanceFactorsRequest.cs new file mode 100644 index 0000000000..d847af86dd --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/SpotFleetBaselinePerformanceFactorsRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class SpotFleetBaselinePerformanceFactorsRequest + { + public readonly Outputs.SpotFleetCpuPerformanceFactorRequest? Cpu; + + [OutputConstructor] + private SpotFleetBaselinePerformanceFactorsRequest(Outputs.SpotFleetCpuPerformanceFactorRequest? cpu) + { + Cpu = cpu; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/SpotFleetCpuPerformanceFactorRequest.cs b/sdk/dotnet/Ec2/Outputs/SpotFleetCpuPerformanceFactorRequest.cs new file mode 100644 index 0000000000..7b1fd6284e --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/SpotFleetCpuPerformanceFactorRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class SpotFleetCpuPerformanceFactorRequest + { + public readonly ImmutableArray References; + + [OutputConstructor] + private SpotFleetCpuPerformanceFactorRequest(ImmutableArray references) + { + References = references; + } + } +} diff --git a/sdk/dotnet/Ec2/Outputs/SpotFleetInstanceRequirementsRequest.cs b/sdk/dotnet/Ec2/Outputs/SpotFleetInstanceRequirementsRequest.cs index e2f450d366..96149b22b9 100644 --- a/sdk/dotnet/Ec2/Outputs/SpotFleetInstanceRequirementsRequest.cs +++ b/sdk/dotnet/Ec2/Outputs/SpotFleetInstanceRequirementsRequest.cs @@ -95,6 +95,7 @@ public sealed class SpotFleetInstanceRequirementsRequest /// Default: No minimum or maximum limits /// public readonly Outputs.SpotFleetBaselineEbsBandwidthMbpsRequest? BaselineEbsBandwidthMbps; + public readonly Outputs.SpotFleetBaselinePerformanceFactorsRequest? BaselinePerformanceFactors; /// /// Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . /// @@ -256,6 +257,8 @@ private SpotFleetInstanceRequirementsRequest( Outputs.SpotFleetBaselineEbsBandwidthMbpsRequest? baselineEbsBandwidthMbps, + Outputs.SpotFleetBaselinePerformanceFactorsRequest? baselinePerformanceFactors, + Pulumi.AwsNative.Ec2.SpotFleetInstanceRequirementsRequestBurstablePerformance? burstablePerformance, ImmutableArray cpuManufacturers, @@ -296,6 +299,7 @@ private SpotFleetInstanceRequirementsRequest( AllowedInstanceTypes = allowedInstanceTypes; BareMetal = bareMetal; BaselineEbsBandwidthMbps = baselineEbsBandwidthMbps; + BaselinePerformanceFactors = baselinePerformanceFactors; BurstablePerformance = burstablePerformance; CpuManufacturers = cpuManufacturers; ExcludedInstanceTypes = excludedInstanceTypes; diff --git a/sdk/dotnet/Ec2/Outputs/SpotFleetPerformanceFactorReferenceRequest.cs b/sdk/dotnet/Ec2/Outputs/SpotFleetPerformanceFactorReferenceRequest.cs new file mode 100644 index 0000000000..a1fca217c6 --- /dev/null +++ b/sdk/dotnet/Ec2/Outputs/SpotFleetPerformanceFactorReferenceRequest.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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 +{ + + [OutputType] + public sealed class SpotFleetPerformanceFactorReferenceRequest + { + public readonly string? InstanceFamily; + + [OutputConstructor] + private SpotFleetPerformanceFactorReferenceRequest(string? instanceFamily) + { + InstanceFamily = instanceFamily; + } + } +} diff --git a/sdk/dotnet/Ec2/VpcEndpoint.cs b/sdk/dotnet/Ec2/VpcEndpoint.cs index 21d6a64233..3600156ad3 100644 --- a/sdk/dotnet/Ec2/VpcEndpoint.cs +++ b/sdk/dotnet/Ec2/VpcEndpoint.cs @@ -106,6 +106,9 @@ public partial class VpcEndpoint : global::Pulumi.CustomResource [Output("subnetIds")] public Output> SubnetIds { get; private set; } = null!; + [Output("tags")] + public Output> Tags { get; private set; } = null!; + /// /// The type of endpoint. /// Default: Gateway @@ -245,6 +248,14 @@ public InputList SubnetIds set => _subnetIds = value; } + [Input("tags")] + private InputList? _tags; + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + /// /// The type of endpoint. /// Default: Gateway diff --git a/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs b/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs index d2dbd870ea..00235b290f 100644 --- a/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs +++ b/sdk/dotnet/Efs/Inputs/FileSystemReplicationDestinationArgs.cs @@ -42,12 +42,21 @@ public sealed class FileSystemReplicationDestinationArgs : global::Pulumi.Resour [Input("region")] public Input? Region { get; set; } + /// + /// The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + /// [Input("roleArn")] public Input? RoleArn { get; set; } + /// + /// Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + /// [Input("status")] public Input? Status { get; set; } + /// + /// Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + /// [Input("statusMessage")] public Input? StatusMessage { get; set; } diff --git a/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs b/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs index e43a769ab0..2eeebee5c5 100644 --- a/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs +++ b/sdk/dotnet/Efs/Outputs/FileSystemReplicationDestination.cs @@ -35,8 +35,17 @@ public sealed class FileSystemReplicationDestination /// For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. /// public readonly string? Region; + /// + /// The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + /// public readonly string? RoleArn; + /// + /// Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + /// public readonly string? Status; + /// + /// Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + /// public readonly string? StatusMessage; [OutputConstructor] diff --git a/sdk/dotnet/Logs/Inputs/IntegrationOpenSearchResourceConfigArgs.cs b/sdk/dotnet/Logs/Inputs/IntegrationOpenSearchResourceConfigArgs.cs index 4481e417e7..9fb4eb2e24 100644 --- a/sdk/dotnet/Logs/Inputs/IntegrationOpenSearchResourceConfigArgs.cs +++ b/sdk/dotnet/Logs/Inputs/IntegrationOpenSearchResourceConfigArgs.cs @@ -24,7 +24,7 @@ public sealed class IntegrationOpenSearchResourceConfigArgs : global::Pulumi.Res /// /// Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. /// - /// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + /// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . /// public InputList DashboardViewerPrincipals { @@ -33,7 +33,7 @@ public InputList DashboardViewerPrincipals } /// - /// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + /// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. /// [Input("dataSourceRoleArn", required: true)] public Input DataSourceRoleArn { get; set; } = null!; diff --git a/sdk/dotnet/Logs/Outputs/IntegrationOpenSearchResourceConfig.cs b/sdk/dotnet/Logs/Outputs/IntegrationOpenSearchResourceConfig.cs index 053671c546..de40f13a92 100644 --- a/sdk/dotnet/Logs/Outputs/IntegrationOpenSearchResourceConfig.cs +++ b/sdk/dotnet/Logs/Outputs/IntegrationOpenSearchResourceConfig.cs @@ -20,11 +20,11 @@ public sealed class IntegrationOpenSearchResourceConfig /// /// Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. /// - /// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + /// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . /// public readonly ImmutableArray DashboardViewerPrincipals; /// - /// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + /// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. /// public readonly string DataSourceRoleArn; /// diff --git a/sdk/dotnet/Pcs/Cluster.cs b/sdk/dotnet/Pcs/Cluster.cs new file mode 100644 index 0000000000..84ac83e7c4 --- /dev/null +++ b/sdk/dotnet/Pcs/Cluster.cs @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + /// + /// AWS::PCS::Cluster resource creates an AWS PCS cluster. + /// + [AwsNativeResourceType("aws-native:pcs:Cluster")] + public partial class Cluster : global::Pulumi.CustomResource + { + /// + /// The unique Amazon Resource Name (ARN) of the cluster. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The generated unique ID of the cluster. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The list of endpoints available for interaction with the scheduler. + /// + [Output("endpoints")] + public Output> Endpoints { get; private set; } = null!; + + /// + /// The list of errors that occurred during cluster provisioning. + /// + [Output("errorInfo")] + public Output> ErrorInfo { get; private set; } = null!; + + /// + /// The name that identifies the cluster. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The networking configuration for the cluster's control plane. + /// + [Output("networking")] + public Output Networking { get; private set; } = null!; + + /// + /// The cluster management and job scheduling software associated with the cluster. + /// + [Output("scheduler")] + public Output Scheduler { get; private set; } = null!; + + /// + /// The size of the cluster. + /// + [Output("size")] + public Output Size { get; private set; } = null!; + + /// + /// Additional options related to the Slurm scheduler. + /// + [Output("slurmConfiguration")] + public Output SlurmConfiguration { get; private set; } = null!; + + /// + /// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a Cluster 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 Cluster(string name, ClusterArgs args, CustomResourceOptions? options = null) + : base("aws-native:pcs:Cluster", name, args ?? new ClusterArgs(), MakeResourceOptions(options, "")) + { + } + + private Cluster(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:pcs:Cluster", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "name", + "networking", + "scheduler", + "size", + "slurmConfiguration", + }, + }; + 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 Cluster 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 Cluster Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Cluster(name, id, options); + } + } + + public sealed class ClusterArgs : global::Pulumi.ResourceArgs + { + /// + /// The name that identifies the cluster. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The networking configuration for the cluster's control plane. + /// + [Input("networking", required: true)] + public Input Networking { get; set; } = null!; + + /// + /// The cluster management and job scheduling software associated with the cluster. + /// + [Input("scheduler", required: true)] + public Input Scheduler { get; set; } = null!; + + /// + /// The size of the cluster. + /// + [Input("size", required: true)] + public Input Size { get; set; } = null!; + + /// + /// Additional options related to the Slurm scheduler. + /// + [Input("slurmConfiguration")] + public Input? SlurmConfiguration { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ClusterArgs() + { + } + public static new ClusterArgs Empty => new ClusterArgs(); + } +} diff --git a/sdk/dotnet/Pcs/ComputeNodeGroup.cs b/sdk/dotnet/Pcs/ComputeNodeGroup.cs new file mode 100644 index 0000000000..c03e1c7fb0 --- /dev/null +++ b/sdk/dotnet/Pcs/ComputeNodeGroup.cs @@ -0,0 +1,260 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + /// + /// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + /// + [AwsNativeResourceType("aws-native:pcs:ComputeNodeGroup")] + public partial class ComputeNodeGroup : global::Pulumi.CustomResource + { + /// + /// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + /// + [Output("amiId")] + public Output AmiId { get; private set; } = null!; + + /// + /// The unique Amazon Resource Name (ARN) of the compute node group. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The generated unique ID of the compute node group. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The ID of the cluster of the compute node group. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + /// + [Output("customLaunchTemplate")] + public Output CustomLaunchTemplate { get; private set; } = null!; + + /// + /// The list of errors that occurred during compute node group provisioning. + /// + [Output("errorInfo")] + public Output> ErrorInfo { get; private set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + /// + [Output("iamInstanceProfileArn")] + public Output IamInstanceProfileArn { get; private set; } = null!; + + /// + /// A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + /// + [Output("instanceConfigs")] + public Output> InstanceConfigs { get; private set; } = null!; + + /// + /// The name that identifies the compute node group. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + /// + [Output("purchaseOption")] + public Output PurchaseOption { get; private set; } = null!; + + /// + /// Specifies the boundaries of the compute node group auto scaling. + /// + [Output("scalingConfiguration")] + public Output ScalingConfiguration { get; private set; } = null!; + + /// + /// Additional options related to the Slurm scheduler. + /// + [Output("slurmConfiguration")] + public Output SlurmConfiguration { get; private set; } = null!; + + /// + /// Additional configuration when you specify SPOT as the purchase option. + /// + [Output("spotOptions")] + public Output SpotOptions { get; private set; } = null!; + + /// + /// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + /// + [Output("subnetIds")] + public Output> SubnetIds { get; private set; } = null!; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a ComputeNodeGroup 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 ComputeNodeGroup(string name, ComputeNodeGroupArgs args, CustomResourceOptions? options = null) + : base("aws-native:pcs:ComputeNodeGroup", name, args ?? new ComputeNodeGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private ComputeNodeGroup(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:pcs:ComputeNodeGroup", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "clusterId", + "instanceConfigs[*]", + "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 ComputeNodeGroup 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 ComputeNodeGroup Get(string name, Input id, CustomResourceOptions? options = null) + { + return new ComputeNodeGroup(name, id, options); + } + } + + public sealed class ComputeNodeGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + /// + [Input("amiId")] + public Input? AmiId { get; set; } + + /// + /// The ID of the cluster of the compute node group. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + /// + /// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + /// + [Input("customLaunchTemplate", required: true)] + public Input CustomLaunchTemplate { get; set; } = null!; + + /// + /// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + /// + [Input("iamInstanceProfileArn", required: true)] + public Input IamInstanceProfileArn { get; set; } = null!; + + [Input("instanceConfigs", required: true)] + private InputList? _instanceConfigs; + + /// + /// A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + /// + public InputList InstanceConfigs + { + get => _instanceConfigs ?? (_instanceConfigs = new InputList()); + set => _instanceConfigs = value; + } + + /// + /// The name that identifies the compute node group. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + /// + [Input("purchaseOption")] + public Input? PurchaseOption { get; set; } + + /// + /// Specifies the boundaries of the compute node group auto scaling. + /// + [Input("scalingConfiguration", required: true)] + public Input ScalingConfiguration { get; set; } = null!; + + /// + /// Additional options related to the Slurm scheduler. + /// + [Input("slurmConfiguration")] + public Input? SlurmConfiguration { get; set; } + + /// + /// Additional configuration when you specify SPOT as the purchase option. + /// + [Input("spotOptions")] + public Input? SpotOptions { get; set; } + + [Input("subnetIds", required: true)] + private InputList? _subnetIds; + + /// + /// The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ComputeNodeGroupArgs() + { + } + public static new ComputeNodeGroupArgs Empty => new ComputeNodeGroupArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Enums.cs b/sdk/dotnet/Pcs/Enums.cs new file mode 100644 index 0000000000..1b4f73e2e4 --- /dev/null +++ b/sdk/dotnet/Pcs/Enums.cs @@ -0,0 +1,273 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + /// + /// Indicates the type of endpoint running at the specific IP address. + /// + [EnumType] + public readonly struct ClusterEndpointType : IEquatable + { + private readonly string _value; + + private ClusterEndpointType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterEndpointType Slurmctld { get; } = new ClusterEndpointType("SLURMCTLD"); + public static ClusterEndpointType Slurmdbd { get; } = new ClusterEndpointType("SLURMDBD"); + + public static bool operator ==(ClusterEndpointType left, ClusterEndpointType right) => left.Equals(right); + public static bool operator !=(ClusterEndpointType left, ClusterEndpointType right) => !left.Equals(right); + + public static explicit operator string(ClusterEndpointType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterEndpointType other && Equals(other); + public bool Equals(ClusterEndpointType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The software AWS PCS uses to manage cluster scaling and job scheduling. + /// + [EnumType] + public readonly struct ClusterSchedulerPropertiesType : IEquatable + { + private readonly string _value; + + private ClusterSchedulerPropertiesType(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterSchedulerPropertiesType Slurm { get; } = new ClusterSchedulerPropertiesType("SLURM"); + + public static bool operator ==(ClusterSchedulerPropertiesType left, ClusterSchedulerPropertiesType right) => left.Equals(right); + public static bool operator !=(ClusterSchedulerPropertiesType left, ClusterSchedulerPropertiesType right) => !left.Equals(right); + + public static explicit operator string(ClusterSchedulerPropertiesType value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterSchedulerPropertiesType other && Equals(other); + public bool Equals(ClusterSchedulerPropertiesType other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The size of the cluster. + /// + [EnumType] + public readonly struct ClusterSize : IEquatable + { + private readonly string _value; + + private ClusterSize(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterSize Small { get; } = new ClusterSize("SMALL"); + public static ClusterSize Medium { get; } = new ClusterSize("MEDIUM"); + public static ClusterSize Large { get; } = new ClusterSize("LARGE"); + + public static bool operator ==(ClusterSize left, ClusterSize right) => left.Equals(right); + public static bool operator !=(ClusterSize left, ClusterSize right) => !left.Equals(right); + + public static explicit operator string(ClusterSize value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterSize other && Equals(other); + public bool Equals(ClusterSize other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + /// + [EnumType] + public readonly struct ClusterStatus : IEquatable + { + private readonly string _value; + + private ClusterStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ClusterStatus Creating { get; } = new ClusterStatus("CREATING"); + public static ClusterStatus Active { get; } = new ClusterStatus("ACTIVE"); + public static ClusterStatus Updating { get; } = new ClusterStatus("UPDATING"); + public static ClusterStatus Deleting { get; } = new ClusterStatus("DELETING"); + public static ClusterStatus CreateFailed { get; } = new ClusterStatus("CREATE_FAILED"); + public static ClusterStatus DeleteFailed { get; } = new ClusterStatus("DELETE_FAILED"); + public static ClusterStatus UpdateFailed { get; } = new ClusterStatus("UPDATE_FAILED"); + + public static bool operator ==(ClusterStatus left, ClusterStatus right) => left.Equals(right); + public static bool operator !=(ClusterStatus left, ClusterStatus right) => !left.Equals(right); + + public static explicit operator string(ClusterStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ClusterStatus other && Equals(other); + public bool Equals(ClusterStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + /// + [EnumType] + public readonly struct ComputeNodeGroupPurchaseOption : IEquatable + { + private readonly string _value; + + private ComputeNodeGroupPurchaseOption(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComputeNodeGroupPurchaseOption Ondemand { get; } = new ComputeNodeGroupPurchaseOption("ONDEMAND"); + public static ComputeNodeGroupPurchaseOption Spot { get; } = new ComputeNodeGroupPurchaseOption("SPOT"); + + public static bool operator ==(ComputeNodeGroupPurchaseOption left, ComputeNodeGroupPurchaseOption right) => left.Equals(right); + public static bool operator !=(ComputeNodeGroupPurchaseOption left, ComputeNodeGroupPurchaseOption right) => !left.Equals(right); + + public static explicit operator string(ComputeNodeGroupPurchaseOption value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComputeNodeGroupPurchaseOption other && Equals(other); + public bool Equals(ComputeNodeGroupPurchaseOption other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + /// + [EnumType] + public readonly struct ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy : IEquatable + { + private readonly string _value; + + private ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy LowestPrice { get; } = new ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("lowest-price"); + public static ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy CapacityOptimized { get; } = new ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("capacity-optimized"); + public static ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy PriceCapacityOptimized { get; } = new ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("price-capacity-optimized"); + + public static bool operator ==(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy left, ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy right) => left.Equals(right); + public static bool operator !=(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy left, ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy right) => !left.Equals(right); + + public static explicit operator string(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy other && Equals(other); + public bool Equals(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + /// + [EnumType] + public readonly struct ComputeNodeGroupStatus : IEquatable + { + private readonly string _value; + + private ComputeNodeGroupStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static ComputeNodeGroupStatus Creating { get; } = new ComputeNodeGroupStatus("CREATING"); + public static ComputeNodeGroupStatus Active { get; } = new ComputeNodeGroupStatus("ACTIVE"); + public static ComputeNodeGroupStatus Updating { get; } = new ComputeNodeGroupStatus("UPDATING"); + public static ComputeNodeGroupStatus Deleting { get; } = new ComputeNodeGroupStatus("DELETING"); + public static ComputeNodeGroupStatus CreateFailed { get; } = new ComputeNodeGroupStatus("CREATE_FAILED"); + public static ComputeNodeGroupStatus DeleteFailed { get; } = new ComputeNodeGroupStatus("DELETE_FAILED"); + public static ComputeNodeGroupStatus UpdateFailed { get; } = new ComputeNodeGroupStatus("UPDATE_FAILED"); + + public static bool operator ==(ComputeNodeGroupStatus left, ComputeNodeGroupStatus right) => left.Equals(right); + public static bool operator !=(ComputeNodeGroupStatus left, ComputeNodeGroupStatus right) => !left.Equals(right); + + public static explicit operator string(ComputeNodeGroupStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is ComputeNodeGroupStatus other && Equals(other); + public bool Equals(ComputeNodeGroupStatus other) => string.Equals(_value, other._value, StringComparison.Ordinal); + + [EditorBrowsable(EditorBrowsableState.Never)] + public override int GetHashCode() => _value?.GetHashCode() ?? 0; + + public override string ToString() => _value; + } + + /// + /// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + /// + [EnumType] + public readonly struct QueueStatus : IEquatable + { + private readonly string _value; + + private QueueStatus(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static QueueStatus Creating { get; } = new QueueStatus("CREATING"); + public static QueueStatus Active { get; } = new QueueStatus("ACTIVE"); + public static QueueStatus Updating { get; } = new QueueStatus("UPDATING"); + public static QueueStatus Deleting { get; } = new QueueStatus("DELETING"); + public static QueueStatus CreateFailed { get; } = new QueueStatus("CREATE_FAILED"); + public static QueueStatus DeleteFailed { get; } = new QueueStatus("DELETE_FAILED"); + public static QueueStatus UpdateFailed { get; } = new QueueStatus("UPDATE_FAILED"); + + public static bool operator ==(QueueStatus left, QueueStatus right) => left.Equals(right); + public static bool operator !=(QueueStatus left, QueueStatus right) => !left.Equals(right); + + public static explicit operator string(QueueStatus value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is QueueStatus other && Equals(other); + public bool Equals(QueueStatus 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/Pcs/GetCluster.cs b/sdk/dotnet/Pcs/GetCluster.cs new file mode 100644 index 0000000000..fec7ed40a0 --- /dev/null +++ b/sdk/dotnet/Pcs/GetCluster.cs @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + public static class GetCluster + { + /// + /// AWS::PCS::Cluster resource creates an AWS PCS cluster. + /// + public static Task InvokeAsync(GetClusterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:pcs:getCluster", args ?? new GetClusterArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::Cluster resource creates an AWS PCS cluster. + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::Cluster resource creates an AWS PCS cluster. + /// + public static Output Invoke(GetClusterInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getCluster", args ?? new GetClusterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetClusterArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the cluster. + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetClusterArgs() + { + } + public static new GetClusterArgs Empty => new GetClusterArgs(); + } + + public sealed class GetClusterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the cluster. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetClusterInvokeArgs() + { + } + public static new GetClusterInvokeArgs Empty => new GetClusterInvokeArgs(); + } + + + [OutputType] + public sealed class GetClusterResult + { + /// + /// The unique Amazon Resource Name (ARN) of the cluster. + /// + public readonly string? Arn; + /// + /// The list of endpoints available for interaction with the scheduler. + /// + public readonly ImmutableArray Endpoints; + /// + /// The list of errors that occurred during cluster provisioning. + /// + public readonly ImmutableArray ErrorInfo; + /// + /// The generated unique ID of the cluster. + /// + public readonly string? Id; + /// + /// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + /// + public readonly Pulumi.AwsNative.Pcs.ClusterStatus? Status; + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public readonly ImmutableDictionary? Tags; + + [OutputConstructor] + private GetClusterResult( + string? arn, + + ImmutableArray endpoints, + + ImmutableArray errorInfo, + + string? id, + + Pulumi.AwsNative.Pcs.ClusterStatus? status, + + ImmutableDictionary? tags) + { + Arn = arn; + Endpoints = endpoints; + ErrorInfo = errorInfo; + Id = id; + Status = status; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Pcs/GetComputeNodeGroup.cs b/sdk/dotnet/Pcs/GetComputeNodeGroup.cs new file mode 100644 index 0000000000..b57a0c57ad --- /dev/null +++ b/sdk/dotnet/Pcs/GetComputeNodeGroup.cs @@ -0,0 +1,162 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + public static class GetComputeNodeGroup + { + /// + /// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + /// + public static Task InvokeAsync(GetComputeNodeGroupArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:pcs:getComputeNodeGroup", args ?? new GetComputeNodeGroupArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + /// + public static Output Invoke(GetComputeNodeGroupInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getComputeNodeGroup", args ?? new GetComputeNodeGroupInvokeArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + /// + public static Output Invoke(GetComputeNodeGroupInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getComputeNodeGroup", args ?? new GetComputeNodeGroupInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetComputeNodeGroupArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the compute node group. + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetComputeNodeGroupArgs() + { + } + public static new GetComputeNodeGroupArgs Empty => new GetComputeNodeGroupArgs(); + } + + public sealed class GetComputeNodeGroupInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the compute node group. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetComputeNodeGroupInvokeArgs() + { + } + public static new GetComputeNodeGroupInvokeArgs Empty => new GetComputeNodeGroupInvokeArgs(); + } + + + [OutputType] + public sealed class GetComputeNodeGroupResult + { + /// + /// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + /// + public readonly string? AmiId; + /// + /// The unique Amazon Resource Name (ARN) of the compute node group. + /// + public readonly string? Arn; + /// + /// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + /// + public readonly Outputs.CustomLaunchTemplateProperties? CustomLaunchTemplate; + /// + /// The list of errors that occurred during compute node group provisioning. + /// + public readonly ImmutableArray ErrorInfo; + /// + /// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + /// + public readonly string? IamInstanceProfileArn; + /// + /// The generated unique ID of the compute node group. + /// + public readonly string? Id; + /// + /// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + /// + public readonly Pulumi.AwsNative.Pcs.ComputeNodeGroupPurchaseOption? PurchaseOption; + /// + /// Specifies the boundaries of the compute node group auto scaling. + /// + public readonly Outputs.ScalingConfigurationProperties? ScalingConfiguration; + /// + /// Additional options related to the Slurm scheduler. + /// + public readonly Outputs.SlurmConfigurationProperties? SlurmConfiguration; + /// + /// Additional configuration when you specify SPOT as the purchase option. + /// + public readonly Outputs.SpotOptionsProperties? SpotOptions; + /// + /// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + /// + public readonly Pulumi.AwsNative.Pcs.ComputeNodeGroupStatus? Status; + /// + /// The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + /// + public readonly ImmutableArray SubnetIds; + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public readonly ImmutableDictionary? Tags; + + [OutputConstructor] + private GetComputeNodeGroupResult( + string? amiId, + + string? arn, + + Outputs.CustomLaunchTemplateProperties? customLaunchTemplate, + + ImmutableArray errorInfo, + + string? iamInstanceProfileArn, + + string? id, + + Pulumi.AwsNative.Pcs.ComputeNodeGroupPurchaseOption? purchaseOption, + + Outputs.ScalingConfigurationProperties? scalingConfiguration, + + Outputs.SlurmConfigurationProperties? slurmConfiguration, + + Outputs.SpotOptionsProperties? spotOptions, + + Pulumi.AwsNative.Pcs.ComputeNodeGroupStatus? status, + + ImmutableArray subnetIds, + + ImmutableDictionary? tags) + { + AmiId = amiId; + Arn = arn; + CustomLaunchTemplate = customLaunchTemplate; + ErrorInfo = errorInfo; + IamInstanceProfileArn = iamInstanceProfileArn; + Id = id; + PurchaseOption = purchaseOption; + ScalingConfiguration = scalingConfiguration; + SlurmConfiguration = slurmConfiguration; + SpotOptions = spotOptions; + Status = status; + SubnetIds = subnetIds; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Pcs/GetQueue.cs b/sdk/dotnet/Pcs/GetQueue.cs new file mode 100644 index 0000000000..40c9e66f5b --- /dev/null +++ b/sdk/dotnet/Pcs/GetQueue.cs @@ -0,0 +1,113 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + public static class GetQueue + { + /// + /// AWS::PCS::Queue resource creates an AWS PCS queue. + /// + public static Task InvokeAsync(GetQueueArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:pcs:getQueue", args ?? new GetQueueArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::Queue resource creates an AWS PCS queue. + /// + public static Output Invoke(GetQueueInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getQueue", args ?? new GetQueueInvokeArgs(), options.WithDefaults()); + + /// + /// AWS::PCS::Queue resource creates an AWS PCS queue. + /// + public static Output Invoke(GetQueueInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:pcs:getQueue", args ?? new GetQueueInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetQueueArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the queue. + /// + [Input("arn", required: true)] + public string Arn { get; set; } = null!; + + public GetQueueArgs() + { + } + public static new GetQueueArgs Empty => new GetQueueArgs(); + } + + public sealed class GetQueueInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The unique Amazon Resource Name (ARN) of the queue. + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + public GetQueueInvokeArgs() + { + } + public static new GetQueueInvokeArgs Empty => new GetQueueInvokeArgs(); + } + + + [OutputType] + public sealed class GetQueueResult + { + /// + /// The unique Amazon Resource Name (ARN) of the queue. + /// + public readonly string? Arn; + /// + /// The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + /// + public readonly ImmutableArray ComputeNodeGroupConfigurations; + /// + /// The list of errors that occurred during queue provisioning. + /// + public readonly ImmutableArray ErrorInfo; + /// + /// The generated unique ID of the queue. + /// + public readonly string? Id; + /// + /// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + /// + public readonly Pulumi.AwsNative.Pcs.QueueStatus? Status; + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public readonly ImmutableDictionary? Tags; + + [OutputConstructor] + private GetQueueResult( + string? arn, + + ImmutableArray computeNodeGroupConfigurations, + + ImmutableArray errorInfo, + + string? id, + + Pulumi.AwsNative.Pcs.QueueStatus? status, + + ImmutableDictionary? tags) + { + Arn = arn; + ComputeNodeGroupConfigurations = computeNodeGroupConfigurations; + ErrorInfo = errorInfo; + Id = id; + Status = status; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupInstanceConfigArgs.cs b/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupInstanceConfigArgs.cs new file mode 100644 index 0000000000..5bf4fbe333 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupInstanceConfigArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// An EC2 instance configuration AWS PCS uses to launch compute nodes. + /// + public sealed class ComputeNodeGroupInstanceConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The EC2 instance type that AWS PCS can provision in the compute node group. + /// + [Input("instanceType")] + public Input? InstanceType { get; set; } + + public ComputeNodeGroupInstanceConfigArgs() + { + } + public static new ComputeNodeGroupInstanceConfigArgs Empty => new ComputeNodeGroupInstanceConfigArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupSlurmCustomSettingArgs.cs b/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupSlurmCustomSettingArgs.cs new file mode 100644 index 0000000000..96ea2f4962 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/ComputeNodeGroupSlurmCustomSettingArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// Additional settings that directly map to Slurm settings. + /// + public sealed class ComputeNodeGroupSlurmCustomSettingArgs : global::Pulumi.ResourceArgs + { + /// + /// AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + /// + [Input("parameterName", required: true)] + public Input ParameterName { get; set; } = null!; + + /// + /// The value for the configured Slurm setting. + /// + [Input("parameterValue", required: true)] + public Input ParameterValue { get; set; } = null!; + + public ComputeNodeGroupSlurmCustomSettingArgs() + { + } + public static new ComputeNodeGroupSlurmCustomSettingArgs Empty => new ComputeNodeGroupSlurmCustomSettingArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/CustomLaunchTemplatePropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/CustomLaunchTemplatePropertiesArgs.cs new file mode 100644 index 0000000000..ca3dc1379f --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/CustomLaunchTemplatePropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + /// + public sealed class CustomLaunchTemplatePropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the EC2 launch template to use to provision instances. + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + /// + /// The version of the EC2 launch template to use to provision instances. + /// + [Input("version", required: true)] + public Input Version { get; set; } = null!; + + public CustomLaunchTemplatePropertiesArgs() + { + } + public static new CustomLaunchTemplatePropertiesArgs Empty => new CustomLaunchTemplatePropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/NetworkingPropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/NetworkingPropertiesArgs.cs new file mode 100644 index 0000000000..433bfab504 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/NetworkingPropertiesArgs.cs @@ -0,0 +1,47 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// The networking configuration for the cluster's control plane. + /// + public sealed class NetworkingPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("securityGroupIds")] + private InputList? _securityGroupIds; + + /// + /// The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + /// + public InputList SecurityGroupIds + { + get => _securityGroupIds ?? (_securityGroupIds = new InputList()); + set => _securityGroupIds = value; + } + + [Input("subnetIds")] + private InputList? _subnetIds; + + /// + /// The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + /// + public InputList SubnetIds + { + get => _subnetIds ?? (_subnetIds = new InputList()); + set => _subnetIds = value; + } + + public NetworkingPropertiesArgs() + { + } + public static new NetworkingPropertiesArgs Empty => new NetworkingPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/QueueComputeNodeGroupConfigurationArgs.cs b/sdk/dotnet/Pcs/Inputs/QueueComputeNodeGroupConfigurationArgs.cs new file mode 100644 index 0000000000..942fb3b1a3 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/QueueComputeNodeGroupConfigurationArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// The compute node group configuration for a queue. + /// + public sealed class QueueComputeNodeGroupConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The compute node group ID for the compute node group configuration. + /// + [Input("computeNodeGroupId")] + public Input? ComputeNodeGroupId { get; set; } + + public QueueComputeNodeGroupConfigurationArgs() + { + } + public static new QueueComputeNodeGroupConfigurationArgs Empty => new QueueComputeNodeGroupConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/ScalingConfigurationPropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/ScalingConfigurationPropertiesArgs.cs new file mode 100644 index 0000000000..4329168710 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/ScalingConfigurationPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// Specifies the boundaries of the compute node group auto scaling. + /// + public sealed class ScalingConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The upper bound of the number of instances allowed in the compute fleet. + /// + [Input("maxInstanceCount", required: true)] + public Input MaxInstanceCount { get; set; } = null!; + + /// + /// The lower bound of the number of instances allowed in the compute fleet. + /// + [Input("minInstanceCount", required: true)] + public Input MinInstanceCount { get; set; } = null!; + + public ScalingConfigurationPropertiesArgs() + { + } + public static new ScalingConfigurationPropertiesArgs Empty => new ScalingConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/SchedulerPropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/SchedulerPropertiesArgs.cs new file mode 100644 index 0000000000..f1c7314dd8 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/SchedulerPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// The cluster management and job scheduling software associated with the cluster. + /// + public sealed class SchedulerPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The software AWS PCS uses to manage cluster scaling and job scheduling. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + /// + [Input("version", required: true)] + public Input Version { get; set; } = null!; + + public SchedulerPropertiesArgs() + { + } + public static new SchedulerPropertiesArgs Empty => new SchedulerPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/SlurmConfigurationPropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/SlurmConfigurationPropertiesArgs.cs new file mode 100644 index 0000000000..4c992ede25 --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/SlurmConfigurationPropertiesArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// Additional options related to the Slurm scheduler. + /// + public sealed class SlurmConfigurationPropertiesArgs : global::Pulumi.ResourceArgs + { + [Input("slurmCustomSettings")] + private InputList? _slurmCustomSettings; + + /// + /// Additional Slurm-specific configuration that directly maps to Slurm settings. + /// + public InputList SlurmCustomSettings + { + get => _slurmCustomSettings ?? (_slurmCustomSettings = new InputList()); + set => _slurmCustomSettings = value; + } + + public SlurmConfigurationPropertiesArgs() + { + } + public static new SlurmConfigurationPropertiesArgs Empty => new SlurmConfigurationPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Inputs/SpotOptionsPropertiesArgs.cs b/sdk/dotnet/Pcs/Inputs/SpotOptionsPropertiesArgs.cs new file mode 100644 index 0000000000..62623200db --- /dev/null +++ b/sdk/dotnet/Pcs/Inputs/SpotOptionsPropertiesArgs.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Inputs +{ + + /// + /// Additional configuration when you specify SPOT as the purchase option. + /// + public sealed class SpotOptionsPropertiesArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + /// + [Input("allocationStrategy")] + public Input? AllocationStrategy { get; set; } + + public SpotOptionsPropertiesArgs() + { + } + public static new SpotOptionsPropertiesArgs Empty => new SpotOptionsPropertiesArgs(); + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ClusterEndpoint.cs b/sdk/dotnet/Pcs/Outputs/ClusterEndpoint.cs new file mode 100644 index 0000000000..b41fdb3f86 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ClusterEndpoint.cs @@ -0,0 +1,52 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An endpoint available for interaction with the scheduler. + /// + [OutputType] + public sealed class ClusterEndpoint + { + /// + /// The endpoint's connection port number. + /// + public readonly string Port; + /// + /// The endpoint's private IP address. + /// + public readonly string PrivateIpAddress; + /// + /// The endpoint's public IP address. + /// + public readonly string? PublicIpAddress; + /// + /// Indicates the type of endpoint running at the specific IP address. + /// + public readonly Pulumi.AwsNative.Pcs.ClusterEndpointType Type; + + [OutputConstructor] + private ClusterEndpoint( + string port, + + string privateIpAddress, + + string? publicIpAddress, + + Pulumi.AwsNative.Pcs.ClusterEndpointType type) + { + Port = port; + PrivateIpAddress = privateIpAddress; + PublicIpAddress = publicIpAddress; + Type = type; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ClusterErrorInfo.cs b/sdk/dotnet/Pcs/Outputs/ClusterErrorInfo.cs new file mode 100644 index 0000000000..11db6c6049 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ClusterErrorInfo.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An error that occurred during resource provisioning. + /// + [OutputType] + public sealed class ClusterErrorInfo + { + /// + /// The short-form error code. + /// + public readonly string? Code; + /// + /// The detailed error information. + /// + public readonly string? Message; + + [OutputConstructor] + private ClusterErrorInfo( + string? code, + + string? message) + { + Code = code; + Message = message; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupErrorInfo.cs b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupErrorInfo.cs new file mode 100644 index 0000000000..c51e80e295 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupErrorInfo.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An error that occurred during resource provisioning. + /// + [OutputType] + public sealed class ComputeNodeGroupErrorInfo + { + /// + /// The short-form error code. + /// + public readonly string? Code; + /// + /// The detailed error information. + /// + public readonly string? Message; + + [OutputConstructor] + private ComputeNodeGroupErrorInfo( + string? code, + + string? message) + { + Code = code; + Message = message; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupInstanceConfig.cs b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupInstanceConfig.cs new file mode 100644 index 0000000000..6cd0232c1d --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupInstanceConfig.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An EC2 instance configuration AWS PCS uses to launch compute nodes. + /// + [OutputType] + public sealed class ComputeNodeGroupInstanceConfig + { + /// + /// The EC2 instance type that AWS PCS can provision in the compute node group. + /// + public readonly string? InstanceType; + + [OutputConstructor] + private ComputeNodeGroupInstanceConfig(string? instanceType) + { + InstanceType = instanceType; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupSlurmCustomSetting.cs b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupSlurmCustomSetting.cs new file mode 100644 index 0000000000..0cc663ce48 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ComputeNodeGroupSlurmCustomSetting.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// Additional settings that directly map to Slurm settings. + /// + [OutputType] + public sealed class ComputeNodeGroupSlurmCustomSetting + { + /// + /// AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + /// + public readonly string ParameterName; + /// + /// The value for the configured Slurm setting. + /// + public readonly string ParameterValue; + + [OutputConstructor] + private ComputeNodeGroupSlurmCustomSetting( + string parameterName, + + string parameterValue) + { + ParameterName = parameterName; + ParameterValue = parameterValue; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/CustomLaunchTemplateProperties.cs b/sdk/dotnet/Pcs/Outputs/CustomLaunchTemplateProperties.cs new file mode 100644 index 0000000000..c8a38e372d --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/CustomLaunchTemplateProperties.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + /// + [OutputType] + public sealed class CustomLaunchTemplateProperties + { + /// + /// The ID of the EC2 launch template to use to provision instances. + /// + public readonly string Id; + /// + /// The version of the EC2 launch template to use to provision instances. + /// + public readonly string Version; + + [OutputConstructor] + private CustomLaunchTemplateProperties( + string id, + + string version) + { + Id = id; + Version = version; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/NetworkingProperties.cs b/sdk/dotnet/Pcs/Outputs/NetworkingProperties.cs new file mode 100644 index 0000000000..f2a7130ce3 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/NetworkingProperties.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// The networking configuration for the cluster's control plane. + /// + [OutputType] + public sealed class NetworkingProperties + { + /// + /// The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + /// + public readonly ImmutableArray SecurityGroupIds; + /// + /// The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + /// + public readonly ImmutableArray SubnetIds; + + [OutputConstructor] + private NetworkingProperties( + ImmutableArray securityGroupIds, + + ImmutableArray subnetIds) + { + SecurityGroupIds = securityGroupIds; + SubnetIds = subnetIds; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/QueueComputeNodeGroupConfiguration.cs b/sdk/dotnet/Pcs/Outputs/QueueComputeNodeGroupConfiguration.cs new file mode 100644 index 0000000000..452abbaa06 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/QueueComputeNodeGroupConfiguration.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// The compute node group configuration for a queue. + /// + [OutputType] + public sealed class QueueComputeNodeGroupConfiguration + { + /// + /// The compute node group ID for the compute node group configuration. + /// + public readonly string? ComputeNodeGroupId; + + [OutputConstructor] + private QueueComputeNodeGroupConfiguration(string? computeNodeGroupId) + { + ComputeNodeGroupId = computeNodeGroupId; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/QueueErrorInfo.cs b/sdk/dotnet/Pcs/Outputs/QueueErrorInfo.cs new file mode 100644 index 0000000000..073a94dded --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/QueueErrorInfo.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// An error that occurred during resource provisioning. + /// + [OutputType] + public sealed class QueueErrorInfo + { + /// + /// The short-form error code. + /// + public readonly string? Code; + /// + /// The detailed error information. + /// + public readonly string? Message; + + [OutputConstructor] + private QueueErrorInfo( + string? code, + + string? message) + { + Code = code; + Message = message; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/ScalingConfigurationProperties.cs b/sdk/dotnet/Pcs/Outputs/ScalingConfigurationProperties.cs new file mode 100644 index 0000000000..10fcdb0406 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/ScalingConfigurationProperties.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// Specifies the boundaries of the compute node group auto scaling. + /// + [OutputType] + public sealed class ScalingConfigurationProperties + { + /// + /// The upper bound of the number of instances allowed in the compute fleet. + /// + public readonly int MaxInstanceCount; + /// + /// The lower bound of the number of instances allowed in the compute fleet. + /// + public readonly int MinInstanceCount; + + [OutputConstructor] + private ScalingConfigurationProperties( + int maxInstanceCount, + + int minInstanceCount) + { + MaxInstanceCount = maxInstanceCount; + MinInstanceCount = minInstanceCount; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/SchedulerProperties.cs b/sdk/dotnet/Pcs/Outputs/SchedulerProperties.cs new file mode 100644 index 0000000000..3f88752523 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/SchedulerProperties.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// The cluster management and job scheduling software associated with the cluster. + /// + [OutputType] + public sealed class SchedulerProperties + { + /// + /// The software AWS PCS uses to manage cluster scaling and job scheduling. + /// + public readonly Pulumi.AwsNative.Pcs.ClusterSchedulerPropertiesType Type; + /// + /// The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + /// + public readonly string Version; + + [OutputConstructor] + private SchedulerProperties( + Pulumi.AwsNative.Pcs.ClusterSchedulerPropertiesType type, + + string version) + { + Type = type; + Version = version; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/SlurmConfigurationProperties.cs b/sdk/dotnet/Pcs/Outputs/SlurmConfigurationProperties.cs new file mode 100644 index 0000000000..5442b0e629 --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/SlurmConfigurationProperties.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// Additional options related to the Slurm scheduler. + /// + [OutputType] + public sealed class SlurmConfigurationProperties + { + /// + /// Additional Slurm-specific configuration that directly maps to Slurm settings. + /// + public readonly ImmutableArray SlurmCustomSettings; + + [OutputConstructor] + private SlurmConfigurationProperties(ImmutableArray slurmCustomSettings) + { + SlurmCustomSettings = slurmCustomSettings; + } + } +} diff --git a/sdk/dotnet/Pcs/Outputs/SpotOptionsProperties.cs b/sdk/dotnet/Pcs/Outputs/SpotOptionsProperties.cs new file mode 100644 index 0000000000..994e5eb46f --- /dev/null +++ b/sdk/dotnet/Pcs/Outputs/SpotOptionsProperties.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs.Outputs +{ + + /// + /// Additional configuration when you specify SPOT as the purchase option. + /// + [OutputType] + public sealed class SpotOptionsProperties + { + /// + /// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + /// + public readonly Pulumi.AwsNative.Pcs.ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy? AllocationStrategy; + + [OutputConstructor] + private SpotOptionsProperties(Pulumi.AwsNative.Pcs.ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy? allocationStrategy) + { + AllocationStrategy = allocationStrategy; + } + } +} diff --git a/sdk/dotnet/Pcs/Queue.cs b/sdk/dotnet/Pcs/Queue.cs new file mode 100644 index 0000000000..b00a0e3bf3 --- /dev/null +++ b/sdk/dotnet/Pcs/Queue.cs @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.Pcs +{ + /// + /// AWS::PCS::Queue resource creates an AWS PCS queue. + /// + [AwsNativeResourceType("aws-native:pcs:Queue")] + public partial class Queue : global::Pulumi.CustomResource + { + /// + /// The unique Amazon Resource Name (ARN) of the queue. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The generated unique ID of the queue. + /// + [Output("awsId")] + public Output AwsId { get; private set; } = null!; + + /// + /// The ID of the cluster of the queue. + /// + [Output("clusterId")] + public Output ClusterId { get; private set; } = null!; + + /// + /// The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + /// + [Output("computeNodeGroupConfigurations")] + public Output> ComputeNodeGroupConfigurations { get; private set; } = null!; + + /// + /// The list of errors that occurred during queue provisioning. + /// + [Output("errorInfo")] + public Output> ErrorInfo { get; private set; } = null!; + + /// + /// The name that identifies the queue. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + + /// + /// Create a Queue 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 Queue(string name, QueueArgs args, CustomResourceOptions? options = null) + : base("aws-native:pcs:Queue", name, args ?? new QueueArgs(), MakeResourceOptions(options, "")) + { + } + + private Queue(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:pcs:Queue", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "clusterId", + "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 Queue 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 Queue Get(string name, Input id, CustomResourceOptions? options = null) + { + return new Queue(name, id, options); + } + } + + public sealed class QueueArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the cluster of the queue. + /// + [Input("clusterId", required: true)] + public Input ClusterId { get; set; } = null!; + + [Input("computeNodeGroupConfigurations")] + private InputList? _computeNodeGroupConfigurations; + + /// + /// The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + /// + public InputList ComputeNodeGroupConfigurations + { + get => _computeNodeGroupConfigurations ?? (_computeNodeGroupConfigurations = new InputList()); + set => _computeNodeGroupConfigurations = value; + } + + /// + /// The name that identifies the queue. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public QueueArgs() + { + } + public static new QueueArgs Empty => new QueueArgs(); + } +} diff --git a/sdk/dotnet/Pcs/README.md b/sdk/dotnet/Pcs/README.md new file mode 100644 index 0000000000..77b2f47ec2 --- /dev/null +++ b/sdk/dotnet/Pcs/README.md @@ -0,0 +1 @@ +A native Pulumi package for creating and managing Amazon Web Services (AWS) resources. diff --git a/sdk/dotnet/QuickSight/CustomPermissions.cs b/sdk/dotnet/QuickSight/CustomPermissions.cs new file mode 100644 index 0000000000..8ca2efe87c --- /dev/null +++ b/sdk/dotnet/QuickSight/CustomPermissions.cs @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.QuickSight +{ + /// + /// Definition of the AWS::QuickSight::CustomPermissions Resource Type. + /// + [AwsNativeResourceType("aws-native:quicksight:CustomPermissions")] + public partial class CustomPermissions : global::Pulumi.CustomResource + { + [Output("arn")] + public Output Arn { get; private set; } = null!; + + [Output("awsAccountId")] + public Output AwsAccountId { get; private set; } = null!; + + [Output("capabilities")] + public Output Capabilities { get; private set; } = null!; + + [Output("customPermissionsName")] + public Output CustomPermissionsName { get; private set; } = null!; + + [Output("tags")] + public Output> Tags { get; private set; } = null!; + + + /// + /// Create a CustomPermissions 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 CustomPermissions(string name, CustomPermissionsArgs args, CustomResourceOptions? options = null) + : base("aws-native:quicksight:CustomPermissions", name, args ?? new CustomPermissionsArgs(), MakeResourceOptions(options, "")) + { + } + + private CustomPermissions(string name, Input id, CustomResourceOptions? options = null) + : base("aws-native:quicksight:CustomPermissions", name, null, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + ReplaceOnChanges = + { + "awsAccountId", + "customPermissionsName", + }, + }; + 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 CustomPermissions 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 CustomPermissions Get(string name, Input id, CustomResourceOptions? options = null) + { + return new CustomPermissions(name, id, options); + } + } + + public sealed class CustomPermissionsArgs : global::Pulumi.ResourceArgs + { + [Input("awsAccountId", required: true)] + public Input AwsAccountId { get; set; } = null!; + + [Input("capabilities")] + public Input? Capabilities { get; set; } + + [Input("customPermissionsName")] + public Input? CustomPermissionsName { get; set; } + + [Input("tags")] + private InputList? _tags; + public InputList Tags + { + get => _tags ?? (_tags = new InputList()); + set => _tags = value; + } + + public CustomPermissionsArgs() + { + } + public static new CustomPermissionsArgs Empty => new CustomPermissionsArgs(); + } +} diff --git a/sdk/dotnet/QuickSight/Enums.cs b/sdk/dotnet/QuickSight/Enums.cs index 6b1e0326fe..79f5c87153 100644 --- a/sdk/dotnet/QuickSight/Enums.cs +++ b/sdk/dotnet/QuickSight/Enums.cs @@ -3680,6 +3680,33 @@ private AnalysisWordCloudWordScaling(string value) public override string ToString() => _value; } + [EnumType] + public readonly struct CustomPermissionsCapabilityState : IEquatable + { + private readonly string _value; + + private CustomPermissionsCapabilityState(string value) + { + _value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public static CustomPermissionsCapabilityState Deny { get; } = new CustomPermissionsCapabilityState("DENY"); + + public static bool operator ==(CustomPermissionsCapabilityState left, CustomPermissionsCapabilityState right) => left.Equals(right); + public static bool operator !=(CustomPermissionsCapabilityState left, CustomPermissionsCapabilityState right) => !left.Equals(right); + + public static explicit operator string(CustomPermissionsCapabilityState value) => value._value; + + [EditorBrowsable(EditorBrowsableState.Never)] + public override bool Equals(object? obj) => obj is CustomPermissionsCapabilityState other && Equals(other); + public bool Equals(CustomPermissionsCapabilityState 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 DashboardAnchorOption : IEquatable { diff --git a/sdk/dotnet/QuickSight/GetCustomPermissions.cs b/sdk/dotnet/QuickSight/GetCustomPermissions.cs new file mode 100644 index 0000000000..94e950ca68 --- /dev/null +++ b/sdk/dotnet/QuickSight/GetCustomPermissions.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.QuickSight +{ + public static class GetCustomPermissions + { + /// + /// Definition of the AWS::QuickSight::CustomPermissions Resource Type. + /// + public static Task InvokeAsync(GetCustomPermissionsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws-native:quicksight:getCustomPermissions", args ?? new GetCustomPermissionsArgs(), options.WithDefaults()); + + /// + /// Definition of the AWS::QuickSight::CustomPermissions Resource Type. + /// + public static Output Invoke(GetCustomPermissionsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:quicksight:getCustomPermissions", args ?? new GetCustomPermissionsInvokeArgs(), options.WithDefaults()); + + /// + /// Definition of the AWS::QuickSight::CustomPermissions Resource Type. + /// + public static Output Invoke(GetCustomPermissionsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("aws-native:quicksight:getCustomPermissions", args ?? new GetCustomPermissionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetCustomPermissionsArgs : global::Pulumi.InvokeArgs + { + [Input("awsAccountId", required: true)] + public string AwsAccountId { get; set; } = null!; + + [Input("customPermissionsName", required: true)] + public string CustomPermissionsName { get; set; } = null!; + + public GetCustomPermissionsArgs() + { + } + public static new GetCustomPermissionsArgs Empty => new GetCustomPermissionsArgs(); + } + + public sealed class GetCustomPermissionsInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("awsAccountId", required: true)] + public Input AwsAccountId { get; set; } = null!; + + [Input("customPermissionsName", required: true)] + public Input CustomPermissionsName { get; set; } = null!; + + public GetCustomPermissionsInvokeArgs() + { + } + public static new GetCustomPermissionsInvokeArgs Empty => new GetCustomPermissionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetCustomPermissionsResult + { + public readonly string? Arn; + public readonly Outputs.CustomPermissionsCapabilities? Capabilities; + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCustomPermissionsResult( + string? arn, + + Outputs.CustomPermissionsCapabilities? capabilities, + + ImmutableArray tags) + { + Arn = arn; + Capabilities = capabilities; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/QuickSight/Inputs/CustomPermissionsCapabilitiesArgs.cs b/sdk/dotnet/QuickSight/Inputs/CustomPermissionsCapabilitiesArgs.cs new file mode 100644 index 0000000000..25c5179c5d --- /dev/null +++ b/sdk/dotnet/QuickSight/Inputs/CustomPermissionsCapabilitiesArgs.cs @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.QuickSight.Inputs +{ + + public sealed class CustomPermissionsCapabilitiesArgs : global::Pulumi.ResourceArgs + { + [Input("addOrRunAnomalyDetectionForAnalyses")] + public Input? AddOrRunAnomalyDetectionForAnalyses { get; set; } + + [Input("createAndUpdateDashboardEmailReports")] + public Input? CreateAndUpdateDashboardEmailReports { get; set; } + + [Input("createAndUpdateDataSources")] + public Input? CreateAndUpdateDataSources { get; set; } + + [Input("createAndUpdateDatasets")] + public Input? CreateAndUpdateDatasets { get; set; } + + [Input("createAndUpdateThemes")] + public Input? CreateAndUpdateThemes { get; set; } + + [Input("createAndUpdateThresholdAlerts")] + public Input? CreateAndUpdateThresholdAlerts { get; set; } + + [Input("createSharedFolders")] + public Input? CreateSharedFolders { get; set; } + + [Input("createSpiceDataset")] + public Input? CreateSpiceDataset { get; set; } + + [Input("exportToCsv")] + public Input? ExportToCsv { get; set; } + + [Input("exportToExcel")] + public Input? ExportToExcel { get; set; } + + [Input("renameSharedFolders")] + public Input? RenameSharedFolders { get; set; } + + [Input("shareAnalyses")] + public Input? ShareAnalyses { get; set; } + + [Input("shareDashboards")] + public Input? ShareDashboards { get; set; } + + [Input("shareDataSources")] + public Input? ShareDataSources { get; set; } + + [Input("shareDatasets")] + public Input? ShareDatasets { get; set; } + + [Input("subscribeDashboardEmailReports")] + public Input? SubscribeDashboardEmailReports { get; set; } + + [Input("viewAccountSpiceCapacity")] + public Input? ViewAccountSpiceCapacity { get; set; } + + public CustomPermissionsCapabilitiesArgs() + { + } + public static new CustomPermissionsCapabilitiesArgs Empty => new CustomPermissionsCapabilitiesArgs(); + } +} diff --git a/sdk/dotnet/QuickSight/Outputs/CustomPermissionsCapabilities.cs b/sdk/dotnet/QuickSight/Outputs/CustomPermissionsCapabilities.cs new file mode 100644 index 0000000000..7d2e32558f --- /dev/null +++ b/sdk/dotnet/QuickSight/Outputs/CustomPermissionsCapabilities.cs @@ -0,0 +1,89 @@ +// *** WARNING: this file was generated by pulumi. *** +// *** 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.QuickSight.Outputs +{ + + [OutputType] + public sealed class CustomPermissionsCapabilities + { + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? AddOrRunAnomalyDetectionForAnalyses; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateAndUpdateDashboardEmailReports; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateAndUpdateDataSources; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateAndUpdateDatasets; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateAndUpdateThemes; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateAndUpdateThresholdAlerts; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateSharedFolders; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? CreateSpiceDataset; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ExportToCsv; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ExportToExcel; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? RenameSharedFolders; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ShareAnalyses; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ShareDashboards; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ShareDataSources; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ShareDatasets; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? SubscribeDashboardEmailReports; + public readonly Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? ViewAccountSpiceCapacity; + + [OutputConstructor] + private CustomPermissionsCapabilities( + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? addOrRunAnomalyDetectionForAnalyses, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createAndUpdateDashboardEmailReports, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createAndUpdateDataSources, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createAndUpdateDatasets, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createAndUpdateThemes, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createAndUpdateThresholdAlerts, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createSharedFolders, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? createSpiceDataset, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? exportToCsv, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? exportToExcel, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? renameSharedFolders, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? shareAnalyses, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? shareDashboards, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? shareDataSources, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? shareDatasets, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? subscribeDashboardEmailReports, + + Pulumi.AwsNative.QuickSight.CustomPermissionsCapabilityState? viewAccountSpiceCapacity) + { + AddOrRunAnomalyDetectionForAnalyses = addOrRunAnomalyDetectionForAnalyses; + CreateAndUpdateDashboardEmailReports = createAndUpdateDashboardEmailReports; + CreateAndUpdateDataSources = createAndUpdateDataSources; + CreateAndUpdateDatasets = createAndUpdateDatasets; + CreateAndUpdateThemes = createAndUpdateThemes; + CreateAndUpdateThresholdAlerts = createAndUpdateThresholdAlerts; + CreateSharedFolders = createSharedFolders; + CreateSpiceDataset = createSpiceDataset; + ExportToCsv = exportToCsv; + ExportToExcel = exportToExcel; + RenameSharedFolders = renameSharedFolders; + ShareAnalyses = shareAnalyses; + ShareDashboards = shareDashboards; + ShareDataSources = shareDataSources; + ShareDatasets = shareDatasets; + SubscribeDashboardEmailReports = subscribeDashboardEmailReports; + ViewAccountSpiceCapacity = viewAccountSpiceCapacity; + } + } +} diff --git a/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs index 52b471efcb..c578ced779 100644 --- a/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs +++ b/sdk/dotnet/SageMaker/Inputs/ClusterInstanceGroupArgs.cs @@ -21,9 +21,6 @@ public sealed class ClusterInstanceGroupArgs : global::Pulumi.ResourceArgs [Input("currentCount")] public Input? CurrentCount { get; set; } - [Input("customMetadata")] - public Input? CustomMetadata { get; set; } - [Input("executionRole", required: true)] public Input ExecutionRole { get; set; } = null!; diff --git a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs index d1424be121..fb1d651ec4 100644 --- a/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs +++ b/sdk/dotnet/SageMaker/Outputs/ClusterInstanceGroup.cs @@ -20,7 +20,6 @@ public sealed class ClusterInstanceGroup /// The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. /// public readonly int? CurrentCount; - public readonly object? CustomMetadata; public readonly string ExecutionRole; /// /// The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. @@ -41,8 +40,6 @@ public sealed class ClusterInstanceGroup private ClusterInstanceGroup( int? currentCount, - object? customMetadata, - string executionRole, int instanceCount, @@ -62,7 +59,6 @@ private ClusterInstanceGroup( int? threadsPerCore) { CurrentCount = currentCount; - CustomMetadata = customMetadata; ExecutionRole = executionRole; InstanceCount = instanceCount; InstanceGroupName = instanceGroupName; diff --git a/sdk/go/aws/cleanrooms/getIdMappingTable.go b/sdk/go/aws/cleanrooms/getIdMappingTable.go index 75824a5cfe..0f59f4ee9d 100644 --- a/sdk/go/aws/cleanrooms/getIdMappingTable.go +++ b/sdk/go/aws/cleanrooms/getIdMappingTable.go @@ -24,6 +24,7 @@ func LookupIdMappingTable(ctx *pulumi.Context, args *LookupIdMappingTableArgs, o } type LookupIdMappingTableArgs struct { + // The unique identifier of the ID mapping table identifier that you want to retrieve. IdMappingTableIdentifier string `pulumi:"idMappingTableIdentifier"` // The unique identifier of the membership resource for the ID mapping table. MembershipIdentifier string `pulumi:"membershipIdentifier"` @@ -33,10 +34,12 @@ type LookupIdMappingTableResult struct { // The Amazon Resource Name (ARN) of the ID mapping table. Arn *string `pulumi:"arn"` // The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. - CollaborationArn *string `pulumi:"collaborationArn"` + CollaborationArn *string `pulumi:"collaborationArn"` + // The unique identifier of the collaboration that contains this ID mapping table. CollaborationIdentifier *string `pulumi:"collaborationIdentifier"` // The description of the ID mapping table. - Description *string `pulumi:"description"` + Description *string `pulumi:"description"` + // The unique identifier of the ID mapping table identifier that you want to retrieve. IdMappingTableIdentifier *string `pulumi:"idMappingTableIdentifier"` InputReferenceProperties *IdMappingTableInputReferenceProperties `pulumi:"inputReferenceProperties"` // The Amazon Resource Name (ARN) of the AWS KMS key. @@ -57,6 +60,7 @@ func LookupIdMappingTableOutput(ctx *pulumi.Context, args LookupIdMappingTableOu } type LookupIdMappingTableOutputArgs struct { + // The unique identifier of the ID mapping table identifier that you want to retrieve. IdMappingTableIdentifier pulumi.StringInput `pulumi:"idMappingTableIdentifier"` // The unique identifier of the membership resource for the ID mapping table. MembershipIdentifier pulumi.StringInput `pulumi:"membershipIdentifier"` @@ -90,6 +94,7 @@ func (o LookupIdMappingTableResultOutput) CollaborationArn() pulumi.StringPtrOut return o.ApplyT(func(v LookupIdMappingTableResult) *string { return v.CollaborationArn }).(pulumi.StringPtrOutput) } +// The unique identifier of the collaboration that contains this ID mapping table. func (o LookupIdMappingTableResultOutput) CollaborationIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIdMappingTableResult) *string { return v.CollaborationIdentifier }).(pulumi.StringPtrOutput) } @@ -99,6 +104,7 @@ func (o LookupIdMappingTableResultOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIdMappingTableResult) *string { return v.Description }).(pulumi.StringPtrOutput) } +// The unique identifier of the ID mapping table identifier that you want to retrieve. func (o LookupIdMappingTableResultOutput) IdMappingTableIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIdMappingTableResult) *string { return v.IdMappingTableIdentifier }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/cleanrooms/getIdNamespaceAssociation.go b/sdk/go/aws/cleanrooms/getIdNamespaceAssociation.go index 7163831d57..85207e1462 100644 --- a/sdk/go/aws/cleanrooms/getIdNamespaceAssociation.go +++ b/sdk/go/aws/cleanrooms/getIdNamespaceAssociation.go @@ -24,6 +24,7 @@ func LookupIdNamespaceAssociation(ctx *pulumi.Context, args *LookupIdNamespaceAs } type LookupIdNamespaceAssociationArgs struct { + // The unique identifier of the ID namespace association that you want to retrieve. IdNamespaceAssociationIdentifier string `pulumi:"idNamespaceAssociationIdentifier"` // The unique identifier of the membership that contains the ID namespace association. MembershipIdentifier string `pulumi:"membershipIdentifier"` @@ -33,12 +34,14 @@ type LookupIdNamespaceAssociationResult struct { // The Amazon Resource Name (ARN) of the ID namespace association. Arn *string `pulumi:"arn"` // The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. - CollaborationArn *string `pulumi:"collaborationArn"` + CollaborationArn *string `pulumi:"collaborationArn"` + // The unique identifier of the collaboration that contains this ID namespace association. CollaborationIdentifier *string `pulumi:"collaborationIdentifier"` // The description of the ID namespace association. Description *string `pulumi:"description"` // The configuration settings for the ID mapping table. - IdMappingConfig *IdNamespaceAssociationIdMappingConfig `pulumi:"idMappingConfig"` + IdMappingConfig *IdNamespaceAssociationIdMappingConfig `pulumi:"idMappingConfig"` + // The unique identifier of the ID namespace association that you want to retrieve. IdNamespaceAssociationIdentifier *string `pulumi:"idNamespaceAssociationIdentifier"` InputReferenceProperties *IdNamespaceAssociationInputReferenceProperties `pulumi:"inputReferenceProperties"` // The Amazon Resource Name (ARN) of the membership resource for this ID namespace association. @@ -59,6 +62,7 @@ func LookupIdNamespaceAssociationOutput(ctx *pulumi.Context, args LookupIdNamesp } type LookupIdNamespaceAssociationOutputArgs struct { + // The unique identifier of the ID namespace association that you want to retrieve. IdNamespaceAssociationIdentifier pulumi.StringInput `pulumi:"idNamespaceAssociationIdentifier"` // The unique identifier of the membership that contains the ID namespace association. MembershipIdentifier pulumi.StringInput `pulumi:"membershipIdentifier"` @@ -92,6 +96,7 @@ func (o LookupIdNamespaceAssociationResultOutput) CollaborationArn() pulumi.Stri return o.ApplyT(func(v LookupIdNamespaceAssociationResult) *string { return v.CollaborationArn }).(pulumi.StringPtrOutput) } +// The unique identifier of the collaboration that contains this ID namespace association. func (o LookupIdNamespaceAssociationResultOutput) CollaborationIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIdNamespaceAssociationResult) *string { return v.CollaborationIdentifier }).(pulumi.StringPtrOutput) } @@ -108,6 +113,7 @@ func (o LookupIdNamespaceAssociationResultOutput) IdMappingConfig() IdNamespaceA }).(IdNamespaceAssociationIdMappingConfigPtrOutput) } +// The unique identifier of the ID namespace association that you want to retrieve. func (o LookupIdNamespaceAssociationResultOutput) IdNamespaceAssociationIdentifier() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupIdNamespaceAssociationResult) *string { return v.IdNamespaceAssociationIdentifier }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/cleanrooms/idMappingTable.go b/sdk/go/aws/cleanrooms/idMappingTable.go index b5a91cd104..7fdcf69e10 100644 --- a/sdk/go/aws/cleanrooms/idMappingTable.go +++ b/sdk/go/aws/cleanrooms/idMappingTable.go @@ -20,11 +20,13 @@ type IdMappingTable struct { // The Amazon Resource Name (ARN) of the ID mapping table. Arn pulumi.StringOutput `pulumi:"arn"` // The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. - CollaborationArn pulumi.StringOutput `pulumi:"collaborationArn"` + CollaborationArn pulumi.StringOutput `pulumi:"collaborationArn"` + // The unique identifier of the collaboration that contains this ID mapping table. CollaborationIdentifier pulumi.StringOutput `pulumi:"collaborationIdentifier"` // The description of the ID mapping table. - Description pulumi.StringPtrOutput `pulumi:"description"` - IdMappingTableIdentifier pulumi.StringOutput `pulumi:"idMappingTableIdentifier"` + Description pulumi.StringPtrOutput `pulumi:"description"` + // The unique identifier of the ID mapping table identifier that you want to retrieve. + IdMappingTableIdentifier pulumi.StringOutput `pulumi:"idMappingTableIdentifier"` // The input reference configuration for the ID mapping table. InputReferenceConfig IdMappingTableInputReferenceConfigOutput `pulumi:"inputReferenceConfig"` InputReferenceProperties IdMappingTableInputReferencePropertiesOutput `pulumi:"inputReferenceProperties"` @@ -169,6 +171,7 @@ func (o IdMappingTableOutput) CollaborationArn() pulumi.StringOutput { return o.ApplyT(func(v *IdMappingTable) pulumi.StringOutput { return v.CollaborationArn }).(pulumi.StringOutput) } +// The unique identifier of the collaboration that contains this ID mapping table. func (o IdMappingTableOutput) CollaborationIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *IdMappingTable) pulumi.StringOutput { return v.CollaborationIdentifier }).(pulumi.StringOutput) } @@ -178,6 +181,7 @@ func (o IdMappingTableOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *IdMappingTable) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// The unique identifier of the ID mapping table identifier that you want to retrieve. func (o IdMappingTableOutput) IdMappingTableIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *IdMappingTable) pulumi.StringOutput { return v.IdMappingTableIdentifier }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cleanrooms/idNamespaceAssociation.go b/sdk/go/aws/cleanrooms/idNamespaceAssociation.go index 647053e316..255d9168a1 100644 --- a/sdk/go/aws/cleanrooms/idNamespaceAssociation.go +++ b/sdk/go/aws/cleanrooms/idNamespaceAssociation.go @@ -20,13 +20,15 @@ type IdNamespaceAssociation struct { // The Amazon Resource Name (ARN) of the ID namespace association. Arn pulumi.StringOutput `pulumi:"arn"` // The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. - CollaborationArn pulumi.StringOutput `pulumi:"collaborationArn"` + CollaborationArn pulumi.StringOutput `pulumi:"collaborationArn"` + // The unique identifier of the collaboration that contains this ID namespace association. CollaborationIdentifier pulumi.StringOutput `pulumi:"collaborationIdentifier"` // The description of the ID namespace association. Description pulumi.StringPtrOutput `pulumi:"description"` // The configuration settings for the ID mapping table. - IdMappingConfig IdNamespaceAssociationIdMappingConfigPtrOutput `pulumi:"idMappingConfig"` - IdNamespaceAssociationIdentifier pulumi.StringOutput `pulumi:"idNamespaceAssociationIdentifier"` + IdMappingConfig IdNamespaceAssociationIdMappingConfigPtrOutput `pulumi:"idMappingConfig"` + // The unique identifier of the ID namespace association that you want to retrieve. + IdNamespaceAssociationIdentifier pulumi.StringOutput `pulumi:"idNamespaceAssociationIdentifier"` // The input reference configuration for the ID namespace association. InputReferenceConfig IdNamespaceAssociationInputReferenceConfigOutput `pulumi:"inputReferenceConfig"` InputReferenceProperties IdNamespaceAssociationInputReferencePropertiesOutput `pulumi:"inputReferenceProperties"` @@ -168,6 +170,7 @@ func (o IdNamespaceAssociationOutput) CollaborationArn() pulumi.StringOutput { return o.ApplyT(func(v *IdNamespaceAssociation) pulumi.StringOutput { return v.CollaborationArn }).(pulumi.StringOutput) } +// The unique identifier of the collaboration that contains this ID namespace association. func (o IdNamespaceAssociationOutput) CollaborationIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *IdNamespaceAssociation) pulumi.StringOutput { return v.CollaborationIdentifier }).(pulumi.StringOutput) } @@ -184,6 +187,7 @@ func (o IdNamespaceAssociationOutput) IdMappingConfig() IdNamespaceAssociationId }).(IdNamespaceAssociationIdMappingConfigPtrOutput) } +// The unique identifier of the ID namespace association that you want to retrieve. func (o IdNamespaceAssociationOutput) IdNamespaceAssociationIdentifier() pulumi.StringOutput { return o.ApplyT(func(v *IdNamespaceAssociation) pulumi.StringOutput { return v.IdNamespaceAssociationIdentifier }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/cloudformation/pulumiEnums.go b/sdk/go/aws/cloudformation/pulumiEnums.go index 10116a2832..a03eb0b429 100644 --- a/sdk/go/aws/cloudformation/pulumiEnums.go +++ b/sdk/go/aws/cloudformation/pulumiEnums.go @@ -370,9 +370,10 @@ const ( type GuardHookTargetOperation string const ( - GuardHookTargetOperationResource = GuardHookTargetOperation("RESOURCE") - GuardHookTargetOperationStack = GuardHookTargetOperation("STACK") - GuardHookTargetOperationChangeSet = GuardHookTargetOperation("CHANGE_SET") + GuardHookTargetOperationResource = GuardHookTargetOperation("RESOURCE") + GuardHookTargetOperationStack = GuardHookTargetOperation("STACK") + GuardHookTargetOperationChangeSet = GuardHookTargetOperation("CHANGE_SET") + GuardHookTargetOperationCloudControl = GuardHookTargetOperation("CLOUD_CONTROL") ) func (GuardHookTargetOperation) ElementType() reflect.Type { @@ -500,6 +501,7 @@ func (o GuardHookTargetOperationPtrOutput) ToStringPtrOutputWithContext(ctx cont // GuardHookTargetOperationResource // GuardHookTargetOperationStack // GuardHookTargetOperationChangeSet +// GuardHookTargetOperationCloudControl type GuardHookTargetOperationInput interface { pulumi.Input @@ -1764,9 +1766,10 @@ func (in *lambdaHookStackFiltersPropertiesFilteringCriteriaPtr) ToLambdaHookStac type LambdaHookTargetOperation string const ( - LambdaHookTargetOperationResource = LambdaHookTargetOperation("RESOURCE") - LambdaHookTargetOperationStack = LambdaHookTargetOperation("STACK") - LambdaHookTargetOperationChangeSet = LambdaHookTargetOperation("CHANGE_SET") + LambdaHookTargetOperationResource = LambdaHookTargetOperation("RESOURCE") + LambdaHookTargetOperationStack = LambdaHookTargetOperation("STACK") + LambdaHookTargetOperationChangeSet = LambdaHookTargetOperation("CHANGE_SET") + LambdaHookTargetOperationCloudControl = LambdaHookTargetOperation("CLOUD_CONTROL") ) func (LambdaHookTargetOperation) ElementType() reflect.Type { @@ -1894,6 +1897,7 @@ func (o LambdaHookTargetOperationPtrOutput) ToStringPtrOutputWithContext(ctx con // LambdaHookTargetOperationResource // LambdaHookTargetOperationStack // LambdaHookTargetOperationChangeSet +// LambdaHookTargetOperationCloudControl type LambdaHookTargetOperationInput interface { pulumi.Input diff --git a/sdk/go/aws/cognito/getUserPool.go b/sdk/go/aws/cognito/getUserPool.go index b903ebcf8f..12a2fde32e 100644 --- a/sdk/go/aws/cognito/getUserPool.go +++ b/sdk/go/aws/cognito/getUserPool.go @@ -86,9 +86,9 @@ type LookupUserPoolResult struct { // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For // more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` - // User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + // User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // - // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . UserPoolAddOns *UserPoolAddOns `pulumi:"userPoolAddOns"` // The ID of the user pool. UserPoolId *string `pulumi:"userPoolId"` @@ -280,9 +280,9 @@ func (o LookupUserPoolResultOutput) UserAttributeUpdateSettings() UserPoolUserAt }).(UserPoolUserAttributeUpdateSettingsPtrOutput) } -// User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . +// User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // -// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . +// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . func (o LookupUserPoolResultOutput) UserPoolAddOns() UserPoolAddOnsPtrOutput { return o.ApplyT(func(v LookupUserPoolResult) *UserPoolAddOns { return v.UserPoolAddOns }).(UserPoolAddOnsPtrOutput) } diff --git a/sdk/go/aws/cognito/getUserPoolClient.go b/sdk/go/aws/cognito/getUserPoolClient.go index 6403206871..0bfd963fb5 100644 --- a/sdk/go/aws/cognito/getUserPoolClient.go +++ b/sdk/go/aws/cognito/getUserPoolClient.go @@ -99,6 +99,8 @@ type LookupUserPoolClientResult struct { // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + // + // To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -301,6 +303,8 @@ func (o LookupUserPoolClientResultOutput) EnableTokenRevocation() pulumi.BoolPtr // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . +// +// To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/go/aws/cognito/pulumiTypes.go b/sdk/go/aws/cognito/pulumiTypes.go index df6464e4c0..99037c99fe 100644 --- a/sdk/go/aws/cognito/pulumiTypes.go +++ b/sdk/go/aws/cognito/pulumiTypes.go @@ -4154,7 +4154,7 @@ type UserPoolPasswordPolicy struct { MinimumLength *int `pulumi:"minimumLength"` // The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . // - // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. PasswordHistorySize *int `pulumi:"passwordHistorySize"` // The requirement in a password policy that users must include at least one lowercase letter in their password. RequireLowercase *bool `pulumi:"requireLowercase"` @@ -4186,7 +4186,7 @@ type UserPoolPasswordPolicyArgs struct { MinimumLength pulumi.IntPtrInput `pulumi:"minimumLength"` // The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . // - // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + // Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. PasswordHistorySize pulumi.IntPtrInput `pulumi:"passwordHistorySize"` // The requirement in a password policy that users must include at least one lowercase letter in their password. RequireLowercase pulumi.BoolPtrInput `pulumi:"requireLowercase"` @@ -4286,7 +4286,7 @@ func (o UserPoolPasswordPolicyOutput) MinimumLength() pulumi.IntPtrOutput { // The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . // -// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. +// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. func (o UserPoolPasswordPolicyOutput) PasswordHistorySize() pulumi.IntPtrOutput { return o.ApplyT(func(v UserPoolPasswordPolicy) *int { return v.PasswordHistorySize }).(pulumi.IntPtrOutput) } @@ -4354,7 +4354,7 @@ func (o UserPoolPasswordPolicyPtrOutput) MinimumLength() pulumi.IntPtrOutput { // The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . // -// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. +// Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. func (o UserPoolPasswordPolicyPtrOutput) PasswordHistorySize() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserPoolPasswordPolicy) *int { if v == nil { @@ -4419,7 +4419,7 @@ func (o UserPoolPasswordPolicyPtrOutput) TemporaryPasswordValidityDays() pulumi. type UserPoolPolicies struct { // The password policy settings for a user pool, including complexity, history, and length requirements. PasswordPolicy *UserPoolPasswordPolicy `pulumi:"passwordPolicy"` - // The policy for allowed types of authentication in a user pool. + // The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . SignInPolicy *UserPoolSignInPolicy `pulumi:"signInPolicy"` @@ -4439,7 +4439,7 @@ type UserPoolPoliciesInput interface { type UserPoolPoliciesArgs struct { // The password policy settings for a user pool, including complexity, history, and length requirements. PasswordPolicy UserPoolPasswordPolicyPtrInput `pulumi:"passwordPolicy"` - // The policy for allowed types of authentication in a user pool. + // The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . SignInPolicy UserPoolSignInPolicyPtrInput `pulumi:"signInPolicy"` @@ -4527,7 +4527,7 @@ func (o UserPoolPoliciesOutput) PasswordPolicy() UserPoolPasswordPolicyPtrOutput return o.ApplyT(func(v UserPoolPolicies) *UserPoolPasswordPolicy { return v.PasswordPolicy }).(UserPoolPasswordPolicyPtrOutput) } -// The policy for allowed types of authentication in a user pool. +// The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o UserPoolPoliciesOutput) SignInPolicy() UserPoolSignInPolicyPtrOutput { @@ -4568,7 +4568,7 @@ func (o UserPoolPoliciesPtrOutput) PasswordPolicy() UserPoolPasswordPolicyPtrOut }).(UserPoolPasswordPolicyPtrOutput) } -// The policy for allowed types of authentication in a user pool. +// The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // // This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . func (o UserPoolPoliciesPtrOutput) SignInPolicy() UserPoolSignInPolicyPtrOutput { diff --git a/sdk/go/aws/cognito/userPool.go b/sdk/go/aws/cognito/userPool.go index b45f0d5934..c3a68e10ec 100644 --- a/sdk/go/aws/cognito/userPool.go +++ b/sdk/go/aws/cognito/userPool.go @@ -81,9 +81,9 @@ type UserPool struct { // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For // more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrOutput `pulumi:"userAttributeUpdateSettings"` - // User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + // User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // - // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . UserPoolAddOns UserPoolAddOnsPtrOutput `pulumi:"userPoolAddOns"` // The ID of the user pool. UserPoolId pulumi.StringOutput `pulumi:"userPoolId"` @@ -217,9 +217,9 @@ type userPoolArgs struct { // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For // more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . UserAttributeUpdateSettings *UserPoolUserAttributeUpdateSettings `pulumi:"userAttributeUpdateSettings"` - // User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + // User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // - // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . UserPoolAddOns *UserPoolAddOns `pulumi:"userPoolAddOns"` // A friendlhy name for your user pool. UserPoolName *string `pulumi:"userPoolName"` @@ -313,9 +313,9 @@ type UserPoolArgs struct { // a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For // more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . UserAttributeUpdateSettings UserPoolUserAttributeUpdateSettingsPtrInput - // User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + // User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // - // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + // For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . UserPoolAddOns UserPoolAddOnsPtrInput // A friendlhy name for your user pool. UserPoolName pulumi.StringPtrInput @@ -519,9 +519,9 @@ func (o UserPoolOutput) UserAttributeUpdateSettings() UserPoolUserAttributeUpdat return o.ApplyT(func(v *UserPool) UserPoolUserAttributeUpdateSettingsPtrOutput { return v.UserAttributeUpdateSettings }).(UserPoolUserAttributeUpdateSettingsPtrOutput) } -// User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . +// User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . // -// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . +// For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . func (o UserPoolOutput) UserPoolAddOns() UserPoolAddOnsPtrOutput { return o.ApplyT(func(v *UserPool) UserPoolAddOnsPtrOutput { return v.UserPoolAddOns }).(UserPoolAddOnsPtrOutput) } diff --git a/sdk/go/aws/cognito/userPoolClient.go b/sdk/go/aws/cognito/userPoolClient.go index 39ca4f34ee..70d7564cd1 100644 --- a/sdk/go/aws/cognito/userPoolClient.go +++ b/sdk/go/aws/cognito/userPoolClient.go @@ -85,6 +85,8 @@ type UserPoolClient struct { // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + // + // To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -261,6 +263,8 @@ type userPoolClientArgs struct { // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + // + // To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -390,6 +394,8 @@ type UserPoolClientArgs struct { // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + // + // To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -596,6 +602,8 @@ func (o UserPoolClientOutput) EnableTokenRevocation() pulumi.BoolPtrOutput { // Valid values include: // // - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . +// +// To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. // - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. // - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. // - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/go/aws/cognito/userPoolUser.go b/sdk/go/aws/cognito/userPoolUser.go index bea179e395..c0ac4fb61d 100644 --- a/sdk/go/aws/cognito/userPoolUser.go +++ b/sdk/go/aws/cognito/userPoolUser.go @@ -20,7 +20,7 @@ type UserPoolUser struct { // // You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. // - // For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + // For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . // // > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: // > - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose. @@ -124,7 +124,7 @@ type userPoolUserArgs struct { // // You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. // - // For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + // For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . // // > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: // > - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose. @@ -176,7 +176,7 @@ type UserPoolUserArgs struct { // // You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. // - // For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + // For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . // // > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: // > - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose. @@ -263,7 +263,7 @@ func (o UserPoolUserOutput) ToUserPoolUserOutputWithContext(ctx context.Context) // // You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. // -// For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . +// For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . // // > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: // > - Store the `ClientMetadata` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the `ClientMetadata` parameter serves no purpose. diff --git a/sdk/go/aws/databrew/dataset.go b/sdk/go/aws/databrew/dataset.go index 3e39a90bf4..9e21a63ca5 100644 --- a/sdk/go/aws/databrew/dataset.go +++ b/sdk/go/aws/databrew/dataset.go @@ -74,6 +74,8 @@ type Dataset struct { Name pulumi.StringOutput `pulumi:"name"` // PathOptions PathOptions DatasetPathOptionsPtrOutput `pulumi:"pathOptions"` + // Source type of the dataset + Source DatasetSourcePtrOutput `pulumi:"source"` // Metadata tags that have been applied to the dataset. Tags aws.CreateOnlyTagArrayOutput `pulumi:"tags"` } @@ -136,6 +138,8 @@ type datasetArgs struct { Name *string `pulumi:"name"` // PathOptions PathOptions *DatasetPathOptions `pulumi:"pathOptions"` + // Source type of the dataset + Source *DatasetSource `pulumi:"source"` // Metadata tags that have been applied to the dataset. Tags []aws.CreateOnlyTag `pulumi:"tags"` } @@ -152,6 +156,8 @@ type DatasetArgs struct { Name pulumi.StringPtrInput // PathOptions PathOptions DatasetPathOptionsPtrInput + // Source type of the dataset + Source DatasetSourcePtrInput // Metadata tags that have been applied to the dataset. Tags aws.CreateOnlyTagArrayInput } @@ -218,6 +224,11 @@ func (o DatasetOutput) PathOptions() DatasetPathOptionsPtrOutput { return o.ApplyT(func(v *Dataset) DatasetPathOptionsPtrOutput { return v.PathOptions }).(DatasetPathOptionsPtrOutput) } +// Source type of the dataset +func (o DatasetOutput) Source() DatasetSourcePtrOutput { + return o.ApplyT(func(v *Dataset) DatasetSourcePtrOutput { return v.Source }).(DatasetSourcePtrOutput) +} + // Metadata tags that have been applied to the dataset. func (o DatasetOutput) Tags() aws.CreateOnlyTagArrayOutput { return o.ApplyT(func(v *Dataset) aws.CreateOnlyTagArrayOutput { return v.Tags }).(aws.CreateOnlyTagArrayOutput) diff --git a/sdk/go/aws/databrew/getDataset.go b/sdk/go/aws/databrew/getDataset.go index 782d782ed2..4219241490 100644 --- a/sdk/go/aws/databrew/getDataset.go +++ b/sdk/go/aws/databrew/getDataset.go @@ -36,6 +36,8 @@ type LookupDatasetResult struct { Input *DatasetInputType `pulumi:"input"` // PathOptions PathOptions *DatasetPathOptions `pulumi:"pathOptions"` + // Source type of the dataset + Source *DatasetSource `pulumi:"source"` } func LookupDatasetOutput(ctx *pulumi.Context, args LookupDatasetOutputArgs, opts ...pulumi.InvokeOption) LookupDatasetResultOutput { @@ -90,6 +92,11 @@ func (o LookupDatasetResultOutput) PathOptions() DatasetPathOptionsPtrOutput { return o.ApplyT(func(v LookupDatasetResult) *DatasetPathOptions { return v.PathOptions }).(DatasetPathOptionsPtrOutput) } +// Source type of the dataset +func (o LookupDatasetResultOutput) Source() DatasetSourcePtrOutput { + return o.ApplyT(func(v LookupDatasetResult) *DatasetSource { return v.Source }).(DatasetSourcePtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupDatasetResultOutput{}) } diff --git a/sdk/go/aws/databrew/pulumiEnums.go b/sdk/go/aws/databrew/pulumiEnums.go index 8a674f630a..d63898553f 100644 --- a/sdk/go/aws/databrew/pulumiEnums.go +++ b/sdk/go/aws/databrew/pulumiEnums.go @@ -680,6 +680,174 @@ func (in *datasetParameterTypePtr) ToDatasetParameterTypePtrOutputWithContext(ct return pulumi.ToOutputWithContext(ctx, in).(DatasetParameterTypePtrOutput) } +// Source type of the dataset +type DatasetSource string + +const ( + DatasetSourceS3 = DatasetSource("S3") + DatasetSourceDataCatalog = DatasetSource("DATA-CATALOG") + DatasetSourceDatabase = DatasetSource("DATABASE") +) + +func (DatasetSource) ElementType() reflect.Type { + return reflect.TypeOf((*DatasetSource)(nil)).Elem() +} + +func (e DatasetSource) ToDatasetSourceOutput() DatasetSourceOutput { + return pulumi.ToOutput(e).(DatasetSourceOutput) +} + +func (e DatasetSource) ToDatasetSourceOutputWithContext(ctx context.Context) DatasetSourceOutput { + return pulumi.ToOutputWithContext(ctx, e).(DatasetSourceOutput) +} + +func (e DatasetSource) ToDatasetSourcePtrOutput() DatasetSourcePtrOutput { + return e.ToDatasetSourcePtrOutputWithContext(context.Background()) +} + +func (e DatasetSource) ToDatasetSourcePtrOutputWithContext(ctx context.Context) DatasetSourcePtrOutput { + return DatasetSource(e).ToDatasetSourceOutputWithContext(ctx).ToDatasetSourcePtrOutputWithContext(ctx) +} + +func (e DatasetSource) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DatasetSource) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e DatasetSource) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e DatasetSource) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type DatasetSourceOutput struct{ *pulumi.OutputState } + +func (DatasetSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DatasetSource)(nil)).Elem() +} + +func (o DatasetSourceOutput) ToDatasetSourceOutput() DatasetSourceOutput { + return o +} + +func (o DatasetSourceOutput) ToDatasetSourceOutputWithContext(ctx context.Context) DatasetSourceOutput { + return o +} + +func (o DatasetSourceOutput) ToDatasetSourcePtrOutput() DatasetSourcePtrOutput { + return o.ToDatasetSourcePtrOutputWithContext(context.Background()) +} + +func (o DatasetSourceOutput) ToDatasetSourcePtrOutputWithContext(ctx context.Context) DatasetSourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DatasetSource) *DatasetSource { + return &v + }).(DatasetSourcePtrOutput) +} + +func (o DatasetSourceOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o DatasetSourceOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DatasetSource) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o DatasetSourceOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DatasetSourceOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e DatasetSource) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type DatasetSourcePtrOutput struct{ *pulumi.OutputState } + +func (DatasetSourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DatasetSource)(nil)).Elem() +} + +func (o DatasetSourcePtrOutput) ToDatasetSourcePtrOutput() DatasetSourcePtrOutput { + return o +} + +func (o DatasetSourcePtrOutput) ToDatasetSourcePtrOutputWithContext(ctx context.Context) DatasetSourcePtrOutput { + return o +} + +func (o DatasetSourcePtrOutput) Elem() DatasetSourceOutput { + return o.ApplyT(func(v *DatasetSource) DatasetSource { + if v != nil { + return *v + } + var ret DatasetSource + return ret + }).(DatasetSourceOutput) +} + +func (o DatasetSourcePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o DatasetSourcePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *DatasetSource) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// DatasetSourceInput is an input type that accepts values of the DatasetSource enum +// A concrete instance of `DatasetSourceInput` can be one of the following: +// +// DatasetSourceS3 +// DatasetSourceDataCatalog +// DatasetSourceDatabase +type DatasetSourceInput interface { + pulumi.Input + + ToDatasetSourceOutput() DatasetSourceOutput + ToDatasetSourceOutputWithContext(context.Context) DatasetSourceOutput +} + +var datasetSourcePtrType = reflect.TypeOf((**DatasetSource)(nil)).Elem() + +type DatasetSourcePtrInput interface { + pulumi.Input + + ToDatasetSourcePtrOutput() DatasetSourcePtrOutput + ToDatasetSourcePtrOutputWithContext(context.Context) DatasetSourcePtrOutput +} + +type datasetSourcePtr string + +func DatasetSourcePtr(v string) DatasetSourcePtrInput { + return (*datasetSourcePtr)(&v) +} + +func (*datasetSourcePtr) ElementType() reflect.Type { + return datasetSourcePtrType +} + +func (in *datasetSourcePtr) ToDatasetSourcePtrOutput() DatasetSourcePtrOutput { + return pulumi.ToOutput(in).(DatasetSourcePtrOutput) +} + +func (in *datasetSourcePtr) ToDatasetSourcePtrOutputWithContext(ctx context.Context) DatasetSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(DatasetSourcePtrOutput) +} + // Database table name type JobDatabaseOutputDatabaseOutputMode string @@ -2542,6 +2710,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DatasetFormatPtrInput)(nil)).Elem(), DatasetFormat("CSV")) pulumi.RegisterInputType(reflect.TypeOf((*DatasetParameterTypeInput)(nil)).Elem(), DatasetParameterType("String")) pulumi.RegisterInputType(reflect.TypeOf((*DatasetParameterTypePtrInput)(nil)).Elem(), DatasetParameterType("String")) + pulumi.RegisterInputType(reflect.TypeOf((*DatasetSourceInput)(nil)).Elem(), DatasetSource("S3")) + pulumi.RegisterInputType(reflect.TypeOf((*DatasetSourcePtrInput)(nil)).Elem(), DatasetSource("S3")) pulumi.RegisterInputType(reflect.TypeOf((*JobDatabaseOutputDatabaseOutputModeInput)(nil)).Elem(), JobDatabaseOutputDatabaseOutputMode("NEW_TABLE")) pulumi.RegisterInputType(reflect.TypeOf((*JobDatabaseOutputDatabaseOutputModePtrInput)(nil)).Elem(), JobDatabaseOutputDatabaseOutputMode("NEW_TABLE")) pulumi.RegisterInputType(reflect.TypeOf((*JobEncryptionModeInput)(nil)).Elem(), JobEncryptionMode("SSE-KMS")) @@ -2572,6 +2742,8 @@ func init() { pulumi.RegisterOutputType(DatasetFormatPtrOutput{}) pulumi.RegisterOutputType(DatasetParameterTypeOutput{}) pulumi.RegisterOutputType(DatasetParameterTypePtrOutput{}) + pulumi.RegisterOutputType(DatasetSourceOutput{}) + pulumi.RegisterOutputType(DatasetSourcePtrOutput{}) pulumi.RegisterOutputType(JobDatabaseOutputDatabaseOutputModeOutput{}) pulumi.RegisterOutputType(JobDatabaseOutputDatabaseOutputModePtrOutput{}) pulumi.RegisterOutputType(JobEncryptionModeOutput{}) diff --git a/sdk/go/aws/databrew/pulumiTypes.go b/sdk/go/aws/databrew/pulumiTypes.go index 296c840919..9caf4ce7fb 100644 --- a/sdk/go/aws/databrew/pulumiTypes.go +++ b/sdk/go/aws/databrew/pulumiTypes.go @@ -2329,7 +2329,8 @@ func (o DatasetPathParameterArrayOutput) Index(i pulumi.IntInput) DatasetPathPar // Input location type DatasetS3Location struct { // The Amazon S3 bucket name. - Bucket string `pulumi:"bucket"` + Bucket string `pulumi:"bucket"` + BucketOwner *string `pulumi:"bucketOwner"` // The unique name of the object in the bucket. Key *string `pulumi:"key"` } @@ -2348,7 +2349,8 @@ type DatasetS3LocationInput interface { // Input location type DatasetS3LocationArgs struct { // The Amazon S3 bucket name. - Bucket pulumi.StringInput `pulumi:"bucket"` + Bucket pulumi.StringInput `pulumi:"bucket"` + BucketOwner pulumi.StringPtrInput `pulumi:"bucketOwner"` // The unique name of the object in the bucket. Key pulumi.StringPtrInput `pulumi:"key"` } @@ -2436,6 +2438,10 @@ func (o DatasetS3LocationOutput) Bucket() pulumi.StringOutput { return o.ApplyT(func(v DatasetS3Location) string { return v.Bucket }).(pulumi.StringOutput) } +func (o DatasetS3LocationOutput) BucketOwner() pulumi.StringPtrOutput { + return o.ApplyT(func(v DatasetS3Location) *string { return v.BucketOwner }).(pulumi.StringPtrOutput) +} + // The unique name of the object in the bucket. func (o DatasetS3LocationOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v DatasetS3Location) *string { return v.Key }).(pulumi.StringPtrOutput) @@ -2475,6 +2481,15 @@ func (o DatasetS3LocationPtrOutput) Bucket() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +func (o DatasetS3LocationPtrOutput) BucketOwner() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DatasetS3Location) *string { + if v == nil { + return nil + } + return v.BucketOwner + }).(pulumi.StringPtrOutput) +} + // The unique name of the object in the bucket. func (o DatasetS3LocationPtrOutput) Key() pulumi.StringPtrOutput { return o.ApplyT(func(v *DatasetS3Location) *string { diff --git a/sdk/go/aws/datazone/pulumiEnums.go b/sdk/go/aws/datazone/pulumiEnums.go index 0870614177..6cfc0da8c4 100644 --- a/sdk/go/aws/datazone/pulumiEnums.go +++ b/sdk/go/aws/datazone/pulumiEnums.go @@ -1137,8 +1137,11 @@ func (in *groupProfileStatusPtr) ToGroupProfileStatusPtrOutputWithContext(ctx co type ProjectMembershipUserDesignation string const ( - ProjectMembershipUserDesignationProjectOwner = ProjectMembershipUserDesignation("PROJECT_OWNER") - ProjectMembershipUserDesignationProjectContributor = ProjectMembershipUserDesignation("PROJECT_CONTRIBUTOR") + ProjectMembershipUserDesignationProjectOwner = ProjectMembershipUserDesignation("PROJECT_OWNER") + ProjectMembershipUserDesignationProjectContributor = ProjectMembershipUserDesignation("PROJECT_CONTRIBUTOR") + ProjectMembershipUserDesignationProjectCatalogViewer = ProjectMembershipUserDesignation("PROJECT_CATALOG_VIEWER") + ProjectMembershipUserDesignationProjectCatalogConsumer = ProjectMembershipUserDesignation("PROJECT_CATALOG_CONSUMER") + ProjectMembershipUserDesignationProjectCatalogSteward = ProjectMembershipUserDesignation("PROJECT_CATALOG_STEWARD") ) func (ProjectMembershipUserDesignation) ElementType() reflect.Type { @@ -1265,6 +1268,9 @@ func (o ProjectMembershipUserDesignationPtrOutput) ToStringPtrOutputWithContext( // // ProjectMembershipUserDesignationProjectOwner // ProjectMembershipUserDesignationProjectContributor +// ProjectMembershipUserDesignationProjectCatalogViewer +// ProjectMembershipUserDesignationProjectCatalogConsumer +// ProjectMembershipUserDesignationProjectCatalogSteward type ProjectMembershipUserDesignationInput interface { pulumi.Input diff --git a/sdk/go/aws/datazone/subscriptionTarget.go b/sdk/go/aws/datazone/subscriptionTarget.go index b2e8fa68cd..47b70b094c 100644 --- a/sdk/go/aws/datazone/subscriptionTarget.go +++ b/sdk/go/aws/datazone/subscriptionTarget.go @@ -35,7 +35,7 @@ type SubscriptionTarget struct { // The ID of the environment in which subscription target would be created. EnvironmentIdentifier pulumi.StringOutput `pulumi:"environmentIdentifier"` // The manage access role that is used to create the subscription target. - ManageAccessRole pulumi.StringOutput `pulumi:"manageAccessRole"` + ManageAccessRole pulumi.StringPtrOutput `pulumi:"manageAccessRole"` // The name of the subscription target. Name pulumi.StringOutput `pulumi:"name"` // The identifier of the project specified in the subscription target. @@ -71,9 +71,6 @@ func NewSubscriptionTarget(ctx *pulumi.Context, if args.EnvironmentIdentifier == nil { return nil, errors.New("invalid value for required argument 'EnvironmentIdentifier'") } - if args.ManageAccessRole == nil { - return nil, errors.New("invalid value for required argument 'ManageAccessRole'") - } if args.SubscriptionTargetConfig == nil { return nil, errors.New("invalid value for required argument 'SubscriptionTargetConfig'") } @@ -128,7 +125,7 @@ type subscriptionTargetArgs struct { // The ID of the environment in which subscription target would be created. EnvironmentIdentifier string `pulumi:"environmentIdentifier"` // The manage access role that is used to create the subscription target. - ManageAccessRole string `pulumi:"manageAccessRole"` + ManageAccessRole *string `pulumi:"manageAccessRole"` // The name of the subscription target. Name *string `pulumi:"name"` // The provider of the subscription target. @@ -150,7 +147,7 @@ type SubscriptionTargetArgs struct { // The ID of the environment in which subscription target would be created. EnvironmentIdentifier pulumi.StringInput // The manage access role that is used to create the subscription target. - ManageAccessRole pulumi.StringInput + ManageAccessRole pulumi.StringPtrInput // The name of the subscription target. Name pulumi.StringPtrInput // The provider of the subscription target. @@ -244,8 +241,8 @@ func (o SubscriptionTargetOutput) EnvironmentIdentifier() pulumi.StringOutput { } // The manage access role that is used to create the subscription target. -func (o SubscriptionTargetOutput) ManageAccessRole() pulumi.StringOutput { - return o.ApplyT(func(v *SubscriptionTarget) pulumi.StringOutput { return v.ManageAccessRole }).(pulumi.StringOutput) +func (o SubscriptionTargetOutput) ManageAccessRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SubscriptionTarget) pulumi.StringPtrOutput { return v.ManageAccessRole }).(pulumi.StringPtrOutput) } // The name of the subscription target. diff --git a/sdk/go/aws/ec2/getNetworkAcl.go b/sdk/go/aws/ec2/getNetworkAcl.go index 1bcd150bb3..57b9141007 100644 --- a/sdk/go/aws/ec2/getNetworkAcl.go +++ b/sdk/go/aws/ec2/getNetworkAcl.go @@ -13,6 +13,8 @@ import ( ) // Specifies a network ACL for your VPC. +// +// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). func LookupNetworkAcl(ctx *pulumi.Context, args *LookupNetworkAclArgs, opts ...pulumi.InvokeOption) (*LookupNetworkAclResult, error) { opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupNetworkAclResult diff --git a/sdk/go/aws/ec2/getVpcEndpoint.go b/sdk/go/aws/ec2/getVpcEndpoint.go index fd6b143beb..4aab542d5d 100644 --- a/sdk/go/aws/ec2/getVpcEndpoint.go +++ b/sdk/go/aws/ec2/getVpcEndpoint.go @@ -7,6 +7,7 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -66,7 +67,8 @@ type LookupVpcEndpointResult struct { // The IDs of the security groups to associate with the endpoint network interfaces. If this parameter is not specified, we use the default security group for the VPC. Security groups are supported only for interface endpoints. SecurityGroupIds []string `pulumi:"securityGroupIds"` // The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. - SubnetIds []string `pulumi:"subnetIds"` + SubnetIds []string `pulumi:"subnetIds"` + Tags []aws.Tag `pulumi:"tags"` } func LookupVpcEndpointOutput(ctx *pulumi.Context, args LookupVpcEndpointOutputArgs, opts ...pulumi.InvokeOption) LookupVpcEndpointResultOutput { @@ -169,6 +171,10 @@ func (o LookupVpcEndpointResultOutput) SubnetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupVpcEndpointResult) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) } +func (o LookupVpcEndpointResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupVpcEndpointResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + func init() { pulumi.RegisterOutputType(LookupVpcEndpointResultOutput{}) } diff --git a/sdk/go/aws/ec2/networkAcl.go b/sdk/go/aws/ec2/networkAcl.go index 178bf32416..1cea73b742 100644 --- a/sdk/go/aws/ec2/networkAcl.go +++ b/sdk/go/aws/ec2/networkAcl.go @@ -14,6 +14,8 @@ import ( ) // Specifies a network ACL for your VPC. +// +// To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). type NetworkAcl struct { pulumi.CustomResourceState diff --git a/sdk/go/aws/ec2/pulumiTypes.go b/sdk/go/aws/ec2/pulumiTypes.go index c08533d0fc..db7038e343 100644 --- a/sdk/go/aws/ec2/pulumiTypes.go +++ b/sdk/go/aws/ec2/pulumiTypes.go @@ -1583,6 +1583,139 @@ func (o Ec2FleetBaselineEbsBandwidthMbpsRequestPtrOutput) Min() pulumi.IntPtrOut }).(pulumi.IntPtrOutput) } +type Ec2FleetBaselinePerformanceFactorsRequest struct { + Cpu *Ec2FleetCpuPerformanceFactorRequest `pulumi:"cpu"` +} + +// Ec2FleetBaselinePerformanceFactorsRequestInput is an input type that accepts Ec2FleetBaselinePerformanceFactorsRequestArgs and Ec2FleetBaselinePerformanceFactorsRequestOutput values. +// You can construct a concrete instance of `Ec2FleetBaselinePerformanceFactorsRequestInput` via: +// +// Ec2FleetBaselinePerformanceFactorsRequestArgs{...} +type Ec2FleetBaselinePerformanceFactorsRequestInput interface { + pulumi.Input + + ToEc2FleetBaselinePerformanceFactorsRequestOutput() Ec2FleetBaselinePerformanceFactorsRequestOutput + ToEc2FleetBaselinePerformanceFactorsRequestOutputWithContext(context.Context) Ec2FleetBaselinePerformanceFactorsRequestOutput +} + +type Ec2FleetBaselinePerformanceFactorsRequestArgs struct { + Cpu Ec2FleetCpuPerformanceFactorRequestPtrInput `pulumi:"cpu"` +} + +func (Ec2FleetBaselinePerformanceFactorsRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (i Ec2FleetBaselinePerformanceFactorsRequestArgs) ToEc2FleetBaselinePerformanceFactorsRequestOutput() Ec2FleetBaselinePerformanceFactorsRequestOutput { + return i.ToEc2FleetBaselinePerformanceFactorsRequestOutputWithContext(context.Background()) +} + +func (i Ec2FleetBaselinePerformanceFactorsRequestArgs) ToEc2FleetBaselinePerformanceFactorsRequestOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetBaselinePerformanceFactorsRequestOutput) +} + +func (i Ec2FleetBaselinePerformanceFactorsRequestArgs) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutput() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return i.ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (i Ec2FleetBaselinePerformanceFactorsRequestArgs) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetBaselinePerformanceFactorsRequestOutput).ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx) +} + +// Ec2FleetBaselinePerformanceFactorsRequestPtrInput is an input type that accepts Ec2FleetBaselinePerformanceFactorsRequestArgs, Ec2FleetBaselinePerformanceFactorsRequestPtr and Ec2FleetBaselinePerformanceFactorsRequestPtrOutput values. +// You can construct a concrete instance of `Ec2FleetBaselinePerformanceFactorsRequestPtrInput` via: +// +// Ec2FleetBaselinePerformanceFactorsRequestArgs{...} +// +// or: +// +// nil +type Ec2FleetBaselinePerformanceFactorsRequestPtrInput interface { + pulumi.Input + + ToEc2FleetBaselinePerformanceFactorsRequestPtrOutput() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput + ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Context) Ec2FleetBaselinePerformanceFactorsRequestPtrOutput +} + +type ec2FleetBaselinePerformanceFactorsRequestPtrType Ec2FleetBaselinePerformanceFactorsRequestArgs + +func Ec2FleetBaselinePerformanceFactorsRequestPtr(v *Ec2FleetBaselinePerformanceFactorsRequestArgs) Ec2FleetBaselinePerformanceFactorsRequestPtrInput { + return (*ec2FleetBaselinePerformanceFactorsRequestPtrType)(v) +} + +func (*ec2FleetBaselinePerformanceFactorsRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Ec2FleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (i *ec2FleetBaselinePerformanceFactorsRequestPtrType) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutput() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return i.ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (i *ec2FleetBaselinePerformanceFactorsRequestPtrType) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) +} + +type Ec2FleetBaselinePerformanceFactorsRequestOutput struct{ *pulumi.OutputState } + +func (Ec2FleetBaselinePerformanceFactorsRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestOutput) ToEc2FleetBaselinePerformanceFactorsRequestOutput() Ec2FleetBaselinePerformanceFactorsRequestOutput { + return o +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestOutput) ToEc2FleetBaselinePerformanceFactorsRequestOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestOutput { + return o +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestOutput) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutput() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestOutput) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Ec2FleetBaselinePerformanceFactorsRequest) *Ec2FleetBaselinePerformanceFactorsRequest { + return &v + }).(Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestOutput) Cpu() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyT(func(v Ec2FleetBaselinePerformanceFactorsRequest) *Ec2FleetCpuPerformanceFactorRequest { return v.Cpu }).(Ec2FleetCpuPerformanceFactorRequestPtrOutput) +} + +type Ec2FleetBaselinePerformanceFactorsRequestPtrOutput struct{ *pulumi.OutputState } + +func (Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Ec2FleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutput() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) ToEc2FleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) Elem() Ec2FleetBaselinePerformanceFactorsRequestOutput { + return o.ApplyT(func(v *Ec2FleetBaselinePerformanceFactorsRequest) Ec2FleetBaselinePerformanceFactorsRequest { + if v != nil { + return *v + } + var ret Ec2FleetBaselinePerformanceFactorsRequest + return ret + }).(Ec2FleetBaselinePerformanceFactorsRequestOutput) +} + +func (o Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) Cpu() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyT(func(v *Ec2FleetBaselinePerformanceFactorsRequest) *Ec2FleetCpuPerformanceFactorRequest { + if v == nil { + return nil + } + return v.Cpu + }).(Ec2FleetCpuPerformanceFactorRequestPtrOutput) +} + type Ec2FleetCapacityRebalance struct { // The replacement strategy to use. Only available for fleets of type `maintain` . // @@ -1936,6 +2069,141 @@ func (o Ec2FleetCapacityReservationOptionsRequestPtrOutput) UsageStrategy() Ec2F }).(Ec2FleetCapacityReservationOptionsRequestUsageStrategyPtrOutput) } +type Ec2FleetCpuPerformanceFactorRequest struct { + References []Ec2FleetPerformanceFactorReferenceRequest `pulumi:"references"` +} + +// Ec2FleetCpuPerformanceFactorRequestInput is an input type that accepts Ec2FleetCpuPerformanceFactorRequestArgs and Ec2FleetCpuPerformanceFactorRequestOutput values. +// You can construct a concrete instance of `Ec2FleetCpuPerformanceFactorRequestInput` via: +// +// Ec2FleetCpuPerformanceFactorRequestArgs{...} +type Ec2FleetCpuPerformanceFactorRequestInput interface { + pulumi.Input + + ToEc2FleetCpuPerformanceFactorRequestOutput() Ec2FleetCpuPerformanceFactorRequestOutput + ToEc2FleetCpuPerformanceFactorRequestOutputWithContext(context.Context) Ec2FleetCpuPerformanceFactorRequestOutput +} + +type Ec2FleetCpuPerformanceFactorRequestArgs struct { + References Ec2FleetPerformanceFactorReferenceRequestArrayInput `pulumi:"references"` +} + +func (Ec2FleetCpuPerformanceFactorRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (i Ec2FleetCpuPerformanceFactorRequestArgs) ToEc2FleetCpuPerformanceFactorRequestOutput() Ec2FleetCpuPerformanceFactorRequestOutput { + return i.ToEc2FleetCpuPerformanceFactorRequestOutputWithContext(context.Background()) +} + +func (i Ec2FleetCpuPerformanceFactorRequestArgs) ToEc2FleetCpuPerformanceFactorRequestOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetCpuPerformanceFactorRequestOutput) +} + +func (i Ec2FleetCpuPerformanceFactorRequestArgs) ToEc2FleetCpuPerformanceFactorRequestPtrOutput() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return i.ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (i Ec2FleetCpuPerformanceFactorRequestArgs) ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetCpuPerformanceFactorRequestOutput).ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx) +} + +// Ec2FleetCpuPerformanceFactorRequestPtrInput is an input type that accepts Ec2FleetCpuPerformanceFactorRequestArgs, Ec2FleetCpuPerformanceFactorRequestPtr and Ec2FleetCpuPerformanceFactorRequestPtrOutput values. +// You can construct a concrete instance of `Ec2FleetCpuPerformanceFactorRequestPtrInput` via: +// +// Ec2FleetCpuPerformanceFactorRequestArgs{...} +// +// or: +// +// nil +type Ec2FleetCpuPerformanceFactorRequestPtrInput interface { + pulumi.Input + + ToEc2FleetCpuPerformanceFactorRequestPtrOutput() Ec2FleetCpuPerformanceFactorRequestPtrOutput + ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Context) Ec2FleetCpuPerformanceFactorRequestPtrOutput +} + +type ec2FleetCpuPerformanceFactorRequestPtrType Ec2FleetCpuPerformanceFactorRequestArgs + +func Ec2FleetCpuPerformanceFactorRequestPtr(v *Ec2FleetCpuPerformanceFactorRequestArgs) Ec2FleetCpuPerformanceFactorRequestPtrInput { + return (*ec2FleetCpuPerformanceFactorRequestPtrType)(v) +} + +func (*ec2FleetCpuPerformanceFactorRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**Ec2FleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (i *ec2FleetCpuPerformanceFactorRequestPtrType) ToEc2FleetCpuPerformanceFactorRequestPtrOutput() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return i.ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (i *ec2FleetCpuPerformanceFactorRequestPtrType) ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetCpuPerformanceFactorRequestPtrOutput) +} + +type Ec2FleetCpuPerformanceFactorRequestOutput struct{ *pulumi.OutputState } + +func (Ec2FleetCpuPerformanceFactorRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (o Ec2FleetCpuPerformanceFactorRequestOutput) ToEc2FleetCpuPerformanceFactorRequestOutput() Ec2FleetCpuPerformanceFactorRequestOutput { + return o +} + +func (o Ec2FleetCpuPerformanceFactorRequestOutput) ToEc2FleetCpuPerformanceFactorRequestOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestOutput { + return o +} + +func (o Ec2FleetCpuPerformanceFactorRequestOutput) ToEc2FleetCpuPerformanceFactorRequestPtrOutput() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o.ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (o Ec2FleetCpuPerformanceFactorRequestOutput) ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v Ec2FleetCpuPerformanceFactorRequest) *Ec2FleetCpuPerformanceFactorRequest { + return &v + }).(Ec2FleetCpuPerformanceFactorRequestPtrOutput) +} + +func (o Ec2FleetCpuPerformanceFactorRequestOutput) References() Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return o.ApplyT(func(v Ec2FleetCpuPerformanceFactorRequest) []Ec2FleetPerformanceFactorReferenceRequest { + return v.References + }).(Ec2FleetPerformanceFactorReferenceRequestArrayOutput) +} + +type Ec2FleetCpuPerformanceFactorRequestPtrOutput struct{ *pulumi.OutputState } + +func (Ec2FleetCpuPerformanceFactorRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Ec2FleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (o Ec2FleetCpuPerformanceFactorRequestPtrOutput) ToEc2FleetCpuPerformanceFactorRequestPtrOutput() Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o +} + +func (o Ec2FleetCpuPerformanceFactorRequestPtrOutput) ToEc2FleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) Ec2FleetCpuPerformanceFactorRequestPtrOutput { + return o +} + +func (o Ec2FleetCpuPerformanceFactorRequestPtrOutput) Elem() Ec2FleetCpuPerformanceFactorRequestOutput { + return o.ApplyT(func(v *Ec2FleetCpuPerformanceFactorRequest) Ec2FleetCpuPerformanceFactorRequest { + if v != nil { + return *v + } + var ret Ec2FleetCpuPerformanceFactorRequest + return ret + }).(Ec2FleetCpuPerformanceFactorRequestOutput) +} + +func (o Ec2FleetCpuPerformanceFactorRequestPtrOutput) References() Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return o.ApplyT(func(v *Ec2FleetCpuPerformanceFactorRequest) []Ec2FleetPerformanceFactorReferenceRequest { + if v == nil { + return nil + } + return v.References + }).(Ec2FleetPerformanceFactorReferenceRequestArrayOutput) +} + type Ec2FleetFleetLaunchTemplateConfigRequest struct { // The launch template to use. You must specify either the launch template ID or launch template name in the request. LaunchTemplateSpecification *Ec2FleetFleetLaunchTemplateSpecificationRequest `pulumi:"launchTemplateSpecification"` @@ -2541,7 +2809,8 @@ type Ec2FleetInstanceRequirementsRequest struct { // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps *Ec2FleetBaselineEbsBandwidthMbpsRequest `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps *Ec2FleetBaselineEbsBandwidthMbpsRequest `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors *Ec2FleetBaselinePerformanceFactorsRequest `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -2731,7 +3000,8 @@ type Ec2FleetInstanceRequirementsRequestArgs struct { // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps Ec2FleetBaselineEbsBandwidthMbpsRequestPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps Ec2FleetBaselineEbsBandwidthMbpsRequestPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors Ec2FleetBaselinePerformanceFactorsRequestPtrInput `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -3025,6 +3295,12 @@ func (o Ec2FleetInstanceRequirementsRequestOutput) BaselineEbsBandwidthMbps() Ec }).(Ec2FleetBaselineEbsBandwidthMbpsRequestPtrOutput) } +func (o Ec2FleetInstanceRequirementsRequestOutput) BaselinePerformanceFactors() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyT(func(v Ec2FleetInstanceRequirementsRequest) *Ec2FleetBaselinePerformanceFactorsRequest { + return v.BaselinePerformanceFactors + }).(Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -3357,6 +3633,15 @@ func (o Ec2FleetInstanceRequirementsRequestPtrOutput) BaselineEbsBandwidthMbps() }).(Ec2FleetBaselineEbsBandwidthMbpsRequestPtrOutput) } +func (o Ec2FleetInstanceRequirementsRequestPtrOutput) BaselinePerformanceFactors() Ec2FleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyT(func(v *Ec2FleetInstanceRequirementsRequest) *Ec2FleetBaselinePerformanceFactorsRequest { + if v == nil { + return nil + } + return v.BaselinePerformanceFactors + }).(Ec2FleetBaselinePerformanceFactorsRequestPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -4662,6 +4947,100 @@ func (o Ec2FleetOnDemandOptionsRequestPtrOutput) SingleInstanceType() pulumi.Boo }).(pulumi.BoolPtrOutput) } +type Ec2FleetPerformanceFactorReferenceRequest struct { + InstanceFamily *string `pulumi:"instanceFamily"` +} + +// Ec2FleetPerformanceFactorReferenceRequestInput is an input type that accepts Ec2FleetPerformanceFactorReferenceRequestArgs and Ec2FleetPerformanceFactorReferenceRequestOutput values. +// You can construct a concrete instance of `Ec2FleetPerformanceFactorReferenceRequestInput` via: +// +// Ec2FleetPerformanceFactorReferenceRequestArgs{...} +type Ec2FleetPerformanceFactorReferenceRequestInput interface { + pulumi.Input + + ToEc2FleetPerformanceFactorReferenceRequestOutput() Ec2FleetPerformanceFactorReferenceRequestOutput + ToEc2FleetPerformanceFactorReferenceRequestOutputWithContext(context.Context) Ec2FleetPerformanceFactorReferenceRequestOutput +} + +type Ec2FleetPerformanceFactorReferenceRequestArgs struct { + InstanceFamily pulumi.StringPtrInput `pulumi:"instanceFamily"` +} + +func (Ec2FleetPerformanceFactorReferenceRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (i Ec2FleetPerformanceFactorReferenceRequestArgs) ToEc2FleetPerformanceFactorReferenceRequestOutput() Ec2FleetPerformanceFactorReferenceRequestOutput { + return i.ToEc2FleetPerformanceFactorReferenceRequestOutputWithContext(context.Background()) +} + +func (i Ec2FleetPerformanceFactorReferenceRequestArgs) ToEc2FleetPerformanceFactorReferenceRequestOutputWithContext(ctx context.Context) Ec2FleetPerformanceFactorReferenceRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetPerformanceFactorReferenceRequestOutput) +} + +// Ec2FleetPerformanceFactorReferenceRequestArrayInput is an input type that accepts Ec2FleetPerformanceFactorReferenceRequestArray and Ec2FleetPerformanceFactorReferenceRequestArrayOutput values. +// You can construct a concrete instance of `Ec2FleetPerformanceFactorReferenceRequestArrayInput` via: +// +// Ec2FleetPerformanceFactorReferenceRequestArray{ Ec2FleetPerformanceFactorReferenceRequestArgs{...} } +type Ec2FleetPerformanceFactorReferenceRequestArrayInput interface { + pulumi.Input + + ToEc2FleetPerformanceFactorReferenceRequestArrayOutput() Ec2FleetPerformanceFactorReferenceRequestArrayOutput + ToEc2FleetPerformanceFactorReferenceRequestArrayOutputWithContext(context.Context) Ec2FleetPerformanceFactorReferenceRequestArrayOutput +} + +type Ec2FleetPerformanceFactorReferenceRequestArray []Ec2FleetPerformanceFactorReferenceRequestInput + +func (Ec2FleetPerformanceFactorReferenceRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]Ec2FleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (i Ec2FleetPerformanceFactorReferenceRequestArray) ToEc2FleetPerformanceFactorReferenceRequestArrayOutput() Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return i.ToEc2FleetPerformanceFactorReferenceRequestArrayOutputWithContext(context.Background()) +} + +func (i Ec2FleetPerformanceFactorReferenceRequestArray) ToEc2FleetPerformanceFactorReferenceRequestArrayOutputWithContext(ctx context.Context) Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(Ec2FleetPerformanceFactorReferenceRequestArrayOutput) +} + +type Ec2FleetPerformanceFactorReferenceRequestOutput struct{ *pulumi.OutputState } + +func (Ec2FleetPerformanceFactorReferenceRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*Ec2FleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (o Ec2FleetPerformanceFactorReferenceRequestOutput) ToEc2FleetPerformanceFactorReferenceRequestOutput() Ec2FleetPerformanceFactorReferenceRequestOutput { + return o +} + +func (o Ec2FleetPerformanceFactorReferenceRequestOutput) ToEc2FleetPerformanceFactorReferenceRequestOutputWithContext(ctx context.Context) Ec2FleetPerformanceFactorReferenceRequestOutput { + return o +} + +func (o Ec2FleetPerformanceFactorReferenceRequestOutput) InstanceFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v Ec2FleetPerformanceFactorReferenceRequest) *string { return v.InstanceFamily }).(pulumi.StringPtrOutput) +} + +type Ec2FleetPerformanceFactorReferenceRequestArrayOutput struct{ *pulumi.OutputState } + +func (Ec2FleetPerformanceFactorReferenceRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]Ec2FleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (o Ec2FleetPerformanceFactorReferenceRequestArrayOutput) ToEc2FleetPerformanceFactorReferenceRequestArrayOutput() Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return o +} + +func (o Ec2FleetPerformanceFactorReferenceRequestArrayOutput) ToEc2FleetPerformanceFactorReferenceRequestArrayOutputWithContext(ctx context.Context) Ec2FleetPerformanceFactorReferenceRequestArrayOutput { + return o +} + +func (o Ec2FleetPerformanceFactorReferenceRequestArrayOutput) Index(i pulumi.IntInput) Ec2FleetPerformanceFactorReferenceRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) Ec2FleetPerformanceFactorReferenceRequest { + return vs[0].([]Ec2FleetPerformanceFactorReferenceRequest)[vs[1].(int)] + }).(Ec2FleetPerformanceFactorReferenceRequestOutput) +} + type Ec2FleetPlacement struct { // The affinity setting for the instance on the Dedicated Host. // @@ -22551,6 +22930,139 @@ func (o SpotFleetBaselineEbsBandwidthMbpsRequestPtrOutput) Min() pulumi.IntPtrOu }).(pulumi.IntPtrOutput) } +type SpotFleetBaselinePerformanceFactorsRequest struct { + Cpu *SpotFleetCpuPerformanceFactorRequest `pulumi:"cpu"` +} + +// SpotFleetBaselinePerformanceFactorsRequestInput is an input type that accepts SpotFleetBaselinePerformanceFactorsRequestArgs and SpotFleetBaselinePerformanceFactorsRequestOutput values. +// You can construct a concrete instance of `SpotFleetBaselinePerformanceFactorsRequestInput` via: +// +// SpotFleetBaselinePerformanceFactorsRequestArgs{...} +type SpotFleetBaselinePerformanceFactorsRequestInput interface { + pulumi.Input + + ToSpotFleetBaselinePerformanceFactorsRequestOutput() SpotFleetBaselinePerformanceFactorsRequestOutput + ToSpotFleetBaselinePerformanceFactorsRequestOutputWithContext(context.Context) SpotFleetBaselinePerformanceFactorsRequestOutput +} + +type SpotFleetBaselinePerformanceFactorsRequestArgs struct { + Cpu SpotFleetCpuPerformanceFactorRequestPtrInput `pulumi:"cpu"` +} + +func (SpotFleetBaselinePerformanceFactorsRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (i SpotFleetBaselinePerformanceFactorsRequestArgs) ToSpotFleetBaselinePerformanceFactorsRequestOutput() SpotFleetBaselinePerformanceFactorsRequestOutput { + return i.ToSpotFleetBaselinePerformanceFactorsRequestOutputWithContext(context.Background()) +} + +func (i SpotFleetBaselinePerformanceFactorsRequestArgs) ToSpotFleetBaselinePerformanceFactorsRequestOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetBaselinePerformanceFactorsRequestOutput) +} + +func (i SpotFleetBaselinePerformanceFactorsRequestArgs) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutput() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return i.ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetBaselinePerformanceFactorsRequestArgs) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetBaselinePerformanceFactorsRequestOutput).ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx) +} + +// SpotFleetBaselinePerformanceFactorsRequestPtrInput is an input type that accepts SpotFleetBaselinePerformanceFactorsRequestArgs, SpotFleetBaselinePerformanceFactorsRequestPtr and SpotFleetBaselinePerformanceFactorsRequestPtrOutput values. +// You can construct a concrete instance of `SpotFleetBaselinePerformanceFactorsRequestPtrInput` via: +// +// SpotFleetBaselinePerformanceFactorsRequestArgs{...} +// +// or: +// +// nil +type SpotFleetBaselinePerformanceFactorsRequestPtrInput interface { + pulumi.Input + + ToSpotFleetBaselinePerformanceFactorsRequestPtrOutput() SpotFleetBaselinePerformanceFactorsRequestPtrOutput + ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Context) SpotFleetBaselinePerformanceFactorsRequestPtrOutput +} + +type spotFleetBaselinePerformanceFactorsRequestPtrType SpotFleetBaselinePerformanceFactorsRequestArgs + +func SpotFleetBaselinePerformanceFactorsRequestPtr(v *SpotFleetBaselinePerformanceFactorsRequestArgs) SpotFleetBaselinePerformanceFactorsRequestPtrInput { + return (*spotFleetBaselinePerformanceFactorsRequestPtrType)(v) +} + +func (*spotFleetBaselinePerformanceFactorsRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (i *spotFleetBaselinePerformanceFactorsRequestPtrType) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutput() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return i.ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetBaselinePerformanceFactorsRequestPtrType) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetBaselinePerformanceFactorsRequestPtrOutput) +} + +type SpotFleetBaselinePerformanceFactorsRequestOutput struct{ *pulumi.OutputState } + +func (SpotFleetBaselinePerformanceFactorsRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (o SpotFleetBaselinePerformanceFactorsRequestOutput) ToSpotFleetBaselinePerformanceFactorsRequestOutput() SpotFleetBaselinePerformanceFactorsRequestOutput { + return o +} + +func (o SpotFleetBaselinePerformanceFactorsRequestOutput) ToSpotFleetBaselinePerformanceFactorsRequestOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestOutput { + return o +} + +func (o SpotFleetBaselinePerformanceFactorsRequestOutput) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutput() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetBaselinePerformanceFactorsRequestOutput) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetBaselinePerformanceFactorsRequest) *SpotFleetBaselinePerformanceFactorsRequest { + return &v + }).(SpotFleetBaselinePerformanceFactorsRequestPtrOutput) +} + +func (o SpotFleetBaselinePerformanceFactorsRequestOutput) Cpu() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyT(func(v SpotFleetBaselinePerformanceFactorsRequest) *SpotFleetCpuPerformanceFactorRequest { return v.Cpu }).(SpotFleetCpuPerformanceFactorRequestPtrOutput) +} + +type SpotFleetBaselinePerformanceFactorsRequestPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetBaselinePerformanceFactorsRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetBaselinePerformanceFactorsRequest)(nil)).Elem() +} + +func (o SpotFleetBaselinePerformanceFactorsRequestPtrOutput) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutput() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o +} + +func (o SpotFleetBaselinePerformanceFactorsRequestPtrOutput) ToSpotFleetBaselinePerformanceFactorsRequestPtrOutputWithContext(ctx context.Context) SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o +} + +func (o SpotFleetBaselinePerformanceFactorsRequestPtrOutput) Elem() SpotFleetBaselinePerformanceFactorsRequestOutput { + return o.ApplyT(func(v *SpotFleetBaselinePerformanceFactorsRequest) SpotFleetBaselinePerformanceFactorsRequest { + if v != nil { + return *v + } + var ret SpotFleetBaselinePerformanceFactorsRequest + return ret + }).(SpotFleetBaselinePerformanceFactorsRequestOutput) +} + +func (o SpotFleetBaselinePerformanceFactorsRequestPtrOutput) Cpu() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyT(func(v *SpotFleetBaselinePerformanceFactorsRequest) *SpotFleetCpuPerformanceFactorRequest { + if v == nil { + return nil + } + return v.Cpu + }).(SpotFleetCpuPerformanceFactorRequestPtrOutput) +} + type SpotFleetBlockDeviceMapping struct { // The device name (for example, `/dev/sdh` or `xvdh` ). DeviceName string `pulumi:"deviceName"` @@ -22923,6 +23435,141 @@ func (o SpotFleetClassicLoadBalancersConfigPtrOutput) ClassicLoadBalancers() Spo }).(SpotFleetClassicLoadBalancerArrayOutput) } +type SpotFleetCpuPerformanceFactorRequest struct { + References []SpotFleetPerformanceFactorReferenceRequest `pulumi:"references"` +} + +// SpotFleetCpuPerformanceFactorRequestInput is an input type that accepts SpotFleetCpuPerformanceFactorRequestArgs and SpotFleetCpuPerformanceFactorRequestOutput values. +// You can construct a concrete instance of `SpotFleetCpuPerformanceFactorRequestInput` via: +// +// SpotFleetCpuPerformanceFactorRequestArgs{...} +type SpotFleetCpuPerformanceFactorRequestInput interface { + pulumi.Input + + ToSpotFleetCpuPerformanceFactorRequestOutput() SpotFleetCpuPerformanceFactorRequestOutput + ToSpotFleetCpuPerformanceFactorRequestOutputWithContext(context.Context) SpotFleetCpuPerformanceFactorRequestOutput +} + +type SpotFleetCpuPerformanceFactorRequestArgs struct { + References SpotFleetPerformanceFactorReferenceRequestArrayInput `pulumi:"references"` +} + +func (SpotFleetCpuPerformanceFactorRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (i SpotFleetCpuPerformanceFactorRequestArgs) ToSpotFleetCpuPerformanceFactorRequestOutput() SpotFleetCpuPerformanceFactorRequestOutput { + return i.ToSpotFleetCpuPerformanceFactorRequestOutputWithContext(context.Background()) +} + +func (i SpotFleetCpuPerformanceFactorRequestArgs) ToSpotFleetCpuPerformanceFactorRequestOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetCpuPerformanceFactorRequestOutput) +} + +func (i SpotFleetCpuPerformanceFactorRequestArgs) ToSpotFleetCpuPerformanceFactorRequestPtrOutput() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return i.ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (i SpotFleetCpuPerformanceFactorRequestArgs) ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetCpuPerformanceFactorRequestOutput).ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx) +} + +// SpotFleetCpuPerformanceFactorRequestPtrInput is an input type that accepts SpotFleetCpuPerformanceFactorRequestArgs, SpotFleetCpuPerformanceFactorRequestPtr and SpotFleetCpuPerformanceFactorRequestPtrOutput values. +// You can construct a concrete instance of `SpotFleetCpuPerformanceFactorRequestPtrInput` via: +// +// SpotFleetCpuPerformanceFactorRequestArgs{...} +// +// or: +// +// nil +type SpotFleetCpuPerformanceFactorRequestPtrInput interface { + pulumi.Input + + ToSpotFleetCpuPerformanceFactorRequestPtrOutput() SpotFleetCpuPerformanceFactorRequestPtrOutput + ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Context) SpotFleetCpuPerformanceFactorRequestPtrOutput +} + +type spotFleetCpuPerformanceFactorRequestPtrType SpotFleetCpuPerformanceFactorRequestArgs + +func SpotFleetCpuPerformanceFactorRequestPtr(v *SpotFleetCpuPerformanceFactorRequestArgs) SpotFleetCpuPerformanceFactorRequestPtrInput { + return (*spotFleetCpuPerformanceFactorRequestPtrType)(v) +} + +func (*spotFleetCpuPerformanceFactorRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (i *spotFleetCpuPerformanceFactorRequestPtrType) ToSpotFleetCpuPerformanceFactorRequestPtrOutput() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return i.ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (i *spotFleetCpuPerformanceFactorRequestPtrType) ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetCpuPerformanceFactorRequestPtrOutput) +} + +type SpotFleetCpuPerformanceFactorRequestOutput struct{ *pulumi.OutputState } + +func (SpotFleetCpuPerformanceFactorRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (o SpotFleetCpuPerformanceFactorRequestOutput) ToSpotFleetCpuPerformanceFactorRequestOutput() SpotFleetCpuPerformanceFactorRequestOutput { + return o +} + +func (o SpotFleetCpuPerformanceFactorRequestOutput) ToSpotFleetCpuPerformanceFactorRequestOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestOutput { + return o +} + +func (o SpotFleetCpuPerformanceFactorRequestOutput) ToSpotFleetCpuPerformanceFactorRequestPtrOutput() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o.ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(context.Background()) +} + +func (o SpotFleetCpuPerformanceFactorRequestOutput) ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotFleetCpuPerformanceFactorRequest) *SpotFleetCpuPerformanceFactorRequest { + return &v + }).(SpotFleetCpuPerformanceFactorRequestPtrOutput) +} + +func (o SpotFleetCpuPerformanceFactorRequestOutput) References() SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return o.ApplyT(func(v SpotFleetCpuPerformanceFactorRequest) []SpotFleetPerformanceFactorReferenceRequest { + return v.References + }).(SpotFleetPerformanceFactorReferenceRequestArrayOutput) +} + +type SpotFleetCpuPerformanceFactorRequestPtrOutput struct{ *pulumi.OutputState } + +func (SpotFleetCpuPerformanceFactorRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotFleetCpuPerformanceFactorRequest)(nil)).Elem() +} + +func (o SpotFleetCpuPerformanceFactorRequestPtrOutput) ToSpotFleetCpuPerformanceFactorRequestPtrOutput() SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o +} + +func (o SpotFleetCpuPerformanceFactorRequestPtrOutput) ToSpotFleetCpuPerformanceFactorRequestPtrOutputWithContext(ctx context.Context) SpotFleetCpuPerformanceFactorRequestPtrOutput { + return o +} + +func (o SpotFleetCpuPerformanceFactorRequestPtrOutput) Elem() SpotFleetCpuPerformanceFactorRequestOutput { + return o.ApplyT(func(v *SpotFleetCpuPerformanceFactorRequest) SpotFleetCpuPerformanceFactorRequest { + if v != nil { + return *v + } + var ret SpotFleetCpuPerformanceFactorRequest + return ret + }).(SpotFleetCpuPerformanceFactorRequestOutput) +} + +func (o SpotFleetCpuPerformanceFactorRequestPtrOutput) References() SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return o.ApplyT(func(v *SpotFleetCpuPerformanceFactorRequest) []SpotFleetPerformanceFactorReferenceRequest { + if v == nil { + return nil + } + return v.References + }).(SpotFleetPerformanceFactorReferenceRequestArrayOutput) +} + type SpotFleetEbsBlockDevice struct { // Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* . DeleteOnTermination *bool `pulumi:"deleteOnTermination"` @@ -24056,7 +24703,8 @@ type SpotFleetInstanceRequirementsRequest struct { // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps *SpotFleetBaselineEbsBandwidthMbpsRequest `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps *SpotFleetBaselineEbsBandwidthMbpsRequest `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors *SpotFleetBaselinePerformanceFactorsRequest `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -24246,7 +24894,8 @@ type SpotFleetInstanceRequirementsRequestArgs struct { // The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see [Amazon EBS–optimized instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in the *Amazon EC2 User Guide* . // // Default: No minimum or maximum limits - BaselineEbsBandwidthMbps SpotFleetBaselineEbsBandwidthMbpsRequestPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselineEbsBandwidthMbps SpotFleetBaselineEbsBandwidthMbpsRequestPtrInput `pulumi:"baselineEbsBandwidthMbps"` + BaselinePerformanceFactors SpotFleetBaselinePerformanceFactorsRequestPtrInput `pulumi:"baselinePerformanceFactors"` // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -24540,6 +25189,12 @@ func (o SpotFleetInstanceRequirementsRequestOutput) BaselineEbsBandwidthMbps() S }).(SpotFleetBaselineEbsBandwidthMbpsRequestPtrOutput) } +func (o SpotFleetInstanceRequirementsRequestOutput) BaselinePerformanceFactors() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyT(func(v SpotFleetInstanceRequirementsRequest) *SpotFleetBaselinePerformanceFactorsRequest { + return v.BaselinePerformanceFactors + }).(SpotFleetBaselinePerformanceFactorsRequestPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -24872,6 +25527,15 @@ func (o SpotFleetInstanceRequirementsRequestPtrOutput) BaselineEbsBandwidthMbps( }).(SpotFleetBaselineEbsBandwidthMbpsRequestPtrOutput) } +func (o SpotFleetInstanceRequirementsRequestPtrOutput) BaselinePerformanceFactors() SpotFleetBaselinePerformanceFactorsRequestPtrOutput { + return o.ApplyT(func(v *SpotFleetInstanceRequirementsRequest) *SpotFleetBaselinePerformanceFactorsRequest { + if v == nil { + return nil + } + return v.BaselinePerformanceFactors + }).(SpotFleetBaselinePerformanceFactorsRequestPtrOutput) +} + // Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . // // - To include burstable performance instance types, specify `included` . @@ -26638,6 +27302,100 @@ func (o SpotFleetNetworkInterfaceCountRequestPtrOutput) Min() pulumi.IntPtrOutpu }).(pulumi.IntPtrOutput) } +type SpotFleetPerformanceFactorReferenceRequest struct { + InstanceFamily *string `pulumi:"instanceFamily"` +} + +// SpotFleetPerformanceFactorReferenceRequestInput is an input type that accepts SpotFleetPerformanceFactorReferenceRequestArgs and SpotFleetPerformanceFactorReferenceRequestOutput values. +// You can construct a concrete instance of `SpotFleetPerformanceFactorReferenceRequestInput` via: +// +// SpotFleetPerformanceFactorReferenceRequestArgs{...} +type SpotFleetPerformanceFactorReferenceRequestInput interface { + pulumi.Input + + ToSpotFleetPerformanceFactorReferenceRequestOutput() SpotFleetPerformanceFactorReferenceRequestOutput + ToSpotFleetPerformanceFactorReferenceRequestOutputWithContext(context.Context) SpotFleetPerformanceFactorReferenceRequestOutput +} + +type SpotFleetPerformanceFactorReferenceRequestArgs struct { + InstanceFamily pulumi.StringPtrInput `pulumi:"instanceFamily"` +} + +func (SpotFleetPerformanceFactorReferenceRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (i SpotFleetPerformanceFactorReferenceRequestArgs) ToSpotFleetPerformanceFactorReferenceRequestOutput() SpotFleetPerformanceFactorReferenceRequestOutput { + return i.ToSpotFleetPerformanceFactorReferenceRequestOutputWithContext(context.Background()) +} + +func (i SpotFleetPerformanceFactorReferenceRequestArgs) ToSpotFleetPerformanceFactorReferenceRequestOutputWithContext(ctx context.Context) SpotFleetPerformanceFactorReferenceRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetPerformanceFactorReferenceRequestOutput) +} + +// SpotFleetPerformanceFactorReferenceRequestArrayInput is an input type that accepts SpotFleetPerformanceFactorReferenceRequestArray and SpotFleetPerformanceFactorReferenceRequestArrayOutput values. +// You can construct a concrete instance of `SpotFleetPerformanceFactorReferenceRequestArrayInput` via: +// +// SpotFleetPerformanceFactorReferenceRequestArray{ SpotFleetPerformanceFactorReferenceRequestArgs{...} } +type SpotFleetPerformanceFactorReferenceRequestArrayInput interface { + pulumi.Input + + ToSpotFleetPerformanceFactorReferenceRequestArrayOutput() SpotFleetPerformanceFactorReferenceRequestArrayOutput + ToSpotFleetPerformanceFactorReferenceRequestArrayOutputWithContext(context.Context) SpotFleetPerformanceFactorReferenceRequestArrayOutput +} + +type SpotFleetPerformanceFactorReferenceRequestArray []SpotFleetPerformanceFactorReferenceRequestInput + +func (SpotFleetPerformanceFactorReferenceRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (i SpotFleetPerformanceFactorReferenceRequestArray) ToSpotFleetPerformanceFactorReferenceRequestArrayOutput() SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return i.ToSpotFleetPerformanceFactorReferenceRequestArrayOutputWithContext(context.Background()) +} + +func (i SpotFleetPerformanceFactorReferenceRequestArray) ToSpotFleetPerformanceFactorReferenceRequestArrayOutputWithContext(ctx context.Context) SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotFleetPerformanceFactorReferenceRequestArrayOutput) +} + +type SpotFleetPerformanceFactorReferenceRequestOutput struct{ *pulumi.OutputState } + +func (SpotFleetPerformanceFactorReferenceRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotFleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (o SpotFleetPerformanceFactorReferenceRequestOutput) ToSpotFleetPerformanceFactorReferenceRequestOutput() SpotFleetPerformanceFactorReferenceRequestOutput { + return o +} + +func (o SpotFleetPerformanceFactorReferenceRequestOutput) ToSpotFleetPerformanceFactorReferenceRequestOutputWithContext(ctx context.Context) SpotFleetPerformanceFactorReferenceRequestOutput { + return o +} + +func (o SpotFleetPerformanceFactorReferenceRequestOutput) InstanceFamily() pulumi.StringPtrOutput { + return o.ApplyT(func(v SpotFleetPerformanceFactorReferenceRequest) *string { return v.InstanceFamily }).(pulumi.StringPtrOutput) +} + +type SpotFleetPerformanceFactorReferenceRequestArrayOutput struct{ *pulumi.OutputState } + +func (SpotFleetPerformanceFactorReferenceRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SpotFleetPerformanceFactorReferenceRequest)(nil)).Elem() +} + +func (o SpotFleetPerformanceFactorReferenceRequestArrayOutput) ToSpotFleetPerformanceFactorReferenceRequestArrayOutput() SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return o +} + +func (o SpotFleetPerformanceFactorReferenceRequestArrayOutput) ToSpotFleetPerformanceFactorReferenceRequestArrayOutputWithContext(ctx context.Context) SpotFleetPerformanceFactorReferenceRequestArrayOutput { + return o +} + +func (o SpotFleetPerformanceFactorReferenceRequestArrayOutput) Index(i pulumi.IntInput) SpotFleetPerformanceFactorReferenceRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SpotFleetPerformanceFactorReferenceRequest { + return vs[0].([]SpotFleetPerformanceFactorReferenceRequest)[vs[1].(int)] + }).(SpotFleetPerformanceFactorReferenceRequestOutput) +} + type SpotFleetPrivateIpAddressSpecification struct { // 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"` @@ -31271,6 +32029,11 @@ func (o VpcEndpointDnsOptionsSpecificationPtrOutput) PrivateDnsOnlyForInboundRes }).(VpcEndpointDnsOptionsSpecificationPrivateDnsOnlyForInboundResolverEndpointPtrOutput) } +type VpcEndpointTag struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` +} + // A key-value pair to associate with a resource. type VpcPeeringConnectionTag 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 -. @@ -32778,10 +33541,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetAcceleratorTotalMemoryMiBRequestPtrInput)(nil)).Elem(), Ec2FleetAcceleratorTotalMemoryMiBRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetBaselineEbsBandwidthMbpsRequestInput)(nil)).Elem(), Ec2FleetBaselineEbsBandwidthMbpsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetBaselineEbsBandwidthMbpsRequestPtrInput)(nil)).Elem(), Ec2FleetBaselineEbsBandwidthMbpsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetBaselinePerformanceFactorsRequestInput)(nil)).Elem(), Ec2FleetBaselinePerformanceFactorsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetBaselinePerformanceFactorsRequestPtrInput)(nil)).Elem(), Ec2FleetBaselinePerformanceFactorsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCapacityRebalanceInput)(nil)).Elem(), Ec2FleetCapacityRebalanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCapacityRebalancePtrInput)(nil)).Elem(), Ec2FleetCapacityRebalanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCapacityReservationOptionsRequestInput)(nil)).Elem(), Ec2FleetCapacityReservationOptionsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCapacityReservationOptionsRequestPtrInput)(nil)).Elem(), Ec2FleetCapacityReservationOptionsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCpuPerformanceFactorRequestInput)(nil)).Elem(), Ec2FleetCpuPerformanceFactorRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetCpuPerformanceFactorRequestPtrInput)(nil)).Elem(), Ec2FleetCpuPerformanceFactorRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetFleetLaunchTemplateConfigRequestInput)(nil)).Elem(), Ec2FleetFleetLaunchTemplateConfigRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetFleetLaunchTemplateConfigRequestArrayInput)(nil)).Elem(), Ec2FleetFleetLaunchTemplateConfigRequestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetFleetLaunchTemplateOverridesRequestInput)(nil)).Elem(), Ec2FleetFleetLaunchTemplateOverridesRequestArgs{}) @@ -32802,6 +33569,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetNetworkInterfaceCountRequestPtrInput)(nil)).Elem(), Ec2FleetNetworkInterfaceCountRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetOnDemandOptionsRequestInput)(nil)).Elem(), Ec2FleetOnDemandOptionsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetOnDemandOptionsRequestPtrInput)(nil)).Elem(), Ec2FleetOnDemandOptionsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetPerformanceFactorReferenceRequestInput)(nil)).Elem(), Ec2FleetPerformanceFactorReferenceRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetPerformanceFactorReferenceRequestArrayInput)(nil)).Elem(), Ec2FleetPerformanceFactorReferenceRequestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetPlacementInput)(nil)).Elem(), Ec2FleetPlacementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetPlacementPtrInput)(nil)).Elem(), Ec2FleetPlacementArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*Ec2FleetSpotOptionsRequestInput)(nil)).Elem(), Ec2FleetSpotOptionsRequestArgs{}) @@ -32984,12 +33753,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetAcceleratorTotalMemoryMiBRequestPtrInput)(nil)).Elem(), SpotFleetAcceleratorTotalMemoryMiBRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBaselineEbsBandwidthMbpsRequestInput)(nil)).Elem(), SpotFleetBaselineEbsBandwidthMbpsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBaselineEbsBandwidthMbpsRequestPtrInput)(nil)).Elem(), SpotFleetBaselineEbsBandwidthMbpsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBaselinePerformanceFactorsRequestInput)(nil)).Elem(), SpotFleetBaselinePerformanceFactorsRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBaselinePerformanceFactorsRequestPtrInput)(nil)).Elem(), SpotFleetBaselinePerformanceFactorsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBlockDeviceMappingInput)(nil)).Elem(), SpotFleetBlockDeviceMappingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetBlockDeviceMappingArrayInput)(nil)).Elem(), SpotFleetBlockDeviceMappingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetClassicLoadBalancerInput)(nil)).Elem(), SpotFleetClassicLoadBalancerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetClassicLoadBalancerArrayInput)(nil)).Elem(), SpotFleetClassicLoadBalancerArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetClassicLoadBalancersConfigInput)(nil)).Elem(), SpotFleetClassicLoadBalancersConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetClassicLoadBalancersConfigPtrInput)(nil)).Elem(), SpotFleetClassicLoadBalancersConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetCpuPerformanceFactorRequestInput)(nil)).Elem(), SpotFleetCpuPerformanceFactorRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetCpuPerformanceFactorRequestPtrInput)(nil)).Elem(), SpotFleetCpuPerformanceFactorRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetEbsBlockDeviceInput)(nil)).Elem(), SpotFleetEbsBlockDeviceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetEbsBlockDevicePtrInput)(nil)).Elem(), SpotFleetEbsBlockDeviceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetFleetLaunchTemplateSpecificationInput)(nil)).Elem(), SpotFleetFleetLaunchTemplateSpecificationArgs{}) @@ -33022,6 +33795,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetNetworkBandwidthGbpsRequestPtrInput)(nil)).Elem(), SpotFleetNetworkBandwidthGbpsRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetNetworkInterfaceCountRequestInput)(nil)).Elem(), SpotFleetNetworkInterfaceCountRequestArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetNetworkInterfaceCountRequestPtrInput)(nil)).Elem(), SpotFleetNetworkInterfaceCountRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetPerformanceFactorReferenceRequestInput)(nil)).Elem(), SpotFleetPerformanceFactorReferenceRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetPerformanceFactorReferenceRequestArrayInput)(nil)).Elem(), SpotFleetPerformanceFactorReferenceRequestArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetPrivateIpAddressSpecificationInput)(nil)).Elem(), SpotFleetPrivateIpAddressSpecificationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetPrivateIpAddressSpecificationArrayInput)(nil)).Elem(), SpotFleetPrivateIpAddressSpecificationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SpotFleetRequestConfigDataInput)(nil)).Elem(), SpotFleetRequestConfigDataArgs{}) @@ -33114,10 +33889,14 @@ func init() { pulumi.RegisterOutputType(Ec2FleetAcceleratorTotalMemoryMiBRequestPtrOutput{}) pulumi.RegisterOutputType(Ec2FleetBaselineEbsBandwidthMbpsRequestOutput{}) pulumi.RegisterOutputType(Ec2FleetBaselineEbsBandwidthMbpsRequestPtrOutput{}) + pulumi.RegisterOutputType(Ec2FleetBaselinePerformanceFactorsRequestOutput{}) + pulumi.RegisterOutputType(Ec2FleetBaselinePerformanceFactorsRequestPtrOutput{}) pulumi.RegisterOutputType(Ec2FleetCapacityRebalanceOutput{}) pulumi.RegisterOutputType(Ec2FleetCapacityRebalancePtrOutput{}) pulumi.RegisterOutputType(Ec2FleetCapacityReservationOptionsRequestOutput{}) pulumi.RegisterOutputType(Ec2FleetCapacityReservationOptionsRequestPtrOutput{}) + pulumi.RegisterOutputType(Ec2FleetCpuPerformanceFactorRequestOutput{}) + pulumi.RegisterOutputType(Ec2FleetCpuPerformanceFactorRequestPtrOutput{}) pulumi.RegisterOutputType(Ec2FleetFleetLaunchTemplateConfigRequestOutput{}) pulumi.RegisterOutputType(Ec2FleetFleetLaunchTemplateConfigRequestArrayOutput{}) pulumi.RegisterOutputType(Ec2FleetFleetLaunchTemplateOverridesRequestOutput{}) @@ -33138,6 +33917,8 @@ func init() { pulumi.RegisterOutputType(Ec2FleetNetworkInterfaceCountRequestPtrOutput{}) pulumi.RegisterOutputType(Ec2FleetOnDemandOptionsRequestOutput{}) pulumi.RegisterOutputType(Ec2FleetOnDemandOptionsRequestPtrOutput{}) + pulumi.RegisterOutputType(Ec2FleetPerformanceFactorReferenceRequestOutput{}) + pulumi.RegisterOutputType(Ec2FleetPerformanceFactorReferenceRequestArrayOutput{}) pulumi.RegisterOutputType(Ec2FleetPlacementOutput{}) pulumi.RegisterOutputType(Ec2FleetPlacementPtrOutput{}) pulumi.RegisterOutputType(Ec2FleetSpotOptionsRequestOutput{}) @@ -33351,12 +34132,16 @@ func init() { pulumi.RegisterOutputType(SpotFleetAcceleratorTotalMemoryMiBRequestPtrOutput{}) pulumi.RegisterOutputType(SpotFleetBaselineEbsBandwidthMbpsRequestOutput{}) pulumi.RegisterOutputType(SpotFleetBaselineEbsBandwidthMbpsRequestPtrOutput{}) + pulumi.RegisterOutputType(SpotFleetBaselinePerformanceFactorsRequestOutput{}) + pulumi.RegisterOutputType(SpotFleetBaselinePerformanceFactorsRequestPtrOutput{}) pulumi.RegisterOutputType(SpotFleetBlockDeviceMappingOutput{}) pulumi.RegisterOutputType(SpotFleetBlockDeviceMappingArrayOutput{}) pulumi.RegisterOutputType(SpotFleetClassicLoadBalancerOutput{}) pulumi.RegisterOutputType(SpotFleetClassicLoadBalancerArrayOutput{}) pulumi.RegisterOutputType(SpotFleetClassicLoadBalancersConfigOutput{}) pulumi.RegisterOutputType(SpotFleetClassicLoadBalancersConfigPtrOutput{}) + pulumi.RegisterOutputType(SpotFleetCpuPerformanceFactorRequestOutput{}) + pulumi.RegisterOutputType(SpotFleetCpuPerformanceFactorRequestPtrOutput{}) pulumi.RegisterOutputType(SpotFleetEbsBlockDeviceOutput{}) pulumi.RegisterOutputType(SpotFleetEbsBlockDevicePtrOutput{}) pulumi.RegisterOutputType(SpotFleetFleetLaunchTemplateSpecificationOutput{}) @@ -33389,6 +34174,8 @@ func init() { pulumi.RegisterOutputType(SpotFleetNetworkBandwidthGbpsRequestPtrOutput{}) pulumi.RegisterOutputType(SpotFleetNetworkInterfaceCountRequestOutput{}) pulumi.RegisterOutputType(SpotFleetNetworkInterfaceCountRequestPtrOutput{}) + pulumi.RegisterOutputType(SpotFleetPerformanceFactorReferenceRequestOutput{}) + pulumi.RegisterOutputType(SpotFleetPerformanceFactorReferenceRequestArrayOutput{}) pulumi.RegisterOutputType(SpotFleetPrivateIpAddressSpecificationOutput{}) pulumi.RegisterOutputType(SpotFleetPrivateIpAddressSpecificationArrayOutput{}) pulumi.RegisterOutputType(SpotFleetRequestConfigDataOutput{}) diff --git a/sdk/go/aws/ec2/vpcEndpoint.go b/sdk/go/aws/ec2/vpcEndpoint.go index 0b4d514b0b..057620f16d 100644 --- a/sdk/go/aws/ec2/vpcEndpoint.go +++ b/sdk/go/aws/ec2/vpcEndpoint.go @@ -8,6 +8,7 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -59,6 +60,7 @@ type VpcEndpoint struct { ServiceNetworkArn pulumi.StringPtrOutput `pulumi:"serviceNetworkArn"` // The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` + Tags aws.TagArrayOutput `pulumi:"tags"` // The type of endpoint. // Default: Gateway VpcEndpointType VpcEndpointTypePtrOutput `pulumi:"vpcEndpointType"` @@ -139,7 +141,8 @@ type vpcEndpointArgs struct { ServiceName *string `pulumi:"serviceName"` ServiceNetworkArn *string `pulumi:"serviceNetworkArn"` // The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. - SubnetIds []string `pulumi:"subnetIds"` + SubnetIds []string `pulumi:"subnetIds"` + Tags []aws.Tag `pulumi:"tags"` // The type of endpoint. // Default: Gateway VpcEndpointType *VpcEndpointType `pulumi:"vpcEndpointType"` @@ -172,6 +175,7 @@ type VpcEndpointArgs struct { ServiceNetworkArn pulumi.StringPtrInput // The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. SubnetIds pulumi.StringArrayInput + Tags aws.TagArrayInput // The type of endpoint. // Default: Gateway VpcEndpointType VpcEndpointTypePtrInput @@ -297,6 +301,10 @@ func (o VpcEndpointOutput) SubnetIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *VpcEndpoint) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) } +func (o VpcEndpointOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *VpcEndpoint) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + // The type of endpoint. // // Default: Gateway diff --git a/sdk/go/aws/efs/pulumiTypes.go b/sdk/go/aws/efs/pulumiTypes.go index 5a96733338..c972037934 100644 --- a/sdk/go/aws/efs/pulumiTypes.go +++ b/sdk/go/aws/efs/pulumiTypes.go @@ -1151,9 +1151,12 @@ type FileSystemReplicationDestination struct { KmsKeyId *string `pulumi:"kmsKeyId"` // The AWS-Region in which the destination file system is located. // For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. - Region *string `pulumi:"region"` - RoleArn *string `pulumi:"roleArn"` - Status *string `pulumi:"status"` + Region *string `pulumi:"region"` + // The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + RoleArn *string `pulumi:"roleArn"` + // Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + Status *string `pulumi:"status"` + // Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . StatusMessage *string `pulumi:"statusMessage"` } @@ -1180,9 +1183,12 @@ type FileSystemReplicationDestinationArgs struct { KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` // The AWS-Region in which the destination file system is located. // For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. - Region pulumi.StringPtrInput `pulumi:"region"` - RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` - Status pulumi.StringPtrInput `pulumi:"status"` + Region pulumi.StringPtrInput `pulumi:"region"` + // The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + RoleArn pulumi.StringPtrInput `pulumi:"roleArn"` + // Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + Status pulumi.StringPtrInput `pulumi:"status"` + // Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . StatusMessage pulumi.StringPtrInput `pulumi:"statusMessage"` } @@ -1263,14 +1269,17 @@ func (o FileSystemReplicationDestinationOutput) Region() pulumi.StringPtrOutput return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.Region }).(pulumi.StringPtrOutput) } +// The Amazon Resource Name (ARN) of the current source file system in the replication configuration. func (o FileSystemReplicationDestinationOutput) RoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.RoleArn }).(pulumi.StringPtrOutput) } +// Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . func (o FileSystemReplicationDestinationOutput) Status() pulumi.StringPtrOutput { return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.Status }).(pulumi.StringPtrOutput) } +// Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . func (o FileSystemReplicationDestinationOutput) StatusMessage() pulumi.StringPtrOutput { return o.ApplyT(func(v FileSystemReplicationDestination) *string { return v.StatusMessage }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/logs/pulumiTypes.go b/sdk/go/aws/logs/pulumiTypes.go index 6fe9bb8796..a4e28d48b7 100644 --- a/sdk/go/aws/logs/pulumiTypes.go +++ b/sdk/go/aws/logs/pulumiTypes.go @@ -148,9 +148,9 @@ type IntegrationOpenSearchResourceConfig struct { ApplicationArn *string `pulumi:"applicationArn"` // Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. // - // > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + // > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . DashboardViewerPrincipals []string `pulumi:"dashboardViewerPrincipals"` - // Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + // Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. DataSourceRoleArn string `pulumi:"dataSourceRoleArn"` // To have the vended dashboard data encrypted with AWS KMS instead of the CloudWatch Logs default encryption method, specify the ARN of the AWS KMS key that you want to use. KmsKeyArn *string `pulumi:"kmsKeyArn"` @@ -174,9 +174,9 @@ type IntegrationOpenSearchResourceConfigArgs struct { ApplicationArn pulumi.StringPtrInput `pulumi:"applicationArn"` // Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. // - // > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + // > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . DashboardViewerPrincipals pulumi.StringArrayInput `pulumi:"dashboardViewerPrincipals"` - // Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + // Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. DataSourceRoleArn pulumi.StringInput `pulumi:"dataSourceRoleArn"` // To have the vended dashboard data encrypted with AWS KMS instead of the CloudWatch Logs default encryption method, specify the ARN of the AWS KMS key that you want to use. KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"` @@ -268,12 +268,12 @@ func (o IntegrationOpenSearchResourceConfigOutput) ApplicationArn() pulumi.Strin // Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. // -// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see +// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . func (o IntegrationOpenSearchResourceConfigOutput) DashboardViewerPrincipals() pulumi.StringArrayOutput { return o.ApplyT(func(v IntegrationOpenSearchResourceConfig) []string { return v.DashboardViewerPrincipals }).(pulumi.StringArrayOutput) } -// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. +// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. func (o IntegrationOpenSearchResourceConfigOutput) DataSourceRoleArn() pulumi.StringOutput { return o.ApplyT(func(v IntegrationOpenSearchResourceConfig) string { return v.DataSourceRoleArn }).(pulumi.StringOutput) } @@ -324,7 +324,7 @@ func (o IntegrationOpenSearchResourceConfigPtrOutput) ApplicationArn() pulumi.St // Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. // -// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see +// > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . func (o IntegrationOpenSearchResourceConfigPtrOutput) DashboardViewerPrincipals() pulumi.StringArrayOutput { return o.ApplyT(func(v *IntegrationOpenSearchResourceConfig) []string { if v == nil { @@ -334,7 +334,7 @@ func (o IntegrationOpenSearchResourceConfigPtrOutput) DashboardViewerPrincipals( }).(pulumi.StringArrayOutput) } -// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. +// Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. func (o IntegrationOpenSearchResourceConfigPtrOutput) DataSourceRoleArn() pulumi.StringPtrOutput { return o.ApplyT(func(v *IntegrationOpenSearchResourceConfig) *string { if v == nil { diff --git a/sdk/go/aws/pcs/cluster.go b/sdk/go/aws/pcs/cluster.go new file mode 100644 index 0000000000..b33f764338 --- /dev/null +++ b/sdk/go/aws/pcs/cluster.go @@ -0,0 +1,225 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::Cluster resource creates an AWS PCS cluster. +type Cluster struct { + pulumi.CustomResourceState + + // The unique Amazon Resource Name (ARN) of the cluster. + Arn pulumi.StringOutput `pulumi:"arn"` + // The generated unique ID of the cluster. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The list of endpoints available for interaction with the scheduler. + Endpoints ClusterEndpointArrayOutput `pulumi:"endpoints"` + // The list of errors that occurred during cluster provisioning. + ErrorInfo ClusterErrorInfoArrayOutput `pulumi:"errorInfo"` + // The name that identifies the cluster. + Name pulumi.StringPtrOutput `pulumi:"name"` + // The networking configuration for the cluster's control plane. + Networking NetworkingPropertiesOutput `pulumi:"networking"` + // The cluster management and job scheduling software associated with the cluster. + Scheduler SchedulerPropertiesOutput `pulumi:"scheduler"` + // The size of the cluster. + Size ClusterSizeOutput `pulumi:"size"` + // Additional options related to the Slurm scheduler. + SlurmConfiguration SlurmConfigurationPropertiesPtrOutput `pulumi:"slurmConfiguration"` + // The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + Status ClusterStatusOutput `pulumi:"status"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewCluster registers a new resource with the given unique name, arguments, and options. +func NewCluster(ctx *pulumi.Context, + name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Networking == nil { + return nil, errors.New("invalid value for required argument 'Networking'") + } + if args.Scheduler == nil { + return nil, errors.New("invalid value for required argument 'Scheduler'") + } + if args.Size == nil { + return nil, errors.New("invalid value for required argument 'Size'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "name", + "networking", + "scheduler", + "size", + "slurmConfiguration", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Cluster + err := ctx.RegisterResource("aws-native:pcs:Cluster", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCluster gets an existing Cluster 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 GetCluster(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error) { + var resource Cluster + err := ctx.ReadResource("aws-native:pcs:Cluster", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Cluster resources. +type clusterState struct { +} + +type ClusterState struct { +} + +func (ClusterState) ElementType() reflect.Type { + return reflect.TypeOf((*clusterState)(nil)).Elem() +} + +type clusterArgs struct { + // The name that identifies the cluster. + Name *string `pulumi:"name"` + // The networking configuration for the cluster's control plane. + Networking NetworkingProperties `pulumi:"networking"` + // The cluster management and job scheduling software associated with the cluster. + Scheduler SchedulerProperties `pulumi:"scheduler"` + // The size of the cluster. + Size ClusterSize `pulumi:"size"` + // Additional options related to the Slurm scheduler. + SlurmConfiguration *SlurmConfigurationProperties `pulumi:"slurmConfiguration"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Cluster resource. +type ClusterArgs struct { + // The name that identifies the cluster. + Name pulumi.StringPtrInput + // The networking configuration for the cluster's control plane. + Networking NetworkingPropertiesInput + // The cluster management and job scheduling software associated with the cluster. + Scheduler SchedulerPropertiesInput + // The size of the cluster. + Size ClusterSizeInput + // Additional options related to the Slurm scheduler. + SlurmConfiguration SlurmConfigurationPropertiesPtrInput + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapInput +} + +func (ClusterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*clusterArgs)(nil)).Elem() +} + +type ClusterInput interface { + pulumi.Input + + ToClusterOutput() ClusterOutput + ToClusterOutputWithContext(ctx context.Context) ClusterOutput +} + +func (*Cluster) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (i *Cluster) ToClusterOutput() ClusterOutput { + return i.ToClusterOutputWithContext(context.Background()) +} + +func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterOutput) +} + +type ClusterOutput struct{ *pulumi.OutputState } + +func (ClusterOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Cluster)(nil)).Elem() +} + +func (o ClusterOutput) ToClusterOutput() ClusterOutput { + return o +} + +func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput { + return o +} + +// The unique Amazon Resource Name (ARN) of the cluster. +func (o ClusterOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The generated unique ID of the cluster. +func (o ClusterOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The list of endpoints available for interaction with the scheduler. +func (o ClusterOutput) Endpoints() ClusterEndpointArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterEndpointArrayOutput { return v.Endpoints }).(ClusterEndpointArrayOutput) +} + +// The list of errors that occurred during cluster provisioning. +func (o ClusterOutput) ErrorInfo() ClusterErrorInfoArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterErrorInfoArrayOutput { return v.ErrorInfo }).(ClusterErrorInfoArrayOutput) +} + +// The name that identifies the cluster. +func (o ClusterOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// The networking configuration for the cluster's control plane. +func (o ClusterOutput) Networking() NetworkingPropertiesOutput { + return o.ApplyT(func(v *Cluster) NetworkingPropertiesOutput { return v.Networking }).(NetworkingPropertiesOutput) +} + +// The cluster management and job scheduling software associated with the cluster. +func (o ClusterOutput) Scheduler() SchedulerPropertiesOutput { + return o.ApplyT(func(v *Cluster) SchedulerPropertiesOutput { return v.Scheduler }).(SchedulerPropertiesOutput) +} + +// The size of the cluster. +func (o ClusterOutput) Size() ClusterSizeOutput { + return o.ApplyT(func(v *Cluster) ClusterSizeOutput { return v.Size }).(ClusterSizeOutput) +} + +// Additional options related to the Slurm scheduler. +func (o ClusterOutput) SlurmConfiguration() SlurmConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v *Cluster) SlurmConfigurationPropertiesPtrOutput { return v.SlurmConfiguration }).(SlurmConfigurationPropertiesPtrOutput) +} + +// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. +func (o ClusterOutput) Status() ClusterStatusOutput { + return o.ApplyT(func(v *Cluster) ClusterStatusOutput { return v.Status }).(ClusterStatusOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o ClusterOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterInput)(nil)).Elem(), &Cluster{}) + pulumi.RegisterOutputType(ClusterOutput{}) +} diff --git a/sdk/go/aws/pcs/computeNodeGroup.go b/sdk/go/aws/pcs/computeNodeGroup.go new file mode 100644 index 0000000000..cfa2a091ed --- /dev/null +++ b/sdk/go/aws/pcs/computeNodeGroup.go @@ -0,0 +1,291 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. +type ComputeNodeGroup struct { + pulumi.CustomResourceState + + // The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + AmiId pulumi.StringPtrOutput `pulumi:"amiId"` + // The unique Amazon Resource Name (ARN) of the compute node group. + Arn pulumi.StringOutput `pulumi:"arn"` + // The generated unique ID of the compute node group. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The ID of the cluster of the compute node group. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + CustomLaunchTemplate CustomLaunchTemplatePropertiesOutput `pulumi:"customLaunchTemplate"` + // The list of errors that occurred during compute node group provisioning. + ErrorInfo ComputeNodeGroupErrorInfoArrayOutput `pulumi:"errorInfo"` + // The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + IamInstanceProfileArn pulumi.StringOutput `pulumi:"iamInstanceProfileArn"` + // A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + InstanceConfigs ComputeNodeGroupInstanceConfigArrayOutput `pulumi:"instanceConfigs"` + // The name that identifies the compute node group. + Name pulumi.StringPtrOutput `pulumi:"name"` + // Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + PurchaseOption ComputeNodeGroupPurchaseOptionPtrOutput `pulumi:"purchaseOption"` + // Specifies the boundaries of the compute node group auto scaling. + ScalingConfiguration ScalingConfigurationPropertiesOutput `pulumi:"scalingConfiguration"` + // Additional options related to the Slurm scheduler. + SlurmConfiguration SlurmConfigurationPropertiesPtrOutput `pulumi:"slurmConfiguration"` + // Additional configuration when you specify SPOT as the purchase option. + SpotOptions SpotOptionsPropertiesPtrOutput `pulumi:"spotOptions"` + // The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + Status ComputeNodeGroupStatusOutput `pulumi:"status"` + // The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewComputeNodeGroup registers a new resource with the given unique name, arguments, and options. +func NewComputeNodeGroup(ctx *pulumi.Context, + name string, args *ComputeNodeGroupArgs, opts ...pulumi.ResourceOption) (*ComputeNodeGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterId == nil { + return nil, errors.New("invalid value for required argument 'ClusterId'") + } + if args.CustomLaunchTemplate == nil { + return nil, errors.New("invalid value for required argument 'CustomLaunchTemplate'") + } + if args.IamInstanceProfileArn == nil { + return nil, errors.New("invalid value for required argument 'IamInstanceProfileArn'") + } + if args.InstanceConfigs == nil { + return nil, errors.New("invalid value for required argument 'InstanceConfigs'") + } + if args.ScalingConfiguration == nil { + return nil, errors.New("invalid value for required argument 'ScalingConfiguration'") + } + if args.SubnetIds == nil { + return nil, errors.New("invalid value for required argument 'SubnetIds'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "clusterId", + "instanceConfigs[*]", + "name", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource ComputeNodeGroup + err := ctx.RegisterResource("aws-native:pcs:ComputeNodeGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetComputeNodeGroup gets an existing ComputeNodeGroup 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 GetComputeNodeGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ComputeNodeGroupState, opts ...pulumi.ResourceOption) (*ComputeNodeGroup, error) { + var resource ComputeNodeGroup + err := ctx.ReadResource("aws-native:pcs:ComputeNodeGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ComputeNodeGroup resources. +type computeNodeGroupState struct { +} + +type ComputeNodeGroupState struct { +} + +func (ComputeNodeGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*computeNodeGroupState)(nil)).Elem() +} + +type computeNodeGroupArgs struct { + // The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + AmiId *string `pulumi:"amiId"` + // The ID of the cluster of the compute node group. + ClusterId string `pulumi:"clusterId"` + // An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + CustomLaunchTemplate CustomLaunchTemplateProperties `pulumi:"customLaunchTemplate"` + // The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + IamInstanceProfileArn string `pulumi:"iamInstanceProfileArn"` + // A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + InstanceConfigs []ComputeNodeGroupInstanceConfig `pulumi:"instanceConfigs"` + // The name that identifies the compute node group. + Name *string `pulumi:"name"` + // Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + PurchaseOption *ComputeNodeGroupPurchaseOption `pulumi:"purchaseOption"` + // Specifies the boundaries of the compute node group auto scaling. + ScalingConfiguration ScalingConfigurationProperties `pulumi:"scalingConfiguration"` + // Additional options related to the Slurm scheduler. + SlurmConfiguration *SlurmConfigurationProperties `pulumi:"slurmConfiguration"` + // Additional configuration when you specify SPOT as the purchase option. + SpotOptions *SpotOptionsProperties `pulumi:"spotOptions"` + // The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + SubnetIds []string `pulumi:"subnetIds"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a ComputeNodeGroup resource. +type ComputeNodeGroupArgs struct { + // The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + AmiId pulumi.StringPtrInput + // The ID of the cluster of the compute node group. + ClusterId pulumi.StringInput + // An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + CustomLaunchTemplate CustomLaunchTemplatePropertiesInput + // The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + IamInstanceProfileArn pulumi.StringInput + // A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + InstanceConfigs ComputeNodeGroupInstanceConfigArrayInput + // The name that identifies the compute node group. + Name pulumi.StringPtrInput + // Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + PurchaseOption ComputeNodeGroupPurchaseOptionPtrInput + // Specifies the boundaries of the compute node group auto scaling. + ScalingConfiguration ScalingConfigurationPropertiesInput + // Additional options related to the Slurm scheduler. + SlurmConfiguration SlurmConfigurationPropertiesPtrInput + // Additional configuration when you specify SPOT as the purchase option. + SpotOptions SpotOptionsPropertiesPtrInput + // The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + SubnetIds pulumi.StringArrayInput + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapInput +} + +func (ComputeNodeGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*computeNodeGroupArgs)(nil)).Elem() +} + +type ComputeNodeGroupInput interface { + pulumi.Input + + ToComputeNodeGroupOutput() ComputeNodeGroupOutput + ToComputeNodeGroupOutputWithContext(ctx context.Context) ComputeNodeGroupOutput +} + +func (*ComputeNodeGroup) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeNodeGroup)(nil)).Elem() +} + +func (i *ComputeNodeGroup) ToComputeNodeGroupOutput() ComputeNodeGroupOutput { + return i.ToComputeNodeGroupOutputWithContext(context.Background()) +} + +func (i *ComputeNodeGroup) ToComputeNodeGroupOutputWithContext(ctx context.Context) ComputeNodeGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeNodeGroupOutput) +} + +type ComputeNodeGroupOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeNodeGroup)(nil)).Elem() +} + +func (o ComputeNodeGroupOutput) ToComputeNodeGroupOutput() ComputeNodeGroupOutput { + return o +} + +func (o ComputeNodeGroupOutput) ToComputeNodeGroupOutputWithContext(ctx context.Context) ComputeNodeGroupOutput { + return o +} + +// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. +func (o ComputeNodeGroupOutput) AmiId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringPtrOutput { return v.AmiId }).(pulumi.StringPtrOutput) +} + +// The unique Amazon Resource Name (ARN) of the compute node group. +func (o ComputeNodeGroupOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The generated unique ID of the compute node group. +func (o ComputeNodeGroupOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The ID of the cluster of the compute node group. +func (o ComputeNodeGroupOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. +func (o ComputeNodeGroupOutput) CustomLaunchTemplate() CustomLaunchTemplatePropertiesOutput { + return o.ApplyT(func(v *ComputeNodeGroup) CustomLaunchTemplatePropertiesOutput { return v.CustomLaunchTemplate }).(CustomLaunchTemplatePropertiesOutput) +} + +// The list of errors that occurred during compute node group provisioning. +func (o ComputeNodeGroupOutput) ErrorInfo() ComputeNodeGroupErrorInfoArrayOutput { + return o.ApplyT(func(v *ComputeNodeGroup) ComputeNodeGroupErrorInfoArrayOutput { return v.ErrorInfo }).(ComputeNodeGroupErrorInfoArrayOutput) +} + +// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. +func (o ComputeNodeGroupOutput) IamInstanceProfileArn() pulumi.StringOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringOutput { return v.IamInstanceProfileArn }).(pulumi.StringOutput) +} + +// A list of EC2 instance configurations that AWS PCS can provision in the compute node group. +func (o ComputeNodeGroupOutput) InstanceConfigs() ComputeNodeGroupInstanceConfigArrayOutput { + return o.ApplyT(func(v *ComputeNodeGroup) ComputeNodeGroupInstanceConfigArrayOutput { return v.InstanceConfigs }).(ComputeNodeGroupInstanceConfigArrayOutput) +} + +// The name that identifies the compute node group. +func (o ComputeNodeGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. +func (o ComputeNodeGroupOutput) PurchaseOption() ComputeNodeGroupPurchaseOptionPtrOutput { + return o.ApplyT(func(v *ComputeNodeGroup) ComputeNodeGroupPurchaseOptionPtrOutput { return v.PurchaseOption }).(ComputeNodeGroupPurchaseOptionPtrOutput) +} + +// Specifies the boundaries of the compute node group auto scaling. +func (o ComputeNodeGroupOutput) ScalingConfiguration() ScalingConfigurationPropertiesOutput { + return o.ApplyT(func(v *ComputeNodeGroup) ScalingConfigurationPropertiesOutput { return v.ScalingConfiguration }).(ScalingConfigurationPropertiesOutput) +} + +// Additional options related to the Slurm scheduler. +func (o ComputeNodeGroupOutput) SlurmConfiguration() SlurmConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v *ComputeNodeGroup) SlurmConfigurationPropertiesPtrOutput { return v.SlurmConfiguration }).(SlurmConfigurationPropertiesPtrOutput) +} + +// Additional configuration when you specify SPOT as the purchase option. +func (o ComputeNodeGroupOutput) SpotOptions() SpotOptionsPropertiesPtrOutput { + return o.ApplyT(func(v *ComputeNodeGroup) SpotOptionsPropertiesPtrOutput { return v.SpotOptions }).(SpotOptionsPropertiesPtrOutput) +} + +// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. +func (o ComputeNodeGroupOutput) Status() ComputeNodeGroupStatusOutput { + return o.ApplyT(func(v *ComputeNodeGroup) ComputeNodeGroupStatusOutput { return v.Status }).(ComputeNodeGroupStatusOutput) +} + +// The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. +func (o ComputeNodeGroupOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o ComputeNodeGroupOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ComputeNodeGroup) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupInput)(nil)).Elem(), &ComputeNodeGroup{}) + pulumi.RegisterOutputType(ComputeNodeGroupOutput{}) +} diff --git a/sdk/go/aws/pcs/getCluster.go b/sdk/go/aws/pcs/getCluster.go new file mode 100644 index 0000000000..93399c67e4 --- /dev/null +++ b/sdk/go/aws/pcs/getCluster.go @@ -0,0 +1,109 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::Cluster resource creates an AWS PCS cluster. +func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupClusterResult + err := ctx.Invoke("aws-native:pcs:getCluster", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupClusterArgs struct { + // The unique Amazon Resource Name (ARN) of the cluster. + Arn string `pulumi:"arn"` +} + +type LookupClusterResult struct { + // The unique Amazon Resource Name (ARN) of the cluster. + Arn *string `pulumi:"arn"` + // The list of endpoints available for interaction with the scheduler. + Endpoints []ClusterEndpoint `pulumi:"endpoints"` + // The list of errors that occurred during cluster provisioning. + ErrorInfo []ClusterErrorInfo `pulumi:"errorInfo"` + // The generated unique ID of the cluster. + Id *string `pulumi:"id"` + // The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + Status *ClusterStatus `pulumi:"status"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupClusterResultOutput, error) { + args := v.(LookupClusterArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("aws-native:pcs:getCluster", args, LookupClusterResultOutput{}, options).(LookupClusterResultOutput), nil + }).(LookupClusterResultOutput) +} + +type LookupClusterOutputArgs struct { + // The unique Amazon Resource Name (ARN) of the cluster. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupClusterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterArgs)(nil)).Elem() +} + +type LookupClusterResultOutput struct{ *pulumi.OutputState } + +func (LookupClusterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupClusterResult)(nil)).Elem() +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput { + return o +} + +func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput { + return o +} + +// The unique Amazon Resource Name (ARN) of the cluster. +func (o LookupClusterResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The list of endpoints available for interaction with the scheduler. +func (o LookupClusterResultOutput) Endpoints() ClusterEndpointArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []ClusterEndpoint { return v.Endpoints }).(ClusterEndpointArrayOutput) +} + +// The list of errors that occurred during cluster provisioning. +func (o LookupClusterResultOutput) ErrorInfo() ClusterErrorInfoArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []ClusterErrorInfo { return v.ErrorInfo }).(ClusterErrorInfoArrayOutput) +} + +// The generated unique ID of the cluster. +func (o LookupClusterResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. +func (o LookupClusterResultOutput) Status() ClusterStatusPtrOutput { + return o.ApplyT(func(v LookupClusterResult) *ClusterStatus { return v.Status }).(ClusterStatusPtrOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o LookupClusterResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupClusterResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupClusterResultOutput{}) +} diff --git a/sdk/go/aws/pcs/getComputeNodeGroup.go b/sdk/go/aws/pcs/getComputeNodeGroup.go new file mode 100644 index 0000000000..2d4458ad46 --- /dev/null +++ b/sdk/go/aws/pcs/getComputeNodeGroup.go @@ -0,0 +1,158 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. +func LookupComputeNodeGroup(ctx *pulumi.Context, args *LookupComputeNodeGroupArgs, opts ...pulumi.InvokeOption) (*LookupComputeNodeGroupResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupComputeNodeGroupResult + err := ctx.Invoke("aws-native:pcs:getComputeNodeGroup", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupComputeNodeGroupArgs struct { + // The unique Amazon Resource Name (ARN) of the compute node group. + Arn string `pulumi:"arn"` +} + +type LookupComputeNodeGroupResult struct { + // The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + AmiId *string `pulumi:"amiId"` + // The unique Amazon Resource Name (ARN) of the compute node group. + Arn *string `pulumi:"arn"` + // An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + CustomLaunchTemplate *CustomLaunchTemplateProperties `pulumi:"customLaunchTemplate"` + // The list of errors that occurred during compute node group provisioning. + ErrorInfo []ComputeNodeGroupErrorInfo `pulumi:"errorInfo"` + // The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + IamInstanceProfileArn *string `pulumi:"iamInstanceProfileArn"` + // The generated unique ID of the compute node group. + Id *string `pulumi:"id"` + // Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + PurchaseOption *ComputeNodeGroupPurchaseOption `pulumi:"purchaseOption"` + // Specifies the boundaries of the compute node group auto scaling. + ScalingConfiguration *ScalingConfigurationProperties `pulumi:"scalingConfiguration"` + // Additional options related to the Slurm scheduler. + SlurmConfiguration *SlurmConfigurationProperties `pulumi:"slurmConfiguration"` + // Additional configuration when you specify SPOT as the purchase option. + SpotOptions *SpotOptionsProperties `pulumi:"spotOptions"` + // The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + Status *ComputeNodeGroupStatus `pulumi:"status"` + // The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + SubnetIds []string `pulumi:"subnetIds"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +func LookupComputeNodeGroupOutput(ctx *pulumi.Context, args LookupComputeNodeGroupOutputArgs, opts ...pulumi.InvokeOption) LookupComputeNodeGroupResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupComputeNodeGroupResultOutput, error) { + args := v.(LookupComputeNodeGroupArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("aws-native:pcs:getComputeNodeGroup", args, LookupComputeNodeGroupResultOutput{}, options).(LookupComputeNodeGroupResultOutput), nil + }).(LookupComputeNodeGroupResultOutput) +} + +type LookupComputeNodeGroupOutputArgs struct { + // The unique Amazon Resource Name (ARN) of the compute node group. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupComputeNodeGroupOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeNodeGroupArgs)(nil)).Elem() +} + +type LookupComputeNodeGroupResultOutput struct{ *pulumi.OutputState } + +func (LookupComputeNodeGroupResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupComputeNodeGroupResult)(nil)).Elem() +} + +func (o LookupComputeNodeGroupResultOutput) ToLookupComputeNodeGroupResultOutput() LookupComputeNodeGroupResultOutput { + return o +} + +func (o LookupComputeNodeGroupResultOutput) ToLookupComputeNodeGroupResultOutputWithContext(ctx context.Context) LookupComputeNodeGroupResultOutput { + return o +} + +// The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. +func (o LookupComputeNodeGroupResultOutput) AmiId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *string { return v.AmiId }).(pulumi.StringPtrOutput) +} + +// The unique Amazon Resource Name (ARN) of the compute node group. +func (o LookupComputeNodeGroupResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. +func (o LookupComputeNodeGroupResultOutput) CustomLaunchTemplate() CustomLaunchTemplatePropertiesPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *CustomLaunchTemplateProperties { return v.CustomLaunchTemplate }).(CustomLaunchTemplatePropertiesPtrOutput) +} + +// The list of errors that occurred during compute node group provisioning. +func (o LookupComputeNodeGroupResultOutput) ErrorInfo() ComputeNodeGroupErrorInfoArrayOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) []ComputeNodeGroupErrorInfo { return v.ErrorInfo }).(ComputeNodeGroupErrorInfoArrayOutput) +} + +// The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. +func (o LookupComputeNodeGroupResultOutput) IamInstanceProfileArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *string { return v.IamInstanceProfileArn }).(pulumi.StringPtrOutput) +} + +// The generated unique ID of the compute node group. +func (o LookupComputeNodeGroupResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. +func (o LookupComputeNodeGroupResultOutput) PurchaseOption() ComputeNodeGroupPurchaseOptionPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *ComputeNodeGroupPurchaseOption { return v.PurchaseOption }).(ComputeNodeGroupPurchaseOptionPtrOutput) +} + +// Specifies the boundaries of the compute node group auto scaling. +func (o LookupComputeNodeGroupResultOutput) ScalingConfiguration() ScalingConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *ScalingConfigurationProperties { return v.ScalingConfiguration }).(ScalingConfigurationPropertiesPtrOutput) +} + +// Additional options related to the Slurm scheduler. +func (o LookupComputeNodeGroupResultOutput) SlurmConfiguration() SlurmConfigurationPropertiesPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *SlurmConfigurationProperties { return v.SlurmConfiguration }).(SlurmConfigurationPropertiesPtrOutput) +} + +// Additional configuration when you specify SPOT as the purchase option. +func (o LookupComputeNodeGroupResultOutput) SpotOptions() SpotOptionsPropertiesPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *SpotOptionsProperties { return v.SpotOptions }).(SpotOptionsPropertiesPtrOutput) +} + +// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. +func (o LookupComputeNodeGroupResultOutput) Status() ComputeNodeGroupStatusPtrOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) *ComputeNodeGroupStatus { return v.Status }).(ComputeNodeGroupStatusPtrOutput) +} + +// The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. +func (o LookupComputeNodeGroupResultOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o LookupComputeNodeGroupResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupComputeNodeGroupResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupComputeNodeGroupResultOutput{}) +} diff --git a/sdk/go/aws/pcs/getQueue.go b/sdk/go/aws/pcs/getQueue.go new file mode 100644 index 0000000000..097950c236 --- /dev/null +++ b/sdk/go/aws/pcs/getQueue.go @@ -0,0 +1,111 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::Queue resource creates an AWS PCS queue. +func LookupQueue(ctx *pulumi.Context, args *LookupQueueArgs, opts ...pulumi.InvokeOption) (*LookupQueueResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupQueueResult + err := ctx.Invoke("aws-native:pcs:getQueue", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupQueueArgs struct { + // The unique Amazon Resource Name (ARN) of the queue. + Arn string `pulumi:"arn"` +} + +type LookupQueueResult struct { + // The unique Amazon Resource Name (ARN) of the queue. + Arn *string `pulumi:"arn"` + // The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + ComputeNodeGroupConfigurations []QueueComputeNodeGroupConfiguration `pulumi:"computeNodeGroupConfigurations"` + // The list of errors that occurred during queue provisioning. + ErrorInfo []QueueErrorInfo `pulumi:"errorInfo"` + // The generated unique ID of the queue. + Id *string `pulumi:"id"` + // The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + Status *QueueStatus `pulumi:"status"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +func LookupQueueOutput(ctx *pulumi.Context, args LookupQueueOutputArgs, opts ...pulumi.InvokeOption) LookupQueueResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupQueueResultOutput, error) { + args := v.(LookupQueueArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("aws-native:pcs:getQueue", args, LookupQueueResultOutput{}, options).(LookupQueueResultOutput), nil + }).(LookupQueueResultOutput) +} + +type LookupQueueOutputArgs struct { + // The unique Amazon Resource Name (ARN) of the queue. + Arn pulumi.StringInput `pulumi:"arn"` +} + +func (LookupQueueOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueueArgs)(nil)).Elem() +} + +type LookupQueueResultOutput struct{ *pulumi.OutputState } + +func (LookupQueueResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupQueueResult)(nil)).Elem() +} + +func (o LookupQueueResultOutput) ToLookupQueueResultOutput() LookupQueueResultOutput { + return o +} + +func (o LookupQueueResultOutput) ToLookupQueueResultOutputWithContext(ctx context.Context) LookupQueueResultOutput { + return o +} + +// The unique Amazon Resource Name (ARN) of the queue. +func (o LookupQueueResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupQueueResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +// The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. +func (o LookupQueueResultOutput) ComputeNodeGroupConfigurations() QueueComputeNodeGroupConfigurationArrayOutput { + return o.ApplyT(func(v LookupQueueResult) []QueueComputeNodeGroupConfiguration { + return v.ComputeNodeGroupConfigurations + }).(QueueComputeNodeGroupConfigurationArrayOutput) +} + +// The list of errors that occurred during queue provisioning. +func (o LookupQueueResultOutput) ErrorInfo() QueueErrorInfoArrayOutput { + return o.ApplyT(func(v LookupQueueResult) []QueueErrorInfo { return v.ErrorInfo }).(QueueErrorInfoArrayOutput) +} + +// The generated unique ID of the queue. +func (o LookupQueueResultOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupQueueResult) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. +func (o LookupQueueResultOutput) Status() QueueStatusPtrOutput { + return o.ApplyT(func(v LookupQueueResult) *QueueStatus { return v.Status }).(QueueStatusPtrOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o LookupQueueResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupQueueResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupQueueResultOutput{}) +} diff --git a/sdk/go/aws/pcs/init.go b/sdk/go/aws/pcs/init.go new file mode 100644 index 0000000000..9fa3391a7f --- /dev/null +++ b/sdk/go/aws/pcs/init.go @@ -0,0 +1,48 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws-native:pcs:Cluster": + r = &Cluster{} + case "aws-native:pcs:ComputeNodeGroup": + r = &ComputeNodeGroup{} + case "aws-native:pcs:Queue": + r = &Queue{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws-native", + "pcs", + &module{version}, + ) +} diff --git a/sdk/go/aws/pcs/pulumiEnums.go b/sdk/go/aws/pcs/pulumiEnums.go new file mode 100644 index 0000000000..1cdfabbf3f --- /dev/null +++ b/sdk/go/aws/pcs/pulumiEnums.go @@ -0,0 +1,1083 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Indicates the type of endpoint running at the specific IP address. +type ClusterEndpointType string + +const ( + ClusterEndpointTypeSlurmctld = ClusterEndpointType("SLURMCTLD") + ClusterEndpointTypeSlurmdbd = ClusterEndpointType("SLURMDBD") +) + +type ClusterEndpointTypeOutput struct{ *pulumi.OutputState } + +func (ClusterEndpointTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterEndpointType)(nil)).Elem() +} + +func (o ClusterEndpointTypeOutput) ToClusterEndpointTypeOutput() ClusterEndpointTypeOutput { + return o +} + +func (o ClusterEndpointTypeOutput) ToClusterEndpointTypeOutputWithContext(ctx context.Context) ClusterEndpointTypeOutput { + return o +} + +func (o ClusterEndpointTypeOutput) ToClusterEndpointTypePtrOutput() ClusterEndpointTypePtrOutput { + return o.ToClusterEndpointTypePtrOutputWithContext(context.Background()) +} + +func (o ClusterEndpointTypeOutput) ToClusterEndpointTypePtrOutputWithContext(ctx context.Context) ClusterEndpointTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterEndpointType) *ClusterEndpointType { + return &v + }).(ClusterEndpointTypePtrOutput) +} + +func (o ClusterEndpointTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterEndpointTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterEndpointType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterEndpointTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterEndpointTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterEndpointType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterEndpointTypePtrOutput struct{ *pulumi.OutputState } + +func (ClusterEndpointTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterEndpointType)(nil)).Elem() +} + +func (o ClusterEndpointTypePtrOutput) ToClusterEndpointTypePtrOutput() ClusterEndpointTypePtrOutput { + return o +} + +func (o ClusterEndpointTypePtrOutput) ToClusterEndpointTypePtrOutputWithContext(ctx context.Context) ClusterEndpointTypePtrOutput { + return o +} + +func (o ClusterEndpointTypePtrOutput) Elem() ClusterEndpointTypeOutput { + return o.ApplyT(func(v *ClusterEndpointType) ClusterEndpointType { + if v != nil { + return *v + } + var ret ClusterEndpointType + return ret + }).(ClusterEndpointTypeOutput) +} + +func (o ClusterEndpointTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterEndpointTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterEndpointType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The software AWS PCS uses to manage cluster scaling and job scheduling. +type ClusterSchedulerPropertiesType string + +const ( + ClusterSchedulerPropertiesTypeSlurm = ClusterSchedulerPropertiesType("SLURM") +) + +func (ClusterSchedulerPropertiesType) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSchedulerPropertiesType)(nil)).Elem() +} + +func (e ClusterSchedulerPropertiesType) ToClusterSchedulerPropertiesTypeOutput() ClusterSchedulerPropertiesTypeOutput { + return pulumi.ToOutput(e).(ClusterSchedulerPropertiesTypeOutput) +} + +func (e ClusterSchedulerPropertiesType) ToClusterSchedulerPropertiesTypeOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ClusterSchedulerPropertiesTypeOutput) +} + +func (e ClusterSchedulerPropertiesType) ToClusterSchedulerPropertiesTypePtrOutput() ClusterSchedulerPropertiesTypePtrOutput { + return e.ToClusterSchedulerPropertiesTypePtrOutputWithContext(context.Background()) +} + +func (e ClusterSchedulerPropertiesType) ToClusterSchedulerPropertiesTypePtrOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypePtrOutput { + return ClusterSchedulerPropertiesType(e).ToClusterSchedulerPropertiesTypeOutputWithContext(ctx).ToClusterSchedulerPropertiesTypePtrOutputWithContext(ctx) +} + +func (e ClusterSchedulerPropertiesType) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterSchedulerPropertiesType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterSchedulerPropertiesType) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ClusterSchedulerPropertiesType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ClusterSchedulerPropertiesTypeOutput struct{ *pulumi.OutputState } + +func (ClusterSchedulerPropertiesTypeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSchedulerPropertiesType)(nil)).Elem() +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToClusterSchedulerPropertiesTypeOutput() ClusterSchedulerPropertiesTypeOutput { + return o +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToClusterSchedulerPropertiesTypeOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypeOutput { + return o +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToClusterSchedulerPropertiesTypePtrOutput() ClusterSchedulerPropertiesTypePtrOutput { + return o.ToClusterSchedulerPropertiesTypePtrOutputWithContext(context.Background()) +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToClusterSchedulerPropertiesTypePtrOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSchedulerPropertiesType) *ClusterSchedulerPropertiesType { + return &v + }).(ClusterSchedulerPropertiesTypePtrOutput) +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterSchedulerPropertiesType) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterSchedulerPropertiesTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterSchedulerPropertiesType) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterSchedulerPropertiesTypePtrOutput struct{ *pulumi.OutputState } + +func (ClusterSchedulerPropertiesTypePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSchedulerPropertiesType)(nil)).Elem() +} + +func (o ClusterSchedulerPropertiesTypePtrOutput) ToClusterSchedulerPropertiesTypePtrOutput() ClusterSchedulerPropertiesTypePtrOutput { + return o +} + +func (o ClusterSchedulerPropertiesTypePtrOutput) ToClusterSchedulerPropertiesTypePtrOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypePtrOutput { + return o +} + +func (o ClusterSchedulerPropertiesTypePtrOutput) Elem() ClusterSchedulerPropertiesTypeOutput { + return o.ApplyT(func(v *ClusterSchedulerPropertiesType) ClusterSchedulerPropertiesType { + if v != nil { + return *v + } + var ret ClusterSchedulerPropertiesType + return ret + }).(ClusterSchedulerPropertiesTypeOutput) +} + +func (o ClusterSchedulerPropertiesTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterSchedulerPropertiesTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterSchedulerPropertiesType) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ClusterSchedulerPropertiesTypeInput is an input type that accepts values of the ClusterSchedulerPropertiesType enum +// A concrete instance of `ClusterSchedulerPropertiesTypeInput` can be one of the following: +// +// ClusterSchedulerPropertiesTypeSlurm +type ClusterSchedulerPropertiesTypeInput interface { + pulumi.Input + + ToClusterSchedulerPropertiesTypeOutput() ClusterSchedulerPropertiesTypeOutput + ToClusterSchedulerPropertiesTypeOutputWithContext(context.Context) ClusterSchedulerPropertiesTypeOutput +} + +var clusterSchedulerPropertiesTypePtrType = reflect.TypeOf((**ClusterSchedulerPropertiesType)(nil)).Elem() + +type ClusterSchedulerPropertiesTypePtrInput interface { + pulumi.Input + + ToClusterSchedulerPropertiesTypePtrOutput() ClusterSchedulerPropertiesTypePtrOutput + ToClusterSchedulerPropertiesTypePtrOutputWithContext(context.Context) ClusterSchedulerPropertiesTypePtrOutput +} + +type clusterSchedulerPropertiesTypePtr string + +func ClusterSchedulerPropertiesTypePtr(v string) ClusterSchedulerPropertiesTypePtrInput { + return (*clusterSchedulerPropertiesTypePtr)(&v) +} + +func (*clusterSchedulerPropertiesTypePtr) ElementType() reflect.Type { + return clusterSchedulerPropertiesTypePtrType +} + +func (in *clusterSchedulerPropertiesTypePtr) ToClusterSchedulerPropertiesTypePtrOutput() ClusterSchedulerPropertiesTypePtrOutput { + return pulumi.ToOutput(in).(ClusterSchedulerPropertiesTypePtrOutput) +} + +func (in *clusterSchedulerPropertiesTypePtr) ToClusterSchedulerPropertiesTypePtrOutputWithContext(ctx context.Context) ClusterSchedulerPropertiesTypePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ClusterSchedulerPropertiesTypePtrOutput) +} + +// The size of the cluster. +type ClusterSize string + +const ( + ClusterSizeSmall = ClusterSize("SMALL") + ClusterSizeMedium = ClusterSize("MEDIUM") + ClusterSizeLarge = ClusterSize("LARGE") +) + +func (ClusterSize) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSize)(nil)).Elem() +} + +func (e ClusterSize) ToClusterSizeOutput() ClusterSizeOutput { + return pulumi.ToOutput(e).(ClusterSizeOutput) +} + +func (e ClusterSize) ToClusterSizeOutputWithContext(ctx context.Context) ClusterSizeOutput { + return pulumi.ToOutputWithContext(ctx, e).(ClusterSizeOutput) +} + +func (e ClusterSize) ToClusterSizePtrOutput() ClusterSizePtrOutput { + return e.ToClusterSizePtrOutputWithContext(context.Background()) +} + +func (e ClusterSize) ToClusterSizePtrOutputWithContext(ctx context.Context) ClusterSizePtrOutput { + return ClusterSize(e).ToClusterSizeOutputWithContext(ctx).ToClusterSizePtrOutputWithContext(ctx) +} + +func (e ClusterSize) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterSize) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ClusterSize) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ClusterSize) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ClusterSizeOutput struct{ *pulumi.OutputState } + +func (ClusterSizeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterSize)(nil)).Elem() +} + +func (o ClusterSizeOutput) ToClusterSizeOutput() ClusterSizeOutput { + return o +} + +func (o ClusterSizeOutput) ToClusterSizeOutputWithContext(ctx context.Context) ClusterSizeOutput { + return o +} + +func (o ClusterSizeOutput) ToClusterSizePtrOutput() ClusterSizePtrOutput { + return o.ToClusterSizePtrOutputWithContext(context.Background()) +} + +func (o ClusterSizeOutput) ToClusterSizePtrOutputWithContext(ctx context.Context) ClusterSizePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterSize) *ClusterSize { + return &v + }).(ClusterSizePtrOutput) +} + +func (o ClusterSizeOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterSizeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterSize) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterSizeOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterSizeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterSize) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterSizePtrOutput struct{ *pulumi.OutputState } + +func (ClusterSizePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterSize)(nil)).Elem() +} + +func (o ClusterSizePtrOutput) ToClusterSizePtrOutput() ClusterSizePtrOutput { + return o +} + +func (o ClusterSizePtrOutput) ToClusterSizePtrOutputWithContext(ctx context.Context) ClusterSizePtrOutput { + return o +} + +func (o ClusterSizePtrOutput) Elem() ClusterSizeOutput { + return o.ApplyT(func(v *ClusterSize) ClusterSize { + if v != nil { + return *v + } + var ret ClusterSize + return ret + }).(ClusterSizeOutput) +} + +func (o ClusterSizePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterSizePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterSize) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ClusterSizeInput is an input type that accepts values of the ClusterSize enum +// A concrete instance of `ClusterSizeInput` can be one of the following: +// +// ClusterSizeSmall +// ClusterSizeMedium +// ClusterSizeLarge +type ClusterSizeInput interface { + pulumi.Input + + ToClusterSizeOutput() ClusterSizeOutput + ToClusterSizeOutputWithContext(context.Context) ClusterSizeOutput +} + +var clusterSizePtrType = reflect.TypeOf((**ClusterSize)(nil)).Elem() + +type ClusterSizePtrInput interface { + pulumi.Input + + ToClusterSizePtrOutput() ClusterSizePtrOutput + ToClusterSizePtrOutputWithContext(context.Context) ClusterSizePtrOutput +} + +type clusterSizePtr string + +func ClusterSizePtr(v string) ClusterSizePtrInput { + return (*clusterSizePtr)(&v) +} + +func (*clusterSizePtr) ElementType() reflect.Type { + return clusterSizePtrType +} + +func (in *clusterSizePtr) ToClusterSizePtrOutput() ClusterSizePtrOutput { + return pulumi.ToOutput(in).(ClusterSizePtrOutput) +} + +func (in *clusterSizePtr) ToClusterSizePtrOutputWithContext(ctx context.Context) ClusterSizePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ClusterSizePtrOutput) +} + +// The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. +type ClusterStatus string + +const ( + ClusterStatusCreating = ClusterStatus("CREATING") + ClusterStatusActive = ClusterStatus("ACTIVE") + ClusterStatusUpdating = ClusterStatus("UPDATING") + ClusterStatusDeleting = ClusterStatus("DELETING") + ClusterStatusCreateFailed = ClusterStatus("CREATE_FAILED") + ClusterStatusDeleteFailed = ClusterStatus("DELETE_FAILED") + ClusterStatusUpdateFailed = ClusterStatus("UPDATE_FAILED") +) + +type ClusterStatusOutput struct{ *pulumi.OutputState } + +func (ClusterStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterStatus)(nil)).Elem() +} + +func (o ClusterStatusOutput) ToClusterStatusOutput() ClusterStatusOutput { + return o +} + +func (o ClusterStatusOutput) ToClusterStatusOutputWithContext(ctx context.Context) ClusterStatusOutput { + return o +} + +func (o ClusterStatusOutput) ToClusterStatusPtrOutput() ClusterStatusPtrOutput { + return o.ToClusterStatusPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToClusterStatusPtrOutputWithContext(ctx context.Context) ClusterStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ClusterStatus) *ClusterStatus { + return &v + }).(ClusterStatusPtrOutput) +} + +func (o ClusterStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ClusterStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ClusterStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ClusterStatusPtrOutput struct{ *pulumi.OutputState } + +func (ClusterStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ClusterStatus)(nil)).Elem() +} + +func (o ClusterStatusPtrOutput) ToClusterStatusPtrOutput() ClusterStatusPtrOutput { + return o +} + +func (o ClusterStatusPtrOutput) ToClusterStatusPtrOutputWithContext(ctx context.Context) ClusterStatusPtrOutput { + return o +} + +func (o ClusterStatusPtrOutput) Elem() ClusterStatusOutput { + return o.ApplyT(func(v *ClusterStatus) ClusterStatus { + if v != nil { + return *v + } + var ret ClusterStatus + return ret + }).(ClusterStatusOutput) +} + +func (o ClusterStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ClusterStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ClusterStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. +type ComputeNodeGroupPurchaseOption string + +const ( + ComputeNodeGroupPurchaseOptionOndemand = ComputeNodeGroupPurchaseOption("ONDEMAND") + ComputeNodeGroupPurchaseOptionSpot = ComputeNodeGroupPurchaseOption("SPOT") +) + +func (ComputeNodeGroupPurchaseOption) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupPurchaseOption)(nil)).Elem() +} + +func (e ComputeNodeGroupPurchaseOption) ToComputeNodeGroupPurchaseOptionOutput() ComputeNodeGroupPurchaseOptionOutput { + return pulumi.ToOutput(e).(ComputeNodeGroupPurchaseOptionOutput) +} + +func (e ComputeNodeGroupPurchaseOption) ToComputeNodeGroupPurchaseOptionOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionOutput { + return pulumi.ToOutputWithContext(ctx, e).(ComputeNodeGroupPurchaseOptionOutput) +} + +func (e ComputeNodeGroupPurchaseOption) ToComputeNodeGroupPurchaseOptionPtrOutput() ComputeNodeGroupPurchaseOptionPtrOutput { + return e.ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(context.Background()) +} + +func (e ComputeNodeGroupPurchaseOption) ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionPtrOutput { + return ComputeNodeGroupPurchaseOption(e).ToComputeNodeGroupPurchaseOptionOutputWithContext(ctx).ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(ctx) +} + +func (e ComputeNodeGroupPurchaseOption) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ComputeNodeGroupPurchaseOption) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ComputeNodeGroupPurchaseOption) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ComputeNodeGroupPurchaseOption) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ComputeNodeGroupPurchaseOptionOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupPurchaseOptionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupPurchaseOption)(nil)).Elem() +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToComputeNodeGroupPurchaseOptionOutput() ComputeNodeGroupPurchaseOptionOutput { + return o +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToComputeNodeGroupPurchaseOptionOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionOutput { + return o +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToComputeNodeGroupPurchaseOptionPtrOutput() ComputeNodeGroupPurchaseOptionPtrOutput { + return o.ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ComputeNodeGroupPurchaseOption) *ComputeNodeGroupPurchaseOption { + return &v + }).(ComputeNodeGroupPurchaseOptionPtrOutput) +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupPurchaseOption) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupPurchaseOptionOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupPurchaseOption) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ComputeNodeGroupPurchaseOptionPtrOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupPurchaseOptionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeNodeGroupPurchaseOption)(nil)).Elem() +} + +func (o ComputeNodeGroupPurchaseOptionPtrOutput) ToComputeNodeGroupPurchaseOptionPtrOutput() ComputeNodeGroupPurchaseOptionPtrOutput { + return o +} + +func (o ComputeNodeGroupPurchaseOptionPtrOutput) ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionPtrOutput { + return o +} + +func (o ComputeNodeGroupPurchaseOptionPtrOutput) Elem() ComputeNodeGroupPurchaseOptionOutput { + return o.ApplyT(func(v *ComputeNodeGroupPurchaseOption) ComputeNodeGroupPurchaseOption { + if v != nil { + return *v + } + var ret ComputeNodeGroupPurchaseOption + return ret + }).(ComputeNodeGroupPurchaseOptionOutput) +} + +func (o ComputeNodeGroupPurchaseOptionPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupPurchaseOptionPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ComputeNodeGroupPurchaseOption) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ComputeNodeGroupPurchaseOptionInput is an input type that accepts values of the ComputeNodeGroupPurchaseOption enum +// A concrete instance of `ComputeNodeGroupPurchaseOptionInput` can be one of the following: +// +// ComputeNodeGroupPurchaseOptionOndemand +// ComputeNodeGroupPurchaseOptionSpot +type ComputeNodeGroupPurchaseOptionInput interface { + pulumi.Input + + ToComputeNodeGroupPurchaseOptionOutput() ComputeNodeGroupPurchaseOptionOutput + ToComputeNodeGroupPurchaseOptionOutputWithContext(context.Context) ComputeNodeGroupPurchaseOptionOutput +} + +var computeNodeGroupPurchaseOptionPtrType = reflect.TypeOf((**ComputeNodeGroupPurchaseOption)(nil)).Elem() + +type ComputeNodeGroupPurchaseOptionPtrInput interface { + pulumi.Input + + ToComputeNodeGroupPurchaseOptionPtrOutput() ComputeNodeGroupPurchaseOptionPtrOutput + ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(context.Context) ComputeNodeGroupPurchaseOptionPtrOutput +} + +type computeNodeGroupPurchaseOptionPtr string + +func ComputeNodeGroupPurchaseOptionPtr(v string) ComputeNodeGroupPurchaseOptionPtrInput { + return (*computeNodeGroupPurchaseOptionPtr)(&v) +} + +func (*computeNodeGroupPurchaseOptionPtr) ElementType() reflect.Type { + return computeNodeGroupPurchaseOptionPtrType +} + +func (in *computeNodeGroupPurchaseOptionPtr) ToComputeNodeGroupPurchaseOptionPtrOutput() ComputeNodeGroupPurchaseOptionPtrOutput { + return pulumi.ToOutput(in).(ComputeNodeGroupPurchaseOptionPtrOutput) +} + +func (in *computeNodeGroupPurchaseOptionPtr) ToComputeNodeGroupPurchaseOptionPtrOutputWithContext(ctx context.Context) ComputeNodeGroupPurchaseOptionPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ComputeNodeGroupPurchaseOptionPtrOutput) +} + +// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. +type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy string + +const ( + ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyLowestPrice = ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("lowest-price") + ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyCapacityOptimized = ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("capacity-optimized") + ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPriceCapacityOptimized = ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("price-capacity-optimized") +) + +func (ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy)(nil)).Elem() +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput { + return pulumi.ToOutput(e).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput { + return pulumi.ToOutputWithContext(ctx, e).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return e.ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(context.Background()) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy(e).ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutputWithContext(ctx).ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(ctx) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy)(nil)).Elem() +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput { + return o +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput { + return o +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o.ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy { + return &v + }).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy)(nil)).Elem() +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) Elem() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput { + return o.ApplyT(func(v *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy { + if v != nil { + return *v + } + var ret ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy + return ret + }).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyInput is an input type that accepts values of the ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy enum +// A concrete instance of `ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyInput` can be one of the following: +// +// ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyLowestPrice +// ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyCapacityOptimized +// ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPriceCapacityOptimized +type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyInput interface { + pulumi.Input + + ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput + ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutputWithContext(context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput +} + +var computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrType = reflect.TypeOf((**ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy)(nil)).Elem() + +type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrInput interface { + pulumi.Input + + ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput + ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput +} + +type computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr string + +func ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr(v string) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrInput { + return (*computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr)(&v) +} + +func (*computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr) ElementType() reflect.Type { + return computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrType +} + +func (in *computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return pulumi.ToOutput(in).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) +} + +func (in *computeNodeGroupSpotOptionsPropertiesAllocationStrategyPtr) ToComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutputWithContext(ctx context.Context) ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) +} + +// The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. +type ComputeNodeGroupStatus string + +const ( + ComputeNodeGroupStatusCreating = ComputeNodeGroupStatus("CREATING") + ComputeNodeGroupStatusActive = ComputeNodeGroupStatus("ACTIVE") + ComputeNodeGroupStatusUpdating = ComputeNodeGroupStatus("UPDATING") + ComputeNodeGroupStatusDeleting = ComputeNodeGroupStatus("DELETING") + ComputeNodeGroupStatusCreateFailed = ComputeNodeGroupStatus("CREATE_FAILED") + ComputeNodeGroupStatusDeleteFailed = ComputeNodeGroupStatus("DELETE_FAILED") + ComputeNodeGroupStatusUpdateFailed = ComputeNodeGroupStatus("UPDATE_FAILED") +) + +type ComputeNodeGroupStatusOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupStatus)(nil)).Elem() +} + +func (o ComputeNodeGroupStatusOutput) ToComputeNodeGroupStatusOutput() ComputeNodeGroupStatusOutput { + return o +} + +func (o ComputeNodeGroupStatusOutput) ToComputeNodeGroupStatusOutputWithContext(ctx context.Context) ComputeNodeGroupStatusOutput { + return o +} + +func (o ComputeNodeGroupStatusOutput) ToComputeNodeGroupStatusPtrOutput() ComputeNodeGroupStatusPtrOutput { + return o.ToComputeNodeGroupStatusPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupStatusOutput) ToComputeNodeGroupStatusPtrOutputWithContext(ctx context.Context) ComputeNodeGroupStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ComputeNodeGroupStatus) *ComputeNodeGroupStatus { + return &v + }).(ComputeNodeGroupStatusPtrOutput) +} + +func (o ComputeNodeGroupStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o ComputeNodeGroupStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e ComputeNodeGroupStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type ComputeNodeGroupStatusPtrOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ComputeNodeGroupStatus)(nil)).Elem() +} + +func (o ComputeNodeGroupStatusPtrOutput) ToComputeNodeGroupStatusPtrOutput() ComputeNodeGroupStatusPtrOutput { + return o +} + +func (o ComputeNodeGroupStatusPtrOutput) ToComputeNodeGroupStatusPtrOutputWithContext(ctx context.Context) ComputeNodeGroupStatusPtrOutput { + return o +} + +func (o ComputeNodeGroupStatusPtrOutput) Elem() ComputeNodeGroupStatusOutput { + return o.ApplyT(func(v *ComputeNodeGroupStatus) ComputeNodeGroupStatus { + if v != nil { + return *v + } + var ret ComputeNodeGroupStatus + return ret + }).(ComputeNodeGroupStatusOutput) +} + +func (o ComputeNodeGroupStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o ComputeNodeGroupStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *ComputeNodeGroupStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. +type QueueStatus string + +const ( + QueueStatusCreating = QueueStatus("CREATING") + QueueStatusActive = QueueStatus("ACTIVE") + QueueStatusUpdating = QueueStatus("UPDATING") + QueueStatusDeleting = QueueStatus("DELETING") + QueueStatusCreateFailed = QueueStatus("CREATE_FAILED") + QueueStatusDeleteFailed = QueueStatus("DELETE_FAILED") + QueueStatusUpdateFailed = QueueStatus("UPDATE_FAILED") +) + +type QueueStatusOutput struct{ *pulumi.OutputState } + +func (QueueStatusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueueStatus)(nil)).Elem() +} + +func (o QueueStatusOutput) ToQueueStatusOutput() QueueStatusOutput { + return o +} + +func (o QueueStatusOutput) ToQueueStatusOutputWithContext(ctx context.Context) QueueStatusOutput { + return o +} + +func (o QueueStatusOutput) ToQueueStatusPtrOutput() QueueStatusPtrOutput { + return o.ToQueueStatusPtrOutputWithContext(context.Background()) +} + +func (o QueueStatusOutput) ToQueueStatusPtrOutputWithContext(ctx context.Context) QueueStatusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v QueueStatus) *QueueStatus { + return &v + }).(QueueStatusPtrOutput) +} + +func (o QueueStatusOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o QueueStatusOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e QueueStatus) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o QueueStatusOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o QueueStatusOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e QueueStatus) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type QueueStatusPtrOutput struct{ *pulumi.OutputState } + +func (QueueStatusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**QueueStatus)(nil)).Elem() +} + +func (o QueueStatusPtrOutput) ToQueueStatusPtrOutput() QueueStatusPtrOutput { + return o +} + +func (o QueueStatusPtrOutput) ToQueueStatusPtrOutputWithContext(ctx context.Context) QueueStatusPtrOutput { + return o +} + +func (o QueueStatusPtrOutput) Elem() QueueStatusOutput { + return o.ApplyT(func(v *QueueStatus) QueueStatus { + if v != nil { + return *v + } + var ret QueueStatus + return ret + }).(QueueStatusOutput) +} + +func (o QueueStatusPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o QueueStatusPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *QueueStatus) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSchedulerPropertiesTypeInput)(nil)).Elem(), ClusterSchedulerPropertiesType("SLURM")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSchedulerPropertiesTypePtrInput)(nil)).Elem(), ClusterSchedulerPropertiesType("SLURM")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSizeInput)(nil)).Elem(), ClusterSize("SMALL")) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterSizePtrInput)(nil)).Elem(), ClusterSize("SMALL")) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupPurchaseOptionInput)(nil)).Elem(), ComputeNodeGroupPurchaseOption("ONDEMAND")) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupPurchaseOptionPtrInput)(nil)).Elem(), ComputeNodeGroupPurchaseOption("ONDEMAND")) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyInput)(nil)).Elem(), ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("lowest-price")) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrInput)(nil)).Elem(), ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy("lowest-price")) + pulumi.RegisterOutputType(ClusterEndpointTypeOutput{}) + pulumi.RegisterOutputType(ClusterEndpointTypePtrOutput{}) + pulumi.RegisterOutputType(ClusterSchedulerPropertiesTypeOutput{}) + pulumi.RegisterOutputType(ClusterSchedulerPropertiesTypePtrOutput{}) + pulumi.RegisterOutputType(ClusterSizeOutput{}) + pulumi.RegisterOutputType(ClusterSizePtrOutput{}) + pulumi.RegisterOutputType(ClusterStatusOutput{}) + pulumi.RegisterOutputType(ClusterStatusPtrOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupPurchaseOptionOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupPurchaseOptionPtrOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupStatusOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupStatusPtrOutput{}) + pulumi.RegisterOutputType(QueueStatusOutput{}) + pulumi.RegisterOutputType(QueueStatusPtrOutput{}) +} diff --git a/sdk/go/aws/pcs/pulumiTypes.go b/sdk/go/aws/pcs/pulumiTypes.go new file mode 100644 index 0000000000..088caf7e76 --- /dev/null +++ b/sdk/go/aws/pcs/pulumiTypes.go @@ -0,0 +1,1234 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +var _ = internal.GetEnvOrDefault + +// The shared Slurm key for authentication, also known as the cluster secret. +type ClusterAuthKey struct { + // The Amazon Resource Name (ARN) of the the shared Slurm key. + SecretArn string `pulumi:"secretArn"` + // The version of the shared Slurm key. + SecretVersion string `pulumi:"secretVersion"` +} + +// An endpoint available for interaction with the scheduler. +type ClusterEndpoint struct { + // The endpoint's connection port number. + Port string `pulumi:"port"` + // The endpoint's private IP address. + PrivateIpAddress string `pulumi:"privateIpAddress"` + // The endpoint's public IP address. + PublicIpAddress *string `pulumi:"publicIpAddress"` + // Indicates the type of endpoint running at the specific IP address. + Type ClusterEndpointType `pulumi:"type"` +} + +// An endpoint available for interaction with the scheduler. +type ClusterEndpointOutput struct{ *pulumi.OutputState } + +func (ClusterEndpointOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterEndpoint)(nil)).Elem() +} + +func (o ClusterEndpointOutput) ToClusterEndpointOutput() ClusterEndpointOutput { + return o +} + +func (o ClusterEndpointOutput) ToClusterEndpointOutputWithContext(ctx context.Context) ClusterEndpointOutput { + return o +} + +// The endpoint's connection port number. +func (o ClusterEndpointOutput) Port() pulumi.StringOutput { + return o.ApplyT(func(v ClusterEndpoint) string { return v.Port }).(pulumi.StringOutput) +} + +// The endpoint's private IP address. +func (o ClusterEndpointOutput) PrivateIpAddress() pulumi.StringOutput { + return o.ApplyT(func(v ClusterEndpoint) string { return v.PrivateIpAddress }).(pulumi.StringOutput) +} + +// The endpoint's public IP address. +func (o ClusterEndpointOutput) PublicIpAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterEndpoint) *string { return v.PublicIpAddress }).(pulumi.StringPtrOutput) +} + +// Indicates the type of endpoint running at the specific IP address. +func (o ClusterEndpointOutput) Type() ClusterEndpointTypeOutput { + return o.ApplyT(func(v ClusterEndpoint) ClusterEndpointType { return v.Type }).(ClusterEndpointTypeOutput) +} + +type ClusterEndpointArrayOutput struct{ *pulumi.OutputState } + +func (ClusterEndpointArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterEndpoint)(nil)).Elem() +} + +func (o ClusterEndpointArrayOutput) ToClusterEndpointArrayOutput() ClusterEndpointArrayOutput { + return o +} + +func (o ClusterEndpointArrayOutput) ToClusterEndpointArrayOutputWithContext(ctx context.Context) ClusterEndpointArrayOutput { + return o +} + +func (o ClusterEndpointArrayOutput) Index(i pulumi.IntInput) ClusterEndpointOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterEndpoint { + return vs[0].([]ClusterEndpoint)[vs[1].(int)] + }).(ClusterEndpointOutput) +} + +// An error that occurred during resource provisioning. +type ClusterErrorInfo struct { + // The short-form error code. + Code *string `pulumi:"code"` + // The detailed error information. + Message *string `pulumi:"message"` +} + +// An error that occurred during resource provisioning. +type ClusterErrorInfoOutput struct{ *pulumi.OutputState } + +func (ClusterErrorInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterErrorInfo)(nil)).Elem() +} + +func (o ClusterErrorInfoOutput) ToClusterErrorInfoOutput() ClusterErrorInfoOutput { + return o +} + +func (o ClusterErrorInfoOutput) ToClusterErrorInfoOutputWithContext(ctx context.Context) ClusterErrorInfoOutput { + return o +} + +// The short-form error code. +func (o ClusterErrorInfoOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterErrorInfo) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// The detailed error information. +func (o ClusterErrorInfoOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterErrorInfo) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +type ClusterErrorInfoArrayOutput struct{ *pulumi.OutputState } + +func (ClusterErrorInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterErrorInfo)(nil)).Elem() +} + +func (o ClusterErrorInfoArrayOutput) ToClusterErrorInfoArrayOutput() ClusterErrorInfoArrayOutput { + return o +} + +func (o ClusterErrorInfoArrayOutput) ToClusterErrorInfoArrayOutputWithContext(ctx context.Context) ClusterErrorInfoArrayOutput { + return o +} + +func (o ClusterErrorInfoArrayOutput) Index(i pulumi.IntInput) ClusterErrorInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterErrorInfo { + return vs[0].([]ClusterErrorInfo)[vs[1].(int)] + }).(ClusterErrorInfoOutput) +} + +// Additional settings that directly map to Slurm settings. +type ClusterSlurmCustomSetting struct { + // AWS PCS supports configuration of the following Slurm parameters for clusters: Prolog, Epilog, and SelectTypeParameters. + ParameterName string `pulumi:"parameterName"` + // The value for the configured Slurm setting. + ParameterValue string `pulumi:"parameterValue"` +} + +// An error that occurred during resource provisioning. +type ComputeNodeGroupErrorInfo struct { + // The short-form error code. + Code *string `pulumi:"code"` + // The detailed error information. + Message *string `pulumi:"message"` +} + +// An error that occurred during resource provisioning. +type ComputeNodeGroupErrorInfoOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupErrorInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupErrorInfo)(nil)).Elem() +} + +func (o ComputeNodeGroupErrorInfoOutput) ToComputeNodeGroupErrorInfoOutput() ComputeNodeGroupErrorInfoOutput { + return o +} + +func (o ComputeNodeGroupErrorInfoOutput) ToComputeNodeGroupErrorInfoOutputWithContext(ctx context.Context) ComputeNodeGroupErrorInfoOutput { + return o +} + +// The short-form error code. +func (o ComputeNodeGroupErrorInfoOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeNodeGroupErrorInfo) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// The detailed error information. +func (o ComputeNodeGroupErrorInfoOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeNodeGroupErrorInfo) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +type ComputeNodeGroupErrorInfoArrayOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupErrorInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeNodeGroupErrorInfo)(nil)).Elem() +} + +func (o ComputeNodeGroupErrorInfoArrayOutput) ToComputeNodeGroupErrorInfoArrayOutput() ComputeNodeGroupErrorInfoArrayOutput { + return o +} + +func (o ComputeNodeGroupErrorInfoArrayOutput) ToComputeNodeGroupErrorInfoArrayOutputWithContext(ctx context.Context) ComputeNodeGroupErrorInfoArrayOutput { + return o +} + +func (o ComputeNodeGroupErrorInfoArrayOutput) Index(i pulumi.IntInput) ComputeNodeGroupErrorInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeNodeGroupErrorInfo { + return vs[0].([]ComputeNodeGroupErrorInfo)[vs[1].(int)] + }).(ComputeNodeGroupErrorInfoOutput) +} + +// An EC2 instance configuration AWS PCS uses to launch compute nodes. +type ComputeNodeGroupInstanceConfig struct { + // The EC2 instance type that AWS PCS can provision in the compute node group. + InstanceType *string `pulumi:"instanceType"` +} + +// ComputeNodeGroupInstanceConfigInput is an input type that accepts ComputeNodeGroupInstanceConfigArgs and ComputeNodeGroupInstanceConfigOutput values. +// You can construct a concrete instance of `ComputeNodeGroupInstanceConfigInput` via: +// +// ComputeNodeGroupInstanceConfigArgs{...} +type ComputeNodeGroupInstanceConfigInput interface { + pulumi.Input + + ToComputeNodeGroupInstanceConfigOutput() ComputeNodeGroupInstanceConfigOutput + ToComputeNodeGroupInstanceConfigOutputWithContext(context.Context) ComputeNodeGroupInstanceConfigOutput +} + +// An EC2 instance configuration AWS PCS uses to launch compute nodes. +type ComputeNodeGroupInstanceConfigArgs struct { + // The EC2 instance type that AWS PCS can provision in the compute node group. + InstanceType pulumi.StringPtrInput `pulumi:"instanceType"` +} + +func (ComputeNodeGroupInstanceConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupInstanceConfig)(nil)).Elem() +} + +func (i ComputeNodeGroupInstanceConfigArgs) ToComputeNodeGroupInstanceConfigOutput() ComputeNodeGroupInstanceConfigOutput { + return i.ToComputeNodeGroupInstanceConfigOutputWithContext(context.Background()) +} + +func (i ComputeNodeGroupInstanceConfigArgs) ToComputeNodeGroupInstanceConfigOutputWithContext(ctx context.Context) ComputeNodeGroupInstanceConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeNodeGroupInstanceConfigOutput) +} + +// ComputeNodeGroupInstanceConfigArrayInput is an input type that accepts ComputeNodeGroupInstanceConfigArray and ComputeNodeGroupInstanceConfigArrayOutput values. +// You can construct a concrete instance of `ComputeNodeGroupInstanceConfigArrayInput` via: +// +// ComputeNodeGroupInstanceConfigArray{ ComputeNodeGroupInstanceConfigArgs{...} } +type ComputeNodeGroupInstanceConfigArrayInput interface { + pulumi.Input + + ToComputeNodeGroupInstanceConfigArrayOutput() ComputeNodeGroupInstanceConfigArrayOutput + ToComputeNodeGroupInstanceConfigArrayOutputWithContext(context.Context) ComputeNodeGroupInstanceConfigArrayOutput +} + +type ComputeNodeGroupInstanceConfigArray []ComputeNodeGroupInstanceConfigInput + +func (ComputeNodeGroupInstanceConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeNodeGroupInstanceConfig)(nil)).Elem() +} + +func (i ComputeNodeGroupInstanceConfigArray) ToComputeNodeGroupInstanceConfigArrayOutput() ComputeNodeGroupInstanceConfigArrayOutput { + return i.ToComputeNodeGroupInstanceConfigArrayOutputWithContext(context.Background()) +} + +func (i ComputeNodeGroupInstanceConfigArray) ToComputeNodeGroupInstanceConfigArrayOutputWithContext(ctx context.Context) ComputeNodeGroupInstanceConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeNodeGroupInstanceConfigArrayOutput) +} + +// An EC2 instance configuration AWS PCS uses to launch compute nodes. +type ComputeNodeGroupInstanceConfigOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupInstanceConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupInstanceConfig)(nil)).Elem() +} + +func (o ComputeNodeGroupInstanceConfigOutput) ToComputeNodeGroupInstanceConfigOutput() ComputeNodeGroupInstanceConfigOutput { + return o +} + +func (o ComputeNodeGroupInstanceConfigOutput) ToComputeNodeGroupInstanceConfigOutputWithContext(ctx context.Context) ComputeNodeGroupInstanceConfigOutput { + return o +} + +// The EC2 instance type that AWS PCS can provision in the compute node group. +func (o ComputeNodeGroupInstanceConfigOutput) InstanceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ComputeNodeGroupInstanceConfig) *string { return v.InstanceType }).(pulumi.StringPtrOutput) +} + +type ComputeNodeGroupInstanceConfigArrayOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupInstanceConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeNodeGroupInstanceConfig)(nil)).Elem() +} + +func (o ComputeNodeGroupInstanceConfigArrayOutput) ToComputeNodeGroupInstanceConfigArrayOutput() ComputeNodeGroupInstanceConfigArrayOutput { + return o +} + +func (o ComputeNodeGroupInstanceConfigArrayOutput) ToComputeNodeGroupInstanceConfigArrayOutputWithContext(ctx context.Context) ComputeNodeGroupInstanceConfigArrayOutput { + return o +} + +func (o ComputeNodeGroupInstanceConfigArrayOutput) Index(i pulumi.IntInput) ComputeNodeGroupInstanceConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeNodeGroupInstanceConfig { + return vs[0].([]ComputeNodeGroupInstanceConfig)[vs[1].(int)] + }).(ComputeNodeGroupInstanceConfigOutput) +} + +// Additional settings that directly map to Slurm settings. +type ComputeNodeGroupSlurmCustomSetting struct { + // AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + ParameterName string `pulumi:"parameterName"` + // The value for the configured Slurm setting. + ParameterValue string `pulumi:"parameterValue"` +} + +// ComputeNodeGroupSlurmCustomSettingInput is an input type that accepts ComputeNodeGroupSlurmCustomSettingArgs and ComputeNodeGroupSlurmCustomSettingOutput values. +// You can construct a concrete instance of `ComputeNodeGroupSlurmCustomSettingInput` via: +// +// ComputeNodeGroupSlurmCustomSettingArgs{...} +type ComputeNodeGroupSlurmCustomSettingInput interface { + pulumi.Input + + ToComputeNodeGroupSlurmCustomSettingOutput() ComputeNodeGroupSlurmCustomSettingOutput + ToComputeNodeGroupSlurmCustomSettingOutputWithContext(context.Context) ComputeNodeGroupSlurmCustomSettingOutput +} + +// Additional settings that directly map to Slurm settings. +type ComputeNodeGroupSlurmCustomSettingArgs struct { + // AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + ParameterName pulumi.StringInput `pulumi:"parameterName"` + // The value for the configured Slurm setting. + ParameterValue pulumi.StringInput `pulumi:"parameterValue"` +} + +func (ComputeNodeGroupSlurmCustomSettingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupSlurmCustomSetting)(nil)).Elem() +} + +func (i ComputeNodeGroupSlurmCustomSettingArgs) ToComputeNodeGroupSlurmCustomSettingOutput() ComputeNodeGroupSlurmCustomSettingOutput { + return i.ToComputeNodeGroupSlurmCustomSettingOutputWithContext(context.Background()) +} + +func (i ComputeNodeGroupSlurmCustomSettingArgs) ToComputeNodeGroupSlurmCustomSettingOutputWithContext(ctx context.Context) ComputeNodeGroupSlurmCustomSettingOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeNodeGroupSlurmCustomSettingOutput) +} + +// ComputeNodeGroupSlurmCustomSettingArrayInput is an input type that accepts ComputeNodeGroupSlurmCustomSettingArray and ComputeNodeGroupSlurmCustomSettingArrayOutput values. +// You can construct a concrete instance of `ComputeNodeGroupSlurmCustomSettingArrayInput` via: +// +// ComputeNodeGroupSlurmCustomSettingArray{ ComputeNodeGroupSlurmCustomSettingArgs{...} } +type ComputeNodeGroupSlurmCustomSettingArrayInput interface { + pulumi.Input + + ToComputeNodeGroupSlurmCustomSettingArrayOutput() ComputeNodeGroupSlurmCustomSettingArrayOutput + ToComputeNodeGroupSlurmCustomSettingArrayOutputWithContext(context.Context) ComputeNodeGroupSlurmCustomSettingArrayOutput +} + +type ComputeNodeGroupSlurmCustomSettingArray []ComputeNodeGroupSlurmCustomSettingInput + +func (ComputeNodeGroupSlurmCustomSettingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeNodeGroupSlurmCustomSetting)(nil)).Elem() +} + +func (i ComputeNodeGroupSlurmCustomSettingArray) ToComputeNodeGroupSlurmCustomSettingArrayOutput() ComputeNodeGroupSlurmCustomSettingArrayOutput { + return i.ToComputeNodeGroupSlurmCustomSettingArrayOutputWithContext(context.Background()) +} + +func (i ComputeNodeGroupSlurmCustomSettingArray) ToComputeNodeGroupSlurmCustomSettingArrayOutputWithContext(ctx context.Context) ComputeNodeGroupSlurmCustomSettingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ComputeNodeGroupSlurmCustomSettingArrayOutput) +} + +// Additional settings that directly map to Slurm settings. +type ComputeNodeGroupSlurmCustomSettingOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupSlurmCustomSettingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ComputeNodeGroupSlurmCustomSetting)(nil)).Elem() +} + +func (o ComputeNodeGroupSlurmCustomSettingOutput) ToComputeNodeGroupSlurmCustomSettingOutput() ComputeNodeGroupSlurmCustomSettingOutput { + return o +} + +func (o ComputeNodeGroupSlurmCustomSettingOutput) ToComputeNodeGroupSlurmCustomSettingOutputWithContext(ctx context.Context) ComputeNodeGroupSlurmCustomSettingOutput { + return o +} + +// AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. +func (o ComputeNodeGroupSlurmCustomSettingOutput) ParameterName() pulumi.StringOutput { + return o.ApplyT(func(v ComputeNodeGroupSlurmCustomSetting) string { return v.ParameterName }).(pulumi.StringOutput) +} + +// The value for the configured Slurm setting. +func (o ComputeNodeGroupSlurmCustomSettingOutput) ParameterValue() pulumi.StringOutput { + return o.ApplyT(func(v ComputeNodeGroupSlurmCustomSetting) string { return v.ParameterValue }).(pulumi.StringOutput) +} + +type ComputeNodeGroupSlurmCustomSettingArrayOutput struct{ *pulumi.OutputState } + +func (ComputeNodeGroupSlurmCustomSettingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ComputeNodeGroupSlurmCustomSetting)(nil)).Elem() +} + +func (o ComputeNodeGroupSlurmCustomSettingArrayOutput) ToComputeNodeGroupSlurmCustomSettingArrayOutput() ComputeNodeGroupSlurmCustomSettingArrayOutput { + return o +} + +func (o ComputeNodeGroupSlurmCustomSettingArrayOutput) ToComputeNodeGroupSlurmCustomSettingArrayOutputWithContext(ctx context.Context) ComputeNodeGroupSlurmCustomSettingArrayOutput { + return o +} + +func (o ComputeNodeGroupSlurmCustomSettingArrayOutput) Index(i pulumi.IntInput) ComputeNodeGroupSlurmCustomSettingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ComputeNodeGroupSlurmCustomSetting { + return vs[0].([]ComputeNodeGroupSlurmCustomSetting)[vs[1].(int)] + }).(ComputeNodeGroupSlurmCustomSettingOutput) +} + +// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. +type CustomLaunchTemplateProperties struct { + // The ID of the EC2 launch template to use to provision instances. + Id string `pulumi:"id"` + // The version of the EC2 launch template to use to provision instances. + Version string `pulumi:"version"` +} + +// CustomLaunchTemplatePropertiesInput is an input type that accepts CustomLaunchTemplatePropertiesArgs and CustomLaunchTemplatePropertiesOutput values. +// You can construct a concrete instance of `CustomLaunchTemplatePropertiesInput` via: +// +// CustomLaunchTemplatePropertiesArgs{...} +type CustomLaunchTemplatePropertiesInput interface { + pulumi.Input + + ToCustomLaunchTemplatePropertiesOutput() CustomLaunchTemplatePropertiesOutput + ToCustomLaunchTemplatePropertiesOutputWithContext(context.Context) CustomLaunchTemplatePropertiesOutput +} + +// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. +type CustomLaunchTemplatePropertiesArgs struct { + // The ID of the EC2 launch template to use to provision instances. + Id pulumi.StringInput `pulumi:"id"` + // The version of the EC2 launch template to use to provision instances. + Version pulumi.StringInput `pulumi:"version"` +} + +func (CustomLaunchTemplatePropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLaunchTemplateProperties)(nil)).Elem() +} + +func (i CustomLaunchTemplatePropertiesArgs) ToCustomLaunchTemplatePropertiesOutput() CustomLaunchTemplatePropertiesOutput { + return i.ToCustomLaunchTemplatePropertiesOutputWithContext(context.Background()) +} + +func (i CustomLaunchTemplatePropertiesArgs) ToCustomLaunchTemplatePropertiesOutputWithContext(ctx context.Context) CustomLaunchTemplatePropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomLaunchTemplatePropertiesOutput) +} + +// An Amazon EC2 launch template AWS PCS uses to launch compute nodes. +type CustomLaunchTemplatePropertiesOutput struct{ *pulumi.OutputState } + +func (CustomLaunchTemplatePropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomLaunchTemplateProperties)(nil)).Elem() +} + +func (o CustomLaunchTemplatePropertiesOutput) ToCustomLaunchTemplatePropertiesOutput() CustomLaunchTemplatePropertiesOutput { + return o +} + +func (o CustomLaunchTemplatePropertiesOutput) ToCustomLaunchTemplatePropertiesOutputWithContext(ctx context.Context) CustomLaunchTemplatePropertiesOutput { + return o +} + +// The ID of the EC2 launch template to use to provision instances. +func (o CustomLaunchTemplatePropertiesOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v CustomLaunchTemplateProperties) string { return v.Id }).(pulumi.StringOutput) +} + +// The version of the EC2 launch template to use to provision instances. +func (o CustomLaunchTemplatePropertiesOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v CustomLaunchTemplateProperties) string { return v.Version }).(pulumi.StringOutput) +} + +type CustomLaunchTemplatePropertiesPtrOutput struct{ *pulumi.OutputState } + +func (CustomLaunchTemplatePropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomLaunchTemplateProperties)(nil)).Elem() +} + +func (o CustomLaunchTemplatePropertiesPtrOutput) ToCustomLaunchTemplatePropertiesPtrOutput() CustomLaunchTemplatePropertiesPtrOutput { + return o +} + +func (o CustomLaunchTemplatePropertiesPtrOutput) ToCustomLaunchTemplatePropertiesPtrOutputWithContext(ctx context.Context) CustomLaunchTemplatePropertiesPtrOutput { + return o +} + +func (o CustomLaunchTemplatePropertiesPtrOutput) Elem() CustomLaunchTemplatePropertiesOutput { + return o.ApplyT(func(v *CustomLaunchTemplateProperties) CustomLaunchTemplateProperties { + if v != nil { + return *v + } + var ret CustomLaunchTemplateProperties + return ret + }).(CustomLaunchTemplatePropertiesOutput) +} + +// The ID of the EC2 launch template to use to provision instances. +func (o CustomLaunchTemplatePropertiesPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomLaunchTemplateProperties) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The version of the EC2 launch template to use to provision instances. +func (o CustomLaunchTemplatePropertiesPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CustomLaunchTemplateProperties) *string { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.StringPtrOutput) +} + +// The networking configuration for the cluster's control plane. +type NetworkingProperties struct { + // The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + SecurityGroupIds []string `pulumi:"securityGroupIds"` + // The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + SubnetIds []string `pulumi:"subnetIds"` +} + +// NetworkingPropertiesInput is an input type that accepts NetworkingPropertiesArgs and NetworkingPropertiesOutput values. +// You can construct a concrete instance of `NetworkingPropertiesInput` via: +// +// NetworkingPropertiesArgs{...} +type NetworkingPropertiesInput interface { + pulumi.Input + + ToNetworkingPropertiesOutput() NetworkingPropertiesOutput + ToNetworkingPropertiesOutputWithContext(context.Context) NetworkingPropertiesOutput +} + +// The networking configuration for the cluster's control plane. +type NetworkingPropertiesArgs struct { + // The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"` + // The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + SubnetIds pulumi.StringArrayInput `pulumi:"subnetIds"` +} + +func (NetworkingPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkingProperties)(nil)).Elem() +} + +func (i NetworkingPropertiesArgs) ToNetworkingPropertiesOutput() NetworkingPropertiesOutput { + return i.ToNetworkingPropertiesOutputWithContext(context.Background()) +} + +func (i NetworkingPropertiesArgs) ToNetworkingPropertiesOutputWithContext(ctx context.Context) NetworkingPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkingPropertiesOutput) +} + +// The networking configuration for the cluster's control plane. +type NetworkingPropertiesOutput struct{ *pulumi.OutputState } + +func (NetworkingPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkingProperties)(nil)).Elem() +} + +func (o NetworkingPropertiesOutput) ToNetworkingPropertiesOutput() NetworkingPropertiesOutput { + return o +} + +func (o NetworkingPropertiesOutput) ToNetworkingPropertiesOutputWithContext(ctx context.Context) NetworkingPropertiesOutput { + return o +} + +// The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. +func (o NetworkingPropertiesOutput) SecurityGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkingProperties) []string { return v.SecurityGroupIds }).(pulumi.StringArrayOutput) +} + +// The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. +func (o NetworkingPropertiesOutput) SubnetIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkingProperties) []string { return v.SubnetIds }).(pulumi.StringArrayOutput) +} + +// The compute node group configuration for a queue. +type QueueComputeNodeGroupConfiguration struct { + // The compute node group ID for the compute node group configuration. + ComputeNodeGroupId *string `pulumi:"computeNodeGroupId"` +} + +// QueueComputeNodeGroupConfigurationInput is an input type that accepts QueueComputeNodeGroupConfigurationArgs and QueueComputeNodeGroupConfigurationOutput values. +// You can construct a concrete instance of `QueueComputeNodeGroupConfigurationInput` via: +// +// QueueComputeNodeGroupConfigurationArgs{...} +type QueueComputeNodeGroupConfigurationInput interface { + pulumi.Input + + ToQueueComputeNodeGroupConfigurationOutput() QueueComputeNodeGroupConfigurationOutput + ToQueueComputeNodeGroupConfigurationOutputWithContext(context.Context) QueueComputeNodeGroupConfigurationOutput +} + +// The compute node group configuration for a queue. +type QueueComputeNodeGroupConfigurationArgs struct { + // The compute node group ID for the compute node group configuration. + ComputeNodeGroupId pulumi.StringPtrInput `pulumi:"computeNodeGroupId"` +} + +func (QueueComputeNodeGroupConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNodeGroupConfiguration)(nil)).Elem() +} + +func (i QueueComputeNodeGroupConfigurationArgs) ToQueueComputeNodeGroupConfigurationOutput() QueueComputeNodeGroupConfigurationOutput { + return i.ToQueueComputeNodeGroupConfigurationOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeGroupConfigurationArgs) ToQueueComputeNodeGroupConfigurationOutputWithContext(ctx context.Context) QueueComputeNodeGroupConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeGroupConfigurationOutput) +} + +// QueueComputeNodeGroupConfigurationArrayInput is an input type that accepts QueueComputeNodeGroupConfigurationArray and QueueComputeNodeGroupConfigurationArrayOutput values. +// You can construct a concrete instance of `QueueComputeNodeGroupConfigurationArrayInput` via: +// +// QueueComputeNodeGroupConfigurationArray{ QueueComputeNodeGroupConfigurationArgs{...} } +type QueueComputeNodeGroupConfigurationArrayInput interface { + pulumi.Input + + ToQueueComputeNodeGroupConfigurationArrayOutput() QueueComputeNodeGroupConfigurationArrayOutput + ToQueueComputeNodeGroupConfigurationArrayOutputWithContext(context.Context) QueueComputeNodeGroupConfigurationArrayOutput +} + +type QueueComputeNodeGroupConfigurationArray []QueueComputeNodeGroupConfigurationInput + +func (QueueComputeNodeGroupConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueueComputeNodeGroupConfiguration)(nil)).Elem() +} + +func (i QueueComputeNodeGroupConfigurationArray) ToQueueComputeNodeGroupConfigurationArrayOutput() QueueComputeNodeGroupConfigurationArrayOutput { + return i.ToQueueComputeNodeGroupConfigurationArrayOutputWithContext(context.Background()) +} + +func (i QueueComputeNodeGroupConfigurationArray) ToQueueComputeNodeGroupConfigurationArrayOutputWithContext(ctx context.Context) QueueComputeNodeGroupConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueComputeNodeGroupConfigurationArrayOutput) +} + +// The compute node group configuration for a queue. +type QueueComputeNodeGroupConfigurationOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeGroupConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueueComputeNodeGroupConfiguration)(nil)).Elem() +} + +func (o QueueComputeNodeGroupConfigurationOutput) ToQueueComputeNodeGroupConfigurationOutput() QueueComputeNodeGroupConfigurationOutput { + return o +} + +func (o QueueComputeNodeGroupConfigurationOutput) ToQueueComputeNodeGroupConfigurationOutputWithContext(ctx context.Context) QueueComputeNodeGroupConfigurationOutput { + return o +} + +// The compute node group ID for the compute node group configuration. +func (o QueueComputeNodeGroupConfigurationOutput) ComputeNodeGroupId() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueComputeNodeGroupConfiguration) *string { return v.ComputeNodeGroupId }).(pulumi.StringPtrOutput) +} + +type QueueComputeNodeGroupConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (QueueComputeNodeGroupConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueueComputeNodeGroupConfiguration)(nil)).Elem() +} + +func (o QueueComputeNodeGroupConfigurationArrayOutput) ToQueueComputeNodeGroupConfigurationArrayOutput() QueueComputeNodeGroupConfigurationArrayOutput { + return o +} + +func (o QueueComputeNodeGroupConfigurationArrayOutput) ToQueueComputeNodeGroupConfigurationArrayOutputWithContext(ctx context.Context) QueueComputeNodeGroupConfigurationArrayOutput { + return o +} + +func (o QueueComputeNodeGroupConfigurationArrayOutput) Index(i pulumi.IntInput) QueueComputeNodeGroupConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QueueComputeNodeGroupConfiguration { + return vs[0].([]QueueComputeNodeGroupConfiguration)[vs[1].(int)] + }).(QueueComputeNodeGroupConfigurationOutput) +} + +// An error that occurred during resource provisioning. +type QueueErrorInfo struct { + // The short-form error code. + Code *string `pulumi:"code"` + // The detailed error information. + Message *string `pulumi:"message"` +} + +// An error that occurred during resource provisioning. +type QueueErrorInfoOutput struct{ *pulumi.OutputState } + +func (QueueErrorInfoOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QueueErrorInfo)(nil)).Elem() +} + +func (o QueueErrorInfoOutput) ToQueueErrorInfoOutput() QueueErrorInfoOutput { + return o +} + +func (o QueueErrorInfoOutput) ToQueueErrorInfoOutputWithContext(ctx context.Context) QueueErrorInfoOutput { + return o +} + +// The short-form error code. +func (o QueueErrorInfoOutput) Code() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueErrorInfo) *string { return v.Code }).(pulumi.StringPtrOutput) +} + +// The detailed error information. +func (o QueueErrorInfoOutput) Message() pulumi.StringPtrOutput { + return o.ApplyT(func(v QueueErrorInfo) *string { return v.Message }).(pulumi.StringPtrOutput) +} + +type QueueErrorInfoArrayOutput struct{ *pulumi.OutputState } + +func (QueueErrorInfoArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QueueErrorInfo)(nil)).Elem() +} + +func (o QueueErrorInfoArrayOutput) ToQueueErrorInfoArrayOutput() QueueErrorInfoArrayOutput { + return o +} + +func (o QueueErrorInfoArrayOutput) ToQueueErrorInfoArrayOutputWithContext(ctx context.Context) QueueErrorInfoArrayOutput { + return o +} + +func (o QueueErrorInfoArrayOutput) Index(i pulumi.IntInput) QueueErrorInfoOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QueueErrorInfo { + return vs[0].([]QueueErrorInfo)[vs[1].(int)] + }).(QueueErrorInfoOutput) +} + +// Specifies the boundaries of the compute node group auto scaling. +type ScalingConfigurationProperties struct { + // The upper bound of the number of instances allowed in the compute fleet. + MaxInstanceCount int `pulumi:"maxInstanceCount"` + // The lower bound of the number of instances allowed in the compute fleet. + MinInstanceCount int `pulumi:"minInstanceCount"` +} + +// ScalingConfigurationPropertiesInput is an input type that accepts ScalingConfigurationPropertiesArgs and ScalingConfigurationPropertiesOutput values. +// You can construct a concrete instance of `ScalingConfigurationPropertiesInput` via: +// +// ScalingConfigurationPropertiesArgs{...} +type ScalingConfigurationPropertiesInput interface { + pulumi.Input + + ToScalingConfigurationPropertiesOutput() ScalingConfigurationPropertiesOutput + ToScalingConfigurationPropertiesOutputWithContext(context.Context) ScalingConfigurationPropertiesOutput +} + +// Specifies the boundaries of the compute node group auto scaling. +type ScalingConfigurationPropertiesArgs struct { + // The upper bound of the number of instances allowed in the compute fleet. + MaxInstanceCount pulumi.IntInput `pulumi:"maxInstanceCount"` + // The lower bound of the number of instances allowed in the compute fleet. + MinInstanceCount pulumi.IntInput `pulumi:"minInstanceCount"` +} + +func (ScalingConfigurationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ScalingConfigurationProperties)(nil)).Elem() +} + +func (i ScalingConfigurationPropertiesArgs) ToScalingConfigurationPropertiesOutput() ScalingConfigurationPropertiesOutput { + return i.ToScalingConfigurationPropertiesOutputWithContext(context.Background()) +} + +func (i ScalingConfigurationPropertiesArgs) ToScalingConfigurationPropertiesOutputWithContext(ctx context.Context) ScalingConfigurationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ScalingConfigurationPropertiesOutput) +} + +// Specifies the boundaries of the compute node group auto scaling. +type ScalingConfigurationPropertiesOutput struct{ *pulumi.OutputState } + +func (ScalingConfigurationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ScalingConfigurationProperties)(nil)).Elem() +} + +func (o ScalingConfigurationPropertiesOutput) ToScalingConfigurationPropertiesOutput() ScalingConfigurationPropertiesOutput { + return o +} + +func (o ScalingConfigurationPropertiesOutput) ToScalingConfigurationPropertiesOutputWithContext(ctx context.Context) ScalingConfigurationPropertiesOutput { + return o +} + +// The upper bound of the number of instances allowed in the compute fleet. +func (o ScalingConfigurationPropertiesOutput) MaxInstanceCount() pulumi.IntOutput { + return o.ApplyT(func(v ScalingConfigurationProperties) int { return v.MaxInstanceCount }).(pulumi.IntOutput) +} + +// The lower bound of the number of instances allowed in the compute fleet. +func (o ScalingConfigurationPropertiesOutput) MinInstanceCount() pulumi.IntOutput { + return o.ApplyT(func(v ScalingConfigurationProperties) int { return v.MinInstanceCount }).(pulumi.IntOutput) +} + +type ScalingConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (ScalingConfigurationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ScalingConfigurationProperties)(nil)).Elem() +} + +func (o ScalingConfigurationPropertiesPtrOutput) ToScalingConfigurationPropertiesPtrOutput() ScalingConfigurationPropertiesPtrOutput { + return o +} + +func (o ScalingConfigurationPropertiesPtrOutput) ToScalingConfigurationPropertiesPtrOutputWithContext(ctx context.Context) ScalingConfigurationPropertiesPtrOutput { + return o +} + +func (o ScalingConfigurationPropertiesPtrOutput) Elem() ScalingConfigurationPropertiesOutput { + return o.ApplyT(func(v *ScalingConfigurationProperties) ScalingConfigurationProperties { + if v != nil { + return *v + } + var ret ScalingConfigurationProperties + return ret + }).(ScalingConfigurationPropertiesOutput) +} + +// The upper bound of the number of instances allowed in the compute fleet. +func (o ScalingConfigurationPropertiesPtrOutput) MaxInstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScalingConfigurationProperties) *int { + if v == nil { + return nil + } + return &v.MaxInstanceCount + }).(pulumi.IntPtrOutput) +} + +// The lower bound of the number of instances allowed in the compute fleet. +func (o ScalingConfigurationPropertiesPtrOutput) MinInstanceCount() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ScalingConfigurationProperties) *int { + if v == nil { + return nil + } + return &v.MinInstanceCount + }).(pulumi.IntPtrOutput) +} + +// The cluster management and job scheduling software associated with the cluster. +type SchedulerProperties struct { + // The software AWS PCS uses to manage cluster scaling and job scheduling. + Type ClusterSchedulerPropertiesType `pulumi:"type"` + // The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + Version string `pulumi:"version"` +} + +// SchedulerPropertiesInput is an input type that accepts SchedulerPropertiesArgs and SchedulerPropertiesOutput values. +// You can construct a concrete instance of `SchedulerPropertiesInput` via: +// +// SchedulerPropertiesArgs{...} +type SchedulerPropertiesInput interface { + pulumi.Input + + ToSchedulerPropertiesOutput() SchedulerPropertiesOutput + ToSchedulerPropertiesOutputWithContext(context.Context) SchedulerPropertiesOutput +} + +// The cluster management and job scheduling software associated with the cluster. +type SchedulerPropertiesArgs struct { + // The software AWS PCS uses to manage cluster scaling and job scheduling. + Type ClusterSchedulerPropertiesTypeInput `pulumi:"type"` + // The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + Version pulumi.StringInput `pulumi:"version"` +} + +func (SchedulerPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SchedulerProperties)(nil)).Elem() +} + +func (i SchedulerPropertiesArgs) ToSchedulerPropertiesOutput() SchedulerPropertiesOutput { + return i.ToSchedulerPropertiesOutputWithContext(context.Background()) +} + +func (i SchedulerPropertiesArgs) ToSchedulerPropertiesOutputWithContext(ctx context.Context) SchedulerPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SchedulerPropertiesOutput) +} + +// The cluster management and job scheduling software associated with the cluster. +type SchedulerPropertiesOutput struct{ *pulumi.OutputState } + +func (SchedulerPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SchedulerProperties)(nil)).Elem() +} + +func (o SchedulerPropertiesOutput) ToSchedulerPropertiesOutput() SchedulerPropertiesOutput { + return o +} + +func (o SchedulerPropertiesOutput) ToSchedulerPropertiesOutputWithContext(ctx context.Context) SchedulerPropertiesOutput { + return o +} + +// The software AWS PCS uses to manage cluster scaling and job scheduling. +func (o SchedulerPropertiesOutput) Type() ClusterSchedulerPropertiesTypeOutput { + return o.ApplyT(func(v SchedulerProperties) ClusterSchedulerPropertiesType { return v.Type }).(ClusterSchedulerPropertiesTypeOutput) +} + +// The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. +func (o SchedulerPropertiesOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v SchedulerProperties) string { return v.Version }).(pulumi.StringOutput) +} + +// Additional options related to the Slurm scheduler. +type SlurmConfigurationProperties struct { + // Additional Slurm-specific configuration that directly maps to Slurm settings. + SlurmCustomSettings []ComputeNodeGroupSlurmCustomSetting `pulumi:"slurmCustomSettings"` +} + +// SlurmConfigurationPropertiesInput is an input type that accepts SlurmConfigurationPropertiesArgs and SlurmConfigurationPropertiesOutput values. +// You can construct a concrete instance of `SlurmConfigurationPropertiesInput` via: +// +// SlurmConfigurationPropertiesArgs{...} +type SlurmConfigurationPropertiesInput interface { + pulumi.Input + + ToSlurmConfigurationPropertiesOutput() SlurmConfigurationPropertiesOutput + ToSlurmConfigurationPropertiesOutputWithContext(context.Context) SlurmConfigurationPropertiesOutput +} + +// Additional options related to the Slurm scheduler. +type SlurmConfigurationPropertiesArgs struct { + // Additional Slurm-specific configuration that directly maps to Slurm settings. + SlurmCustomSettings ComputeNodeGroupSlurmCustomSettingArrayInput `pulumi:"slurmCustomSettings"` +} + +func (SlurmConfigurationPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SlurmConfigurationProperties)(nil)).Elem() +} + +func (i SlurmConfigurationPropertiesArgs) ToSlurmConfigurationPropertiesOutput() SlurmConfigurationPropertiesOutput { + return i.ToSlurmConfigurationPropertiesOutputWithContext(context.Background()) +} + +func (i SlurmConfigurationPropertiesArgs) ToSlurmConfigurationPropertiesOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SlurmConfigurationPropertiesOutput) +} + +func (i SlurmConfigurationPropertiesArgs) ToSlurmConfigurationPropertiesPtrOutput() SlurmConfigurationPropertiesPtrOutput { + return i.ToSlurmConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i SlurmConfigurationPropertiesArgs) ToSlurmConfigurationPropertiesPtrOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SlurmConfigurationPropertiesOutput).ToSlurmConfigurationPropertiesPtrOutputWithContext(ctx) +} + +// SlurmConfigurationPropertiesPtrInput is an input type that accepts SlurmConfigurationPropertiesArgs, SlurmConfigurationPropertiesPtr and SlurmConfigurationPropertiesPtrOutput values. +// You can construct a concrete instance of `SlurmConfigurationPropertiesPtrInput` via: +// +// SlurmConfigurationPropertiesArgs{...} +// +// or: +// +// nil +type SlurmConfigurationPropertiesPtrInput interface { + pulumi.Input + + ToSlurmConfigurationPropertiesPtrOutput() SlurmConfigurationPropertiesPtrOutput + ToSlurmConfigurationPropertiesPtrOutputWithContext(context.Context) SlurmConfigurationPropertiesPtrOutput +} + +type slurmConfigurationPropertiesPtrType SlurmConfigurationPropertiesArgs + +func SlurmConfigurationPropertiesPtr(v *SlurmConfigurationPropertiesArgs) SlurmConfigurationPropertiesPtrInput { + return (*slurmConfigurationPropertiesPtrType)(v) +} + +func (*slurmConfigurationPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SlurmConfigurationProperties)(nil)).Elem() +} + +func (i *slurmConfigurationPropertiesPtrType) ToSlurmConfigurationPropertiesPtrOutput() SlurmConfigurationPropertiesPtrOutput { + return i.ToSlurmConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *slurmConfigurationPropertiesPtrType) ToSlurmConfigurationPropertiesPtrOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SlurmConfigurationPropertiesPtrOutput) +} + +// Additional options related to the Slurm scheduler. +type SlurmConfigurationPropertiesOutput struct{ *pulumi.OutputState } + +func (SlurmConfigurationPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SlurmConfigurationProperties)(nil)).Elem() +} + +func (o SlurmConfigurationPropertiesOutput) ToSlurmConfigurationPropertiesOutput() SlurmConfigurationPropertiesOutput { + return o +} + +func (o SlurmConfigurationPropertiesOutput) ToSlurmConfigurationPropertiesOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesOutput { + return o +} + +func (o SlurmConfigurationPropertiesOutput) ToSlurmConfigurationPropertiesPtrOutput() SlurmConfigurationPropertiesPtrOutput { + return o.ToSlurmConfigurationPropertiesPtrOutputWithContext(context.Background()) +} + +func (o SlurmConfigurationPropertiesOutput) ToSlurmConfigurationPropertiesPtrOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SlurmConfigurationProperties) *SlurmConfigurationProperties { + return &v + }).(SlurmConfigurationPropertiesPtrOutput) +} + +// Additional Slurm-specific configuration that directly maps to Slurm settings. +func (o SlurmConfigurationPropertiesOutput) SlurmCustomSettings() ComputeNodeGroupSlurmCustomSettingArrayOutput { + return o.ApplyT(func(v SlurmConfigurationProperties) []ComputeNodeGroupSlurmCustomSetting { + return v.SlurmCustomSettings + }).(ComputeNodeGroupSlurmCustomSettingArrayOutput) +} + +type SlurmConfigurationPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (SlurmConfigurationPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SlurmConfigurationProperties)(nil)).Elem() +} + +func (o SlurmConfigurationPropertiesPtrOutput) ToSlurmConfigurationPropertiesPtrOutput() SlurmConfigurationPropertiesPtrOutput { + return o +} + +func (o SlurmConfigurationPropertiesPtrOutput) ToSlurmConfigurationPropertiesPtrOutputWithContext(ctx context.Context) SlurmConfigurationPropertiesPtrOutput { + return o +} + +func (o SlurmConfigurationPropertiesPtrOutput) Elem() SlurmConfigurationPropertiesOutput { + return o.ApplyT(func(v *SlurmConfigurationProperties) SlurmConfigurationProperties { + if v != nil { + return *v + } + var ret SlurmConfigurationProperties + return ret + }).(SlurmConfigurationPropertiesOutput) +} + +// Additional Slurm-specific configuration that directly maps to Slurm settings. +func (o SlurmConfigurationPropertiesPtrOutput) SlurmCustomSettings() ComputeNodeGroupSlurmCustomSettingArrayOutput { + return o.ApplyT(func(v *SlurmConfigurationProperties) []ComputeNodeGroupSlurmCustomSetting { + if v == nil { + return nil + } + return v.SlurmCustomSettings + }).(ComputeNodeGroupSlurmCustomSettingArrayOutput) +} + +// Additional configuration when you specify SPOT as the purchase option. +type SpotOptionsProperties struct { + // The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + AllocationStrategy *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy `pulumi:"allocationStrategy"` +} + +// SpotOptionsPropertiesInput is an input type that accepts SpotOptionsPropertiesArgs and SpotOptionsPropertiesOutput values. +// You can construct a concrete instance of `SpotOptionsPropertiesInput` via: +// +// SpotOptionsPropertiesArgs{...} +type SpotOptionsPropertiesInput interface { + pulumi.Input + + ToSpotOptionsPropertiesOutput() SpotOptionsPropertiesOutput + ToSpotOptionsPropertiesOutputWithContext(context.Context) SpotOptionsPropertiesOutput +} + +// Additional configuration when you specify SPOT as the purchase option. +type SpotOptionsPropertiesArgs struct { + // The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + AllocationStrategy ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrInput `pulumi:"allocationStrategy"` +} + +func (SpotOptionsPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SpotOptionsProperties)(nil)).Elem() +} + +func (i SpotOptionsPropertiesArgs) ToSpotOptionsPropertiesOutput() SpotOptionsPropertiesOutput { + return i.ToSpotOptionsPropertiesOutputWithContext(context.Background()) +} + +func (i SpotOptionsPropertiesArgs) ToSpotOptionsPropertiesOutputWithContext(ctx context.Context) SpotOptionsPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotOptionsPropertiesOutput) +} + +func (i SpotOptionsPropertiesArgs) ToSpotOptionsPropertiesPtrOutput() SpotOptionsPropertiesPtrOutput { + return i.ToSpotOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i SpotOptionsPropertiesArgs) ToSpotOptionsPropertiesPtrOutputWithContext(ctx context.Context) SpotOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotOptionsPropertiesOutput).ToSpotOptionsPropertiesPtrOutputWithContext(ctx) +} + +// SpotOptionsPropertiesPtrInput is an input type that accepts SpotOptionsPropertiesArgs, SpotOptionsPropertiesPtr and SpotOptionsPropertiesPtrOutput values. +// You can construct a concrete instance of `SpotOptionsPropertiesPtrInput` via: +// +// SpotOptionsPropertiesArgs{...} +// +// or: +// +// nil +type SpotOptionsPropertiesPtrInput interface { + pulumi.Input + + ToSpotOptionsPropertiesPtrOutput() SpotOptionsPropertiesPtrOutput + ToSpotOptionsPropertiesPtrOutputWithContext(context.Context) SpotOptionsPropertiesPtrOutput +} + +type spotOptionsPropertiesPtrType SpotOptionsPropertiesArgs + +func SpotOptionsPropertiesPtr(v *SpotOptionsPropertiesArgs) SpotOptionsPropertiesPtrInput { + return (*spotOptionsPropertiesPtrType)(v) +} + +func (*spotOptionsPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SpotOptionsProperties)(nil)).Elem() +} + +func (i *spotOptionsPropertiesPtrType) ToSpotOptionsPropertiesPtrOutput() SpotOptionsPropertiesPtrOutput { + return i.ToSpotOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (i *spotOptionsPropertiesPtrType) ToSpotOptionsPropertiesPtrOutputWithContext(ctx context.Context) SpotOptionsPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SpotOptionsPropertiesPtrOutput) +} + +// Additional configuration when you specify SPOT as the purchase option. +type SpotOptionsPropertiesOutput struct{ *pulumi.OutputState } + +func (SpotOptionsPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SpotOptionsProperties)(nil)).Elem() +} + +func (o SpotOptionsPropertiesOutput) ToSpotOptionsPropertiesOutput() SpotOptionsPropertiesOutput { + return o +} + +func (o SpotOptionsPropertiesOutput) ToSpotOptionsPropertiesOutputWithContext(ctx context.Context) SpotOptionsPropertiesOutput { + return o +} + +func (o SpotOptionsPropertiesOutput) ToSpotOptionsPropertiesPtrOutput() SpotOptionsPropertiesPtrOutput { + return o.ToSpotOptionsPropertiesPtrOutputWithContext(context.Background()) +} + +func (o SpotOptionsPropertiesOutput) ToSpotOptionsPropertiesPtrOutputWithContext(ctx context.Context) SpotOptionsPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SpotOptionsProperties) *SpotOptionsProperties { + return &v + }).(SpotOptionsPropertiesPtrOutput) +} + +// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. +func (o SpotOptionsPropertiesOutput) AllocationStrategy() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o.ApplyT(func(v SpotOptionsProperties) *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy { + return v.AllocationStrategy + }).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) +} + +type SpotOptionsPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (SpotOptionsPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SpotOptionsProperties)(nil)).Elem() +} + +func (o SpotOptionsPropertiesPtrOutput) ToSpotOptionsPropertiesPtrOutput() SpotOptionsPropertiesPtrOutput { + return o +} + +func (o SpotOptionsPropertiesPtrOutput) ToSpotOptionsPropertiesPtrOutputWithContext(ctx context.Context) SpotOptionsPropertiesPtrOutput { + return o +} + +func (o SpotOptionsPropertiesPtrOutput) Elem() SpotOptionsPropertiesOutput { + return o.ApplyT(func(v *SpotOptionsProperties) SpotOptionsProperties { + if v != nil { + return *v + } + var ret SpotOptionsProperties + return ret + }).(SpotOptionsPropertiesOutput) +} + +// The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. +func (o SpotOptionsPropertiesPtrOutput) AllocationStrategy() ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput { + return o.ApplyT(func(v *SpotOptionsProperties) *ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy { + if v == nil { + return nil + } + return v.AllocationStrategy + }).(ComputeNodeGroupSpotOptionsPropertiesAllocationStrategyPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupInstanceConfigInput)(nil)).Elem(), ComputeNodeGroupInstanceConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupInstanceConfigArrayInput)(nil)).Elem(), ComputeNodeGroupInstanceConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupSlurmCustomSettingInput)(nil)).Elem(), ComputeNodeGroupSlurmCustomSettingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ComputeNodeGroupSlurmCustomSettingArrayInput)(nil)).Elem(), ComputeNodeGroupSlurmCustomSettingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomLaunchTemplatePropertiesInput)(nil)).Elem(), CustomLaunchTemplatePropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkingPropertiesInput)(nil)).Elem(), NetworkingPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeGroupConfigurationInput)(nil)).Elem(), QueueComputeNodeGroupConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*QueueComputeNodeGroupConfigurationArrayInput)(nil)).Elem(), QueueComputeNodeGroupConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ScalingConfigurationPropertiesInput)(nil)).Elem(), ScalingConfigurationPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SchedulerPropertiesInput)(nil)).Elem(), SchedulerPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SlurmConfigurationPropertiesInput)(nil)).Elem(), SlurmConfigurationPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SlurmConfigurationPropertiesPtrInput)(nil)).Elem(), SlurmConfigurationPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotOptionsPropertiesInput)(nil)).Elem(), SpotOptionsPropertiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SpotOptionsPropertiesPtrInput)(nil)).Elem(), SpotOptionsPropertiesArgs{}) + pulumi.RegisterOutputType(ClusterEndpointOutput{}) + pulumi.RegisterOutputType(ClusterEndpointArrayOutput{}) + pulumi.RegisterOutputType(ClusterErrorInfoOutput{}) + pulumi.RegisterOutputType(ClusterErrorInfoArrayOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupErrorInfoOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupErrorInfoArrayOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupInstanceConfigOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupInstanceConfigArrayOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupSlurmCustomSettingOutput{}) + pulumi.RegisterOutputType(ComputeNodeGroupSlurmCustomSettingArrayOutput{}) + pulumi.RegisterOutputType(CustomLaunchTemplatePropertiesOutput{}) + pulumi.RegisterOutputType(CustomLaunchTemplatePropertiesPtrOutput{}) + pulumi.RegisterOutputType(NetworkingPropertiesOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeGroupConfigurationOutput{}) + pulumi.RegisterOutputType(QueueComputeNodeGroupConfigurationArrayOutput{}) + pulumi.RegisterOutputType(QueueErrorInfoOutput{}) + pulumi.RegisterOutputType(QueueErrorInfoArrayOutput{}) + pulumi.RegisterOutputType(ScalingConfigurationPropertiesOutput{}) + pulumi.RegisterOutputType(ScalingConfigurationPropertiesPtrOutput{}) + pulumi.RegisterOutputType(SchedulerPropertiesOutput{}) + pulumi.RegisterOutputType(SlurmConfigurationPropertiesOutput{}) + pulumi.RegisterOutputType(SlurmConfigurationPropertiesPtrOutput{}) + pulumi.RegisterOutputType(SpotOptionsPropertiesOutput{}) + pulumi.RegisterOutputType(SpotOptionsPropertiesPtrOutput{}) +} diff --git a/sdk/go/aws/pcs/queue.go b/sdk/go/aws/pcs/queue.go new file mode 100644 index 0000000000..09462b1bcd --- /dev/null +++ b/sdk/go/aws/pcs/queue.go @@ -0,0 +1,187 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package pcs + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// AWS::PCS::Queue resource creates an AWS PCS queue. +type Queue struct { + pulumi.CustomResourceState + + // The unique Amazon Resource Name (ARN) of the queue. + Arn pulumi.StringOutput `pulumi:"arn"` + // The generated unique ID of the queue. + AwsId pulumi.StringOutput `pulumi:"awsId"` + // The ID of the cluster of the queue. + ClusterId pulumi.StringOutput `pulumi:"clusterId"` + // The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + ComputeNodeGroupConfigurations QueueComputeNodeGroupConfigurationArrayOutput `pulumi:"computeNodeGroupConfigurations"` + // The list of errors that occurred during queue provisioning. + ErrorInfo QueueErrorInfoArrayOutput `pulumi:"errorInfo"` + // The name that identifies the queue. + Name pulumi.StringPtrOutput `pulumi:"name"` + // The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + Status QueueStatusOutput `pulumi:"status"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapOutput `pulumi:"tags"` +} + +// NewQueue registers a new resource with the given unique name, arguments, and options. +func NewQueue(ctx *pulumi.Context, + name string, args *QueueArgs, opts ...pulumi.ResourceOption) (*Queue, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ClusterId == nil { + return nil, errors.New("invalid value for required argument 'ClusterId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "clusterId", + "name", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Queue + err := ctx.RegisterResource("aws-native:pcs:Queue", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetQueue gets an existing Queue 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 GetQueue(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *QueueState, opts ...pulumi.ResourceOption) (*Queue, error) { + var resource Queue + err := ctx.ReadResource("aws-native:pcs:Queue", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Queue resources. +type queueState struct { +} + +type QueueState struct { +} + +func (QueueState) ElementType() reflect.Type { + return reflect.TypeOf((*queueState)(nil)).Elem() +} + +type queueArgs struct { + // The ID of the cluster of the queue. + ClusterId string `pulumi:"clusterId"` + // The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + ComputeNodeGroupConfigurations []QueueComputeNodeGroupConfiguration `pulumi:"computeNodeGroupConfigurations"` + // The name that identifies the queue. + Name *string `pulumi:"name"` + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Queue resource. +type QueueArgs struct { + // The ID of the cluster of the queue. + ClusterId pulumi.StringInput + // The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + ComputeNodeGroupConfigurations QueueComputeNodeGroupConfigurationArrayInput + // The name that identifies the queue. + Name pulumi.StringPtrInput + // 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + Tags pulumi.StringMapInput +} + +func (QueueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*queueArgs)(nil)).Elem() +} + +type QueueInput interface { + pulumi.Input + + ToQueueOutput() QueueOutput + ToQueueOutputWithContext(ctx context.Context) QueueOutput +} + +func (*Queue) ElementType() reflect.Type { + return reflect.TypeOf((**Queue)(nil)).Elem() +} + +func (i *Queue) ToQueueOutput() QueueOutput { + return i.ToQueueOutputWithContext(context.Background()) +} + +func (i *Queue) ToQueueOutputWithContext(ctx context.Context) QueueOutput { + return pulumi.ToOutputWithContext(ctx, i).(QueueOutput) +} + +type QueueOutput struct{ *pulumi.OutputState } + +func (QueueOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Queue)(nil)).Elem() +} + +func (o QueueOutput) ToQueueOutput() QueueOutput { + return o +} + +func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput { + return o +} + +// The unique Amazon Resource Name (ARN) of the queue. +func (o QueueOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The generated unique ID of the queue. +func (o QueueOutput) AwsId() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.AwsId }).(pulumi.StringOutput) +} + +// The ID of the cluster of the queue. +func (o QueueOutput) ClusterId() pulumi.StringOutput { + return o.ApplyT(func(v *Queue) pulumi.StringOutput { return v.ClusterId }).(pulumi.StringOutput) +} + +// The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. +func (o QueueOutput) ComputeNodeGroupConfigurations() QueueComputeNodeGroupConfigurationArrayOutput { + return o.ApplyT(func(v *Queue) QueueComputeNodeGroupConfigurationArrayOutput { return v.ComputeNodeGroupConfigurations }).(QueueComputeNodeGroupConfigurationArrayOutput) +} + +// The list of errors that occurred during queue provisioning. +func (o QueueOutput) ErrorInfo() QueueErrorInfoArrayOutput { + return o.ApplyT(func(v *Queue) QueueErrorInfoArrayOutput { return v.ErrorInfo }).(QueueErrorInfoArrayOutput) +} + +// The name that identifies the queue. +func (o QueueOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Queue) pulumi.StringPtrOutput { return v.Name }).(pulumi.StringPtrOutput) +} + +// The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. +func (o QueueOutput) Status() QueueStatusOutput { + return o.ApplyT(func(v *Queue) QueueStatusOutput { return v.Status }).(QueueStatusOutput) +} + +// 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. +func (o QueueOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Queue) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*QueueInput)(nil)).Elem(), &Queue{}) + pulumi.RegisterOutputType(QueueOutput{}) +} diff --git a/sdk/go/aws/quicksight/customPermissions.go b/sdk/go/aws/quicksight/customPermissions.go new file mode 100644 index 0000000000..27aa1f01ff --- /dev/null +++ b/sdk/go/aws/quicksight/customPermissions.go @@ -0,0 +1,149 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package quicksight + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of the AWS::QuickSight::CustomPermissions Resource Type. +type CustomPermissions struct { + pulumi.CustomResourceState + + Arn pulumi.StringOutput `pulumi:"arn"` + AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"` + Capabilities CustomPermissionsCapabilitiesPtrOutput `pulumi:"capabilities"` + CustomPermissionsName pulumi.StringOutput `pulumi:"customPermissionsName"` + Tags aws.TagArrayOutput `pulumi:"tags"` +} + +// NewCustomPermissions registers a new resource with the given unique name, arguments, and options. +func NewCustomPermissions(ctx *pulumi.Context, + name string, args *CustomPermissionsArgs, opts ...pulumi.ResourceOption) (*CustomPermissions, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AwsAccountId == nil { + return nil, errors.New("invalid value for required argument 'AwsAccountId'") + } + replaceOnChanges := pulumi.ReplaceOnChanges([]string{ + "awsAccountId", + "customPermissionsName", + }) + opts = append(opts, replaceOnChanges) + opts = internal.PkgResourceDefaultOpts(opts) + var resource CustomPermissions + err := ctx.RegisterResource("aws-native:quicksight:CustomPermissions", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCustomPermissions gets an existing CustomPermissions 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 GetCustomPermissions(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CustomPermissionsState, opts ...pulumi.ResourceOption) (*CustomPermissions, error) { + var resource CustomPermissions + err := ctx.ReadResource("aws-native:quicksight:CustomPermissions", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CustomPermissions resources. +type customPermissionsState struct { +} + +type CustomPermissionsState struct { +} + +func (CustomPermissionsState) ElementType() reflect.Type { + return reflect.TypeOf((*customPermissionsState)(nil)).Elem() +} + +type customPermissionsArgs struct { + AwsAccountId string `pulumi:"awsAccountId"` + Capabilities *CustomPermissionsCapabilities `pulumi:"capabilities"` + CustomPermissionsName *string `pulumi:"customPermissionsName"` + Tags []aws.Tag `pulumi:"tags"` +} + +// The set of arguments for constructing a CustomPermissions resource. +type CustomPermissionsArgs struct { + AwsAccountId pulumi.StringInput + Capabilities CustomPermissionsCapabilitiesPtrInput + CustomPermissionsName pulumi.StringPtrInput + Tags aws.TagArrayInput +} + +func (CustomPermissionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*customPermissionsArgs)(nil)).Elem() +} + +type CustomPermissionsInput interface { + pulumi.Input + + ToCustomPermissionsOutput() CustomPermissionsOutput + ToCustomPermissionsOutputWithContext(ctx context.Context) CustomPermissionsOutput +} + +func (*CustomPermissions) ElementType() reflect.Type { + return reflect.TypeOf((**CustomPermissions)(nil)).Elem() +} + +func (i *CustomPermissions) ToCustomPermissionsOutput() CustomPermissionsOutput { + return i.ToCustomPermissionsOutputWithContext(context.Background()) +} + +func (i *CustomPermissions) ToCustomPermissionsOutputWithContext(ctx context.Context) CustomPermissionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomPermissionsOutput) +} + +type CustomPermissionsOutput struct{ *pulumi.OutputState } + +func (CustomPermissionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomPermissions)(nil)).Elem() +} + +func (o CustomPermissionsOutput) ToCustomPermissionsOutput() CustomPermissionsOutput { + return o +} + +func (o CustomPermissionsOutput) ToCustomPermissionsOutputWithContext(ctx context.Context) CustomPermissionsOutput { + return o +} + +func (o CustomPermissionsOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CustomPermissions) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o CustomPermissionsOutput) AwsAccountId() pulumi.StringOutput { + return o.ApplyT(func(v *CustomPermissions) pulumi.StringOutput { return v.AwsAccountId }).(pulumi.StringOutput) +} + +func (o CustomPermissionsOutput) Capabilities() CustomPermissionsCapabilitiesPtrOutput { + return o.ApplyT(func(v *CustomPermissions) CustomPermissionsCapabilitiesPtrOutput { return v.Capabilities }).(CustomPermissionsCapabilitiesPtrOutput) +} + +func (o CustomPermissionsOutput) CustomPermissionsName() pulumi.StringOutput { + return o.ApplyT(func(v *CustomPermissions) pulumi.StringOutput { return v.CustomPermissionsName }).(pulumi.StringOutput) +} + +func (o CustomPermissionsOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v *CustomPermissions) aws.TagArrayOutput { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CustomPermissionsInput)(nil)).Elem(), &CustomPermissions{}) + pulumi.RegisterOutputType(CustomPermissionsOutput{}) +} diff --git a/sdk/go/aws/quicksight/getCustomPermissions.go b/sdk/go/aws/quicksight/getCustomPermissions.go new file mode 100644 index 0000000000..03b00e1f8f --- /dev/null +++ b/sdk/go/aws/quicksight/getCustomPermissions.go @@ -0,0 +1,83 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package quicksight + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws-native/sdk/go/aws" + "github.com/pulumi/pulumi-aws-native/sdk/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Definition of the AWS::QuickSight::CustomPermissions Resource Type. +func LookupCustomPermissions(ctx *pulumi.Context, args *LookupCustomPermissionsArgs, opts ...pulumi.InvokeOption) (*LookupCustomPermissionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupCustomPermissionsResult + err := ctx.Invoke("aws-native:quicksight:getCustomPermissions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +type LookupCustomPermissionsArgs struct { + AwsAccountId string `pulumi:"awsAccountId"` + CustomPermissionsName string `pulumi:"customPermissionsName"` +} + +type LookupCustomPermissionsResult struct { + Arn *string `pulumi:"arn"` + Capabilities *CustomPermissionsCapabilities `pulumi:"capabilities"` + Tags []aws.Tag `pulumi:"tags"` +} + +func LookupCustomPermissionsOutput(ctx *pulumi.Context, args LookupCustomPermissionsOutputArgs, opts ...pulumi.InvokeOption) LookupCustomPermissionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupCustomPermissionsResultOutput, error) { + args := v.(LookupCustomPermissionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("aws-native:quicksight:getCustomPermissions", args, LookupCustomPermissionsResultOutput{}, options).(LookupCustomPermissionsResultOutput), nil + }).(LookupCustomPermissionsResultOutput) +} + +type LookupCustomPermissionsOutputArgs struct { + AwsAccountId pulumi.StringInput `pulumi:"awsAccountId"` + CustomPermissionsName pulumi.StringInput `pulumi:"customPermissionsName"` +} + +func (LookupCustomPermissionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCustomPermissionsArgs)(nil)).Elem() +} + +type LookupCustomPermissionsResultOutput struct{ *pulumi.OutputState } + +func (LookupCustomPermissionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupCustomPermissionsResult)(nil)).Elem() +} + +func (o LookupCustomPermissionsResultOutput) ToLookupCustomPermissionsResultOutput() LookupCustomPermissionsResultOutput { + return o +} + +func (o LookupCustomPermissionsResultOutput) ToLookupCustomPermissionsResultOutputWithContext(ctx context.Context) LookupCustomPermissionsResultOutput { + return o +} + +func (o LookupCustomPermissionsResultOutput) Arn() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupCustomPermissionsResult) *string { return v.Arn }).(pulumi.StringPtrOutput) +} + +func (o LookupCustomPermissionsResultOutput) Capabilities() CustomPermissionsCapabilitiesPtrOutput { + return o.ApplyT(func(v LookupCustomPermissionsResult) *CustomPermissionsCapabilities { return v.Capabilities }).(CustomPermissionsCapabilitiesPtrOutput) +} + +func (o LookupCustomPermissionsResultOutput) Tags() aws.TagArrayOutput { + return o.ApplyT(func(v LookupCustomPermissionsResult) []aws.Tag { return v.Tags }).(aws.TagArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupCustomPermissionsResultOutput{}) +} diff --git a/sdk/go/aws/quicksight/init.go b/sdk/go/aws/quicksight/init.go index 25370009b2..5c4eaa7122 100644 --- a/sdk/go/aws/quicksight/init.go +++ b/sdk/go/aws/quicksight/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws-native:quicksight:Analysis": r = &Analysis{} + case "aws-native:quicksight:CustomPermissions": + r = &CustomPermissions{} case "aws-native:quicksight:Dashboard": r = &Dashboard{} case "aws-native:quicksight:DataSet": diff --git a/sdk/go/aws/quicksight/pulumiEnums.go b/sdk/go/aws/quicksight/pulumiEnums.go index 358ebed29d..601e31bd2c 100644 --- a/sdk/go/aws/quicksight/pulumiEnums.go +++ b/sdk/go/aws/quicksight/pulumiEnums.go @@ -21085,6 +21085,169 @@ func (in *analysisWordCloudWordScalingPtr) ToAnalysisWordCloudWordScalingPtrOutp return pulumi.ToOutputWithContext(ctx, in).(AnalysisWordCloudWordScalingPtrOutput) } +type CustomPermissionsCapabilityState string + +const ( + CustomPermissionsCapabilityStateDeny = CustomPermissionsCapabilityState("DENY") +) + +func (CustomPermissionsCapabilityState) ElementType() reflect.Type { + return reflect.TypeOf((*CustomPermissionsCapabilityState)(nil)).Elem() +} + +func (e CustomPermissionsCapabilityState) ToCustomPermissionsCapabilityStateOutput() CustomPermissionsCapabilityStateOutput { + return pulumi.ToOutput(e).(CustomPermissionsCapabilityStateOutput) +} + +func (e CustomPermissionsCapabilityState) ToCustomPermissionsCapabilityStateOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStateOutput { + return pulumi.ToOutputWithContext(ctx, e).(CustomPermissionsCapabilityStateOutput) +} + +func (e CustomPermissionsCapabilityState) ToCustomPermissionsCapabilityStatePtrOutput() CustomPermissionsCapabilityStatePtrOutput { + return e.ToCustomPermissionsCapabilityStatePtrOutputWithContext(context.Background()) +} + +func (e CustomPermissionsCapabilityState) ToCustomPermissionsCapabilityStatePtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStatePtrOutput { + return CustomPermissionsCapabilityState(e).ToCustomPermissionsCapabilityStateOutputWithContext(ctx).ToCustomPermissionsCapabilityStatePtrOutputWithContext(ctx) +} + +func (e CustomPermissionsCapabilityState) ToStringOutput() pulumi.StringOutput { + return pulumi.ToOutput(pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CustomPermissionsCapabilityState) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return pulumi.ToOutputWithContext(ctx, pulumi.String(e)).(pulumi.StringOutput) +} + +func (e CustomPermissionsCapabilityState) ToStringPtrOutput() pulumi.StringPtrOutput { + return pulumi.String(e).ToStringPtrOutputWithContext(context.Background()) +} + +func (e CustomPermissionsCapabilityState) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return pulumi.String(e).ToStringOutputWithContext(ctx).ToStringPtrOutputWithContext(ctx) +} + +type CustomPermissionsCapabilityStateOutput struct{ *pulumi.OutputState } + +func (CustomPermissionsCapabilityStateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomPermissionsCapabilityState)(nil)).Elem() +} + +func (o CustomPermissionsCapabilityStateOutput) ToCustomPermissionsCapabilityStateOutput() CustomPermissionsCapabilityStateOutput { + return o +} + +func (o CustomPermissionsCapabilityStateOutput) ToCustomPermissionsCapabilityStateOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStateOutput { + return o +} + +func (o CustomPermissionsCapabilityStateOutput) ToCustomPermissionsCapabilityStatePtrOutput() CustomPermissionsCapabilityStatePtrOutput { + return o.ToCustomPermissionsCapabilityStatePtrOutputWithContext(context.Background()) +} + +func (o CustomPermissionsCapabilityStateOutput) ToCustomPermissionsCapabilityStatePtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomPermissionsCapabilityState) *CustomPermissionsCapabilityState { + return &v + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilityStateOutput) ToStringOutput() pulumi.StringOutput { + return o.ToStringOutputWithContext(context.Background()) +} + +func (o CustomPermissionsCapabilityStateOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CustomPermissionsCapabilityState) string { + return string(e) + }).(pulumi.StringOutput) +} + +func (o CustomPermissionsCapabilityStateOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CustomPermissionsCapabilityStateOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e CustomPermissionsCapabilityState) *string { + v := string(e) + return &v + }).(pulumi.StringPtrOutput) +} + +type CustomPermissionsCapabilityStatePtrOutput struct{ *pulumi.OutputState } + +func (CustomPermissionsCapabilityStatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomPermissionsCapabilityState)(nil)).Elem() +} + +func (o CustomPermissionsCapabilityStatePtrOutput) ToCustomPermissionsCapabilityStatePtrOutput() CustomPermissionsCapabilityStatePtrOutput { + return o +} + +func (o CustomPermissionsCapabilityStatePtrOutput) ToCustomPermissionsCapabilityStatePtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStatePtrOutput { + return o +} + +func (o CustomPermissionsCapabilityStatePtrOutput) Elem() CustomPermissionsCapabilityStateOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilityState) CustomPermissionsCapabilityState { + if v != nil { + return *v + } + var ret CustomPermissionsCapabilityState + return ret + }).(CustomPermissionsCapabilityStateOutput) +} + +func (o CustomPermissionsCapabilityStatePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput { + return o.ToStringPtrOutputWithContext(context.Background()) +} + +func (o CustomPermissionsCapabilityStatePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, e *CustomPermissionsCapabilityState) *string { + if e == nil { + return nil + } + v := string(*e) + return &v + }).(pulumi.StringPtrOutput) +} + +// CustomPermissionsCapabilityStateInput is an input type that accepts values of the CustomPermissionsCapabilityState enum +// A concrete instance of `CustomPermissionsCapabilityStateInput` can be one of the following: +// +// CustomPermissionsCapabilityStateDeny +type CustomPermissionsCapabilityStateInput interface { + pulumi.Input + + ToCustomPermissionsCapabilityStateOutput() CustomPermissionsCapabilityStateOutput + ToCustomPermissionsCapabilityStateOutputWithContext(context.Context) CustomPermissionsCapabilityStateOutput +} + +var customPermissionsCapabilityStatePtrType = reflect.TypeOf((**CustomPermissionsCapabilityState)(nil)).Elem() + +type CustomPermissionsCapabilityStatePtrInput interface { + pulumi.Input + + ToCustomPermissionsCapabilityStatePtrOutput() CustomPermissionsCapabilityStatePtrOutput + ToCustomPermissionsCapabilityStatePtrOutputWithContext(context.Context) CustomPermissionsCapabilityStatePtrOutput +} + +type customPermissionsCapabilityStatePtr string + +func CustomPermissionsCapabilityStatePtr(v string) CustomPermissionsCapabilityStatePtrInput { + return (*customPermissionsCapabilityStatePtr)(&v) +} + +func (*customPermissionsCapabilityStatePtr) ElementType() reflect.Type { + return customPermissionsCapabilityStatePtrType +} + +func (in *customPermissionsCapabilityStatePtr) ToCustomPermissionsCapabilityStatePtrOutput() CustomPermissionsCapabilityStatePtrOutput { + return pulumi.ToOutput(in).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (in *customPermissionsCapabilityStatePtr) ToCustomPermissionsCapabilityStatePtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilityStatePtrOutput { + return pulumi.ToOutputWithContext(ctx, in).(CustomPermissionsCapabilityStatePtrOutput) +} + type DashboardAnchorOption string const ( @@ -71213,6 +71376,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisWordCloudWordPaddingPtrInput)(nil)).Elem(), AnalysisWordCloudWordPadding("NONE")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisWordCloudWordScalingInput)(nil)).Elem(), AnalysisWordCloudWordScaling("EMPHASIZE")) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisWordCloudWordScalingPtrInput)(nil)).Elem(), AnalysisWordCloudWordScaling("EMPHASIZE")) + pulumi.RegisterInputType(reflect.TypeOf((*CustomPermissionsCapabilityStateInput)(nil)).Elem(), CustomPermissionsCapabilityState("DENY")) + pulumi.RegisterInputType(reflect.TypeOf((*CustomPermissionsCapabilityStatePtrInput)(nil)).Elem(), CustomPermissionsCapabilityState("DENY")) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAnchorOptionInput)(nil)).Elem(), DashboardAnchorOption("NOW")) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAnchorOptionPtrInput)(nil)).Elem(), DashboardAnchorOption("NOW")) pulumi.RegisterInputType(reflect.TypeOf((*DashboardArcThicknessInput)(nil)).Elem(), DashboardArcThickness("SMALL")) @@ -72049,6 +72214,8 @@ func init() { pulumi.RegisterOutputType(AnalysisWordCloudWordPaddingPtrOutput{}) pulumi.RegisterOutputType(AnalysisWordCloudWordScalingOutput{}) pulumi.RegisterOutputType(AnalysisWordCloudWordScalingPtrOutput{}) + pulumi.RegisterOutputType(CustomPermissionsCapabilityStateOutput{}) + pulumi.RegisterOutputType(CustomPermissionsCapabilityStatePtrOutput{}) pulumi.RegisterOutputType(DashboardAnchorOptionOutput{}) pulumi.RegisterOutputType(DashboardAnchorOptionPtrOutput{}) pulumi.RegisterOutputType(DashboardArcThicknessOutput{}) diff --git a/sdk/go/aws/quicksight/pulumiTypes1.go b/sdk/go/aws/quicksight/pulumiTypes1.go index aa25fd23d4..8a982df8ee 100644 --- a/sdk/go/aws/quicksight/pulumiTypes1.go +++ b/sdk/go/aws/quicksight/pulumiTypes1.go @@ -8999,6 +8999,405 @@ func (o AnalysisYAxisOptionsPtrOutput) YAxis() AnalysisSingleYAxisOptionPtrOutpu }).(AnalysisSingleYAxisOptionPtrOutput) } +type CustomPermissionsCapabilities struct { + AddOrRunAnomalyDetectionForAnalyses *CustomPermissionsCapabilityState `pulumi:"addOrRunAnomalyDetectionForAnalyses"` + CreateAndUpdateDashboardEmailReports *CustomPermissionsCapabilityState `pulumi:"createAndUpdateDashboardEmailReports"` + CreateAndUpdateDataSources *CustomPermissionsCapabilityState `pulumi:"createAndUpdateDataSources"` + CreateAndUpdateDatasets *CustomPermissionsCapabilityState `pulumi:"createAndUpdateDatasets"` + CreateAndUpdateThemes *CustomPermissionsCapabilityState `pulumi:"createAndUpdateThemes"` + CreateAndUpdateThresholdAlerts *CustomPermissionsCapabilityState `pulumi:"createAndUpdateThresholdAlerts"` + CreateSharedFolders *CustomPermissionsCapabilityState `pulumi:"createSharedFolders"` + CreateSpiceDataset *CustomPermissionsCapabilityState `pulumi:"createSpiceDataset"` + ExportToCsv *CustomPermissionsCapabilityState `pulumi:"exportToCsv"` + ExportToExcel *CustomPermissionsCapabilityState `pulumi:"exportToExcel"` + RenameSharedFolders *CustomPermissionsCapabilityState `pulumi:"renameSharedFolders"` + ShareAnalyses *CustomPermissionsCapabilityState `pulumi:"shareAnalyses"` + ShareDashboards *CustomPermissionsCapabilityState `pulumi:"shareDashboards"` + ShareDataSources *CustomPermissionsCapabilityState `pulumi:"shareDataSources"` + ShareDatasets *CustomPermissionsCapabilityState `pulumi:"shareDatasets"` + SubscribeDashboardEmailReports *CustomPermissionsCapabilityState `pulumi:"subscribeDashboardEmailReports"` + ViewAccountSpiceCapacity *CustomPermissionsCapabilityState `pulumi:"viewAccountSpiceCapacity"` +} + +// CustomPermissionsCapabilitiesInput is an input type that accepts CustomPermissionsCapabilitiesArgs and CustomPermissionsCapabilitiesOutput values. +// You can construct a concrete instance of `CustomPermissionsCapabilitiesInput` via: +// +// CustomPermissionsCapabilitiesArgs{...} +type CustomPermissionsCapabilitiesInput interface { + pulumi.Input + + ToCustomPermissionsCapabilitiesOutput() CustomPermissionsCapabilitiesOutput + ToCustomPermissionsCapabilitiesOutputWithContext(context.Context) CustomPermissionsCapabilitiesOutput +} + +type CustomPermissionsCapabilitiesArgs struct { + AddOrRunAnomalyDetectionForAnalyses CustomPermissionsCapabilityStatePtrInput `pulumi:"addOrRunAnomalyDetectionForAnalyses"` + CreateAndUpdateDashboardEmailReports CustomPermissionsCapabilityStatePtrInput `pulumi:"createAndUpdateDashboardEmailReports"` + CreateAndUpdateDataSources CustomPermissionsCapabilityStatePtrInput `pulumi:"createAndUpdateDataSources"` + CreateAndUpdateDatasets CustomPermissionsCapabilityStatePtrInput `pulumi:"createAndUpdateDatasets"` + CreateAndUpdateThemes CustomPermissionsCapabilityStatePtrInput `pulumi:"createAndUpdateThemes"` + CreateAndUpdateThresholdAlerts CustomPermissionsCapabilityStatePtrInput `pulumi:"createAndUpdateThresholdAlerts"` + CreateSharedFolders CustomPermissionsCapabilityStatePtrInput `pulumi:"createSharedFolders"` + CreateSpiceDataset CustomPermissionsCapabilityStatePtrInput `pulumi:"createSpiceDataset"` + ExportToCsv CustomPermissionsCapabilityStatePtrInput `pulumi:"exportToCsv"` + ExportToExcel CustomPermissionsCapabilityStatePtrInput `pulumi:"exportToExcel"` + RenameSharedFolders CustomPermissionsCapabilityStatePtrInput `pulumi:"renameSharedFolders"` + ShareAnalyses CustomPermissionsCapabilityStatePtrInput `pulumi:"shareAnalyses"` + ShareDashboards CustomPermissionsCapabilityStatePtrInput `pulumi:"shareDashboards"` + ShareDataSources CustomPermissionsCapabilityStatePtrInput `pulumi:"shareDataSources"` + ShareDatasets CustomPermissionsCapabilityStatePtrInput `pulumi:"shareDatasets"` + SubscribeDashboardEmailReports CustomPermissionsCapabilityStatePtrInput `pulumi:"subscribeDashboardEmailReports"` + ViewAccountSpiceCapacity CustomPermissionsCapabilityStatePtrInput `pulumi:"viewAccountSpiceCapacity"` +} + +func (CustomPermissionsCapabilitiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CustomPermissionsCapabilities)(nil)).Elem() +} + +func (i CustomPermissionsCapabilitiesArgs) ToCustomPermissionsCapabilitiesOutput() CustomPermissionsCapabilitiesOutput { + return i.ToCustomPermissionsCapabilitiesOutputWithContext(context.Background()) +} + +func (i CustomPermissionsCapabilitiesArgs) ToCustomPermissionsCapabilitiesOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomPermissionsCapabilitiesOutput) +} + +func (i CustomPermissionsCapabilitiesArgs) ToCustomPermissionsCapabilitiesPtrOutput() CustomPermissionsCapabilitiesPtrOutput { + return i.ToCustomPermissionsCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (i CustomPermissionsCapabilitiesArgs) ToCustomPermissionsCapabilitiesPtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomPermissionsCapabilitiesOutput).ToCustomPermissionsCapabilitiesPtrOutputWithContext(ctx) +} + +// CustomPermissionsCapabilitiesPtrInput is an input type that accepts CustomPermissionsCapabilitiesArgs, CustomPermissionsCapabilitiesPtr and CustomPermissionsCapabilitiesPtrOutput values. +// You can construct a concrete instance of `CustomPermissionsCapabilitiesPtrInput` via: +// +// CustomPermissionsCapabilitiesArgs{...} +// +// or: +// +// nil +type CustomPermissionsCapabilitiesPtrInput interface { + pulumi.Input + + ToCustomPermissionsCapabilitiesPtrOutput() CustomPermissionsCapabilitiesPtrOutput + ToCustomPermissionsCapabilitiesPtrOutputWithContext(context.Context) CustomPermissionsCapabilitiesPtrOutput +} + +type customPermissionsCapabilitiesPtrType CustomPermissionsCapabilitiesArgs + +func CustomPermissionsCapabilitiesPtr(v *CustomPermissionsCapabilitiesArgs) CustomPermissionsCapabilitiesPtrInput { + return (*customPermissionsCapabilitiesPtrType)(v) +} + +func (*customPermissionsCapabilitiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CustomPermissionsCapabilities)(nil)).Elem() +} + +func (i *customPermissionsCapabilitiesPtrType) ToCustomPermissionsCapabilitiesPtrOutput() CustomPermissionsCapabilitiesPtrOutput { + return i.ToCustomPermissionsCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (i *customPermissionsCapabilitiesPtrType) ToCustomPermissionsCapabilitiesPtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CustomPermissionsCapabilitiesPtrOutput) +} + +type CustomPermissionsCapabilitiesOutput struct{ *pulumi.OutputState } + +func (CustomPermissionsCapabilitiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CustomPermissionsCapabilities)(nil)).Elem() +} + +func (o CustomPermissionsCapabilitiesOutput) ToCustomPermissionsCapabilitiesOutput() CustomPermissionsCapabilitiesOutput { + return o +} + +func (o CustomPermissionsCapabilitiesOutput) ToCustomPermissionsCapabilitiesOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesOutput { + return o +} + +func (o CustomPermissionsCapabilitiesOutput) ToCustomPermissionsCapabilitiesPtrOutput() CustomPermissionsCapabilitiesPtrOutput { + return o.ToCustomPermissionsCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (o CustomPermissionsCapabilitiesOutput) ToCustomPermissionsCapabilitiesPtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CustomPermissionsCapabilities) *CustomPermissionsCapabilities { + return &v + }).(CustomPermissionsCapabilitiesPtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) AddOrRunAnomalyDetectionForAnalyses() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.AddOrRunAnomalyDetectionForAnalyses + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateAndUpdateDashboardEmailReports() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.CreateAndUpdateDashboardEmailReports + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateAndUpdateDataSources() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.CreateAndUpdateDataSources + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateAndUpdateDatasets() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.CreateAndUpdateDatasets + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateAndUpdateThemes() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.CreateAndUpdateThemes + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateAndUpdateThresholdAlerts() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.CreateAndUpdateThresholdAlerts + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateSharedFolders() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.CreateSharedFolders }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) CreateSpiceDataset() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.CreateSpiceDataset }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ExportToCsv() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ExportToCsv }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ExportToExcel() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ExportToExcel }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) RenameSharedFolders() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.RenameSharedFolders }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ShareAnalyses() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ShareAnalyses }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ShareDashboards() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ShareDashboards }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ShareDataSources() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ShareDataSources }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ShareDatasets() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { return v.ShareDatasets }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) SubscribeDashboardEmailReports() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.SubscribeDashboardEmailReports + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesOutput) ViewAccountSpiceCapacity() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + return v.ViewAccountSpiceCapacity + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +type CustomPermissionsCapabilitiesPtrOutput struct{ *pulumi.OutputState } + +func (CustomPermissionsCapabilitiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CustomPermissionsCapabilities)(nil)).Elem() +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ToCustomPermissionsCapabilitiesPtrOutput() CustomPermissionsCapabilitiesPtrOutput { + return o +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ToCustomPermissionsCapabilitiesPtrOutputWithContext(ctx context.Context) CustomPermissionsCapabilitiesPtrOutput { + return o +} + +func (o CustomPermissionsCapabilitiesPtrOutput) Elem() CustomPermissionsCapabilitiesOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) CustomPermissionsCapabilities { + if v != nil { + return *v + } + var ret CustomPermissionsCapabilities + return ret + }).(CustomPermissionsCapabilitiesOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) AddOrRunAnomalyDetectionForAnalyses() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.AddOrRunAnomalyDetectionForAnalyses + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateAndUpdateDashboardEmailReports() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateAndUpdateDashboardEmailReports + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateAndUpdateDataSources() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateAndUpdateDataSources + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateAndUpdateDatasets() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateAndUpdateDatasets + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateAndUpdateThemes() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateAndUpdateThemes + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateAndUpdateThresholdAlerts() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateAndUpdateThresholdAlerts + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateSharedFolders() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateSharedFolders + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) CreateSpiceDataset() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.CreateSpiceDataset + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ExportToCsv() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ExportToCsv + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ExportToExcel() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ExportToExcel + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) RenameSharedFolders() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.RenameSharedFolders + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ShareAnalyses() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ShareAnalyses + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ShareDashboards() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ShareDashboards + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ShareDataSources() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ShareDataSources + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ShareDatasets() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ShareDatasets + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) SubscribeDashboardEmailReports() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.SubscribeDashboardEmailReports + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +func (o CustomPermissionsCapabilitiesPtrOutput) ViewAccountSpiceCapacity() CustomPermissionsCapabilityStatePtrOutput { + return o.ApplyT(func(v *CustomPermissionsCapabilities) *CustomPermissionsCapabilityState { + if v == nil { + return nil + } + return v.ViewAccountSpiceCapacity + }).(CustomPermissionsCapabilityStatePtrOutput) +} + +//

The key or keys of the key-value pairs for the resource tag or tags assigned to the +// +// resource.

+type CustomPermissionsTag struct { + //

Tag key.

+ Key string `pulumi:"key"` + //

Tag value.

+ Value string `pulumi:"value"` +} + //

An ad hoc (one-time) filtering option.

type DashboardAdHocFilteringOption struct { // Availability status. @@ -85901,287 +86300,6 @@ func (o DashboardSheetImageStaticFileSourcePtrOutput) StaticFileId() pulumi.Stri }).(pulumi.StringPtrOutput) } -type DashboardSheetImageTooltipConfiguration struct { - TooltipText *DashboardSheetImageTooltipText `pulumi:"tooltipText"` - Visibility *DashboardVisibility `pulumi:"visibility"` -} - -// DashboardSheetImageTooltipConfigurationInput is an input type that accepts DashboardSheetImageTooltipConfigurationArgs and DashboardSheetImageTooltipConfigurationOutput values. -// You can construct a concrete instance of `DashboardSheetImageTooltipConfigurationInput` via: -// -// DashboardSheetImageTooltipConfigurationArgs{...} -type DashboardSheetImageTooltipConfigurationInput interface { - pulumi.Input - - ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput - ToDashboardSheetImageTooltipConfigurationOutputWithContext(context.Context) DashboardSheetImageTooltipConfigurationOutput -} - -type DashboardSheetImageTooltipConfigurationArgs struct { - TooltipText DashboardSheetImageTooltipTextPtrInput `pulumi:"tooltipText"` - Visibility DashboardVisibilityPtrInput `pulumi:"visibility"` -} - -func (DashboardSheetImageTooltipConfigurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardSheetImageTooltipConfiguration)(nil)).Elem() -} - -func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput { - return i.ToDashboardSheetImageTooltipConfigurationOutputWithContext(context.Background()) -} - -func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationOutput) -} - -func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { - return i.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) -} - -func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationOutput).ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx) -} - -// DashboardSheetImageTooltipConfigurationPtrInput is an input type that accepts DashboardSheetImageTooltipConfigurationArgs, DashboardSheetImageTooltipConfigurationPtr and DashboardSheetImageTooltipConfigurationPtrOutput values. -// You can construct a concrete instance of `DashboardSheetImageTooltipConfigurationPtrInput` via: -// -// DashboardSheetImageTooltipConfigurationArgs{...} -// -// or: -// -// nil -type DashboardSheetImageTooltipConfigurationPtrInput interface { - pulumi.Input - - ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput - ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Context) DashboardSheetImageTooltipConfigurationPtrOutput -} - -type dashboardSheetImageTooltipConfigurationPtrType DashboardSheetImageTooltipConfigurationArgs - -func DashboardSheetImageTooltipConfigurationPtr(v *DashboardSheetImageTooltipConfigurationArgs) DashboardSheetImageTooltipConfigurationPtrInput { - return (*dashboardSheetImageTooltipConfigurationPtrType)(v) -} - -func (*dashboardSheetImageTooltipConfigurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardSheetImageTooltipConfiguration)(nil)).Elem() -} - -func (i *dashboardSheetImageTooltipConfigurationPtrType) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { - return i.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) -} - -func (i *dashboardSheetImageTooltipConfigurationPtrType) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationPtrOutput) -} - -type DashboardSheetImageTooltipConfigurationOutput struct{ *pulumi.OutputState } - -func (DashboardSheetImageTooltipConfigurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardSheetImageTooltipConfiguration)(nil)).Elem() -} - -func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput { - return o -} - -func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationOutput { - return o -} - -func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { - return o.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) -} - -func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipConfiguration { - return &v - }).(DashboardSheetImageTooltipConfigurationPtrOutput) -} - -func (o DashboardSheetImageTooltipConfigurationOutput) TooltipText() DashboardSheetImageTooltipTextPtrOutput { - return o.ApplyT(func(v DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipText { return v.TooltipText }).(DashboardSheetImageTooltipTextPtrOutput) -} - -func (o DashboardSheetImageTooltipConfigurationOutput) Visibility() DashboardVisibilityPtrOutput { - return o.ApplyT(func(v DashboardSheetImageTooltipConfiguration) *DashboardVisibility { return v.Visibility }).(DashboardVisibilityPtrOutput) -} - -type DashboardSheetImageTooltipConfigurationPtrOutput struct{ *pulumi.OutputState } - -func (DashboardSheetImageTooltipConfigurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardSheetImageTooltipConfiguration)(nil)).Elem() -} - -func (o DashboardSheetImageTooltipConfigurationPtrOutput) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { - return o -} - -func (o DashboardSheetImageTooltipConfigurationPtrOutput) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { - return o -} - -func (o DashboardSheetImageTooltipConfigurationPtrOutput) Elem() DashboardSheetImageTooltipConfigurationOutput { - return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) DashboardSheetImageTooltipConfiguration { - if v != nil { - return *v - } - var ret DashboardSheetImageTooltipConfiguration - return ret - }).(DashboardSheetImageTooltipConfigurationOutput) -} - -func (o DashboardSheetImageTooltipConfigurationPtrOutput) TooltipText() DashboardSheetImageTooltipTextPtrOutput { - return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipText { - if v == nil { - return nil - } - return v.TooltipText - }).(DashboardSheetImageTooltipTextPtrOutput) -} - -func (o DashboardSheetImageTooltipConfigurationPtrOutput) Visibility() DashboardVisibilityPtrOutput { - return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) *DashboardVisibility { - if v == nil { - return nil - } - return v.Visibility - }).(DashboardVisibilityPtrOutput) -} - -type DashboardSheetImageTooltipText struct { - PlainText *string `pulumi:"plainText"` -} - -// DashboardSheetImageTooltipTextInput is an input type that accepts DashboardSheetImageTooltipTextArgs and DashboardSheetImageTooltipTextOutput values. -// You can construct a concrete instance of `DashboardSheetImageTooltipTextInput` via: -// -// DashboardSheetImageTooltipTextArgs{...} -type DashboardSheetImageTooltipTextInput interface { - pulumi.Input - - ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput - ToDashboardSheetImageTooltipTextOutputWithContext(context.Context) DashboardSheetImageTooltipTextOutput -} - -type DashboardSheetImageTooltipTextArgs struct { - PlainText pulumi.StringPtrInput `pulumi:"plainText"` -} - -func (DashboardSheetImageTooltipTextArgs) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardSheetImageTooltipText)(nil)).Elem() -} - -func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput { - return i.ToDashboardSheetImageTooltipTextOutputWithContext(context.Background()) -} - -func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextOutput) -} - -func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { - return i.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) -} - -func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextOutput).ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx) -} - -// DashboardSheetImageTooltipTextPtrInput is an input type that accepts DashboardSheetImageTooltipTextArgs, DashboardSheetImageTooltipTextPtr and DashboardSheetImageTooltipTextPtrOutput values. -// You can construct a concrete instance of `DashboardSheetImageTooltipTextPtrInput` via: -// -// DashboardSheetImageTooltipTextArgs{...} -// -// or: -// -// nil -type DashboardSheetImageTooltipTextPtrInput interface { - pulumi.Input - - ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput - ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Context) DashboardSheetImageTooltipTextPtrOutput -} - -type dashboardSheetImageTooltipTextPtrType DashboardSheetImageTooltipTextArgs - -func DashboardSheetImageTooltipTextPtr(v *DashboardSheetImageTooltipTextArgs) DashboardSheetImageTooltipTextPtrInput { - return (*dashboardSheetImageTooltipTextPtrType)(v) -} - -func (*dashboardSheetImageTooltipTextPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardSheetImageTooltipText)(nil)).Elem() -} - -func (i *dashboardSheetImageTooltipTextPtrType) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { - return i.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) -} - -func (i *dashboardSheetImageTooltipTextPtrType) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextPtrOutput) -} - -type DashboardSheetImageTooltipTextOutput struct{ *pulumi.OutputState } - -func (DashboardSheetImageTooltipTextOutput) ElementType() reflect.Type { - return reflect.TypeOf((*DashboardSheetImageTooltipText)(nil)).Elem() -} - -func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput { - return o -} - -func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextOutput { - return o -} - -func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { - return o.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) -} - -func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardSheetImageTooltipText) *DashboardSheetImageTooltipText { - return &v - }).(DashboardSheetImageTooltipTextPtrOutput) -} - -func (o DashboardSheetImageTooltipTextOutput) PlainText() pulumi.StringPtrOutput { - return o.ApplyT(func(v DashboardSheetImageTooltipText) *string { return v.PlainText }).(pulumi.StringPtrOutput) -} - -type DashboardSheetImageTooltipTextPtrOutput struct{ *pulumi.OutputState } - -func (DashboardSheetImageTooltipTextPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**DashboardSheetImageTooltipText)(nil)).Elem() -} - -func (o DashboardSheetImageTooltipTextPtrOutput) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { - return o -} - -func (o DashboardSheetImageTooltipTextPtrOutput) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { - return o -} - -func (o DashboardSheetImageTooltipTextPtrOutput) Elem() DashboardSheetImageTooltipTextOutput { - return o.ApplyT(func(v *DashboardSheetImageTooltipText) DashboardSheetImageTooltipText { - if v != nil { - return *v - } - var ret DashboardSheetImageTooltipText - return ret - }).(DashboardSheetImageTooltipTextOutput) -} - -func (o DashboardSheetImageTooltipTextPtrOutput) PlainText() pulumi.StringPtrOutput { - return o.ApplyT(func(v *DashboardSheetImageTooltipText) *string { - if v == nil { - return nil - } - return v.PlainText - }).(pulumi.StringPtrOutput) -} - func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisTimeBasedForecastPropertiesInput)(nil)).Elem(), AnalysisTimeBasedForecastPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisTimeBasedForecastPropertiesPtrInput)(nil)).Elem(), AnalysisTimeBasedForecastPropertiesArgs{}) @@ -86277,6 +86395,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AnalysisWordCloudVisualPtrInput)(nil)).Elem(), AnalysisWordCloudVisualArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisYAxisOptionsInput)(nil)).Elem(), AnalysisYAxisOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AnalysisYAxisOptionsPtrInput)(nil)).Elem(), AnalysisYAxisOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomPermissionsCapabilitiesInput)(nil)).Elem(), CustomPermissionsCapabilitiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CustomPermissionsCapabilitiesPtrInput)(nil)).Elem(), CustomPermissionsCapabilitiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAdHocFilteringOptionInput)(nil)).Elem(), DashboardAdHocFilteringOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAdHocFilteringOptionPtrInput)(nil)).Elem(), DashboardAdHocFilteringOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardAggregationFunctionInput)(nil)).Elem(), DashboardAggregationFunctionArgs{}) @@ -87167,10 +87287,6 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageSourceInput)(nil)).Elem(), DashboardSheetImageSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageStaticFileSourceInput)(nil)).Elem(), DashboardSheetImageStaticFileSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageStaticFileSourcePtrInput)(nil)).Elem(), DashboardSheetImageStaticFileSourceArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipConfigurationInput)(nil)).Elem(), DashboardSheetImageTooltipConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipConfigurationPtrInput)(nil)).Elem(), DashboardSheetImageTooltipConfigurationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipTextInput)(nil)).Elem(), DashboardSheetImageTooltipTextArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipTextPtrInput)(nil)).Elem(), DashboardSheetImageTooltipTextArgs{}) pulumi.RegisterOutputType(AnalysisTimeBasedForecastPropertiesOutput{}) pulumi.RegisterOutputType(AnalysisTimeBasedForecastPropertiesPtrOutput{}) pulumi.RegisterOutputType(AnalysisTimeEqualityFilterOutput{}) @@ -87265,6 +87381,8 @@ func init() { pulumi.RegisterOutputType(AnalysisWordCloudVisualPtrOutput{}) pulumi.RegisterOutputType(AnalysisYAxisOptionsOutput{}) pulumi.RegisterOutputType(AnalysisYAxisOptionsPtrOutput{}) + pulumi.RegisterOutputType(CustomPermissionsCapabilitiesOutput{}) + pulumi.RegisterOutputType(CustomPermissionsCapabilitiesPtrOutput{}) pulumi.RegisterOutputType(DashboardAdHocFilteringOptionOutput{}) pulumi.RegisterOutputType(DashboardAdHocFilteringOptionPtrOutput{}) pulumi.RegisterOutputType(DashboardAggregationFunctionOutput{}) @@ -88161,8 +88279,4 @@ func init() { pulumi.RegisterOutputType(DashboardSheetImageSourceOutput{}) pulumi.RegisterOutputType(DashboardSheetImageStaticFileSourceOutput{}) pulumi.RegisterOutputType(DashboardSheetImageStaticFileSourcePtrOutput{}) - pulumi.RegisterOutputType(DashboardSheetImageTooltipConfigurationOutput{}) - pulumi.RegisterOutputType(DashboardSheetImageTooltipConfigurationPtrOutput{}) - pulumi.RegisterOutputType(DashboardSheetImageTooltipTextOutput{}) - pulumi.RegisterOutputType(DashboardSheetImageTooltipTextPtrOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes2.go b/sdk/go/aws/quicksight/pulumiTypes2.go index 46aa2cf971..a109c0648d 100644 --- a/sdk/go/aws/quicksight/pulumiTypes2.go +++ b/sdk/go/aws/quicksight/pulumiTypes2.go @@ -13,6 +13,287 @@ import ( var _ = internal.GetEnvOrDefault +type DashboardSheetImageTooltipConfiguration struct { + TooltipText *DashboardSheetImageTooltipText `pulumi:"tooltipText"` + Visibility *DashboardVisibility `pulumi:"visibility"` +} + +// DashboardSheetImageTooltipConfigurationInput is an input type that accepts DashboardSheetImageTooltipConfigurationArgs and DashboardSheetImageTooltipConfigurationOutput values. +// You can construct a concrete instance of `DashboardSheetImageTooltipConfigurationInput` via: +// +// DashboardSheetImageTooltipConfigurationArgs{...} +type DashboardSheetImageTooltipConfigurationInput interface { + pulumi.Input + + ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput + ToDashboardSheetImageTooltipConfigurationOutputWithContext(context.Context) DashboardSheetImageTooltipConfigurationOutput +} + +type DashboardSheetImageTooltipConfigurationArgs struct { + TooltipText DashboardSheetImageTooltipTextPtrInput `pulumi:"tooltipText"` + Visibility DashboardVisibilityPtrInput `pulumi:"visibility"` +} + +func (DashboardSheetImageTooltipConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardSheetImageTooltipConfiguration)(nil)).Elem() +} + +func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput { + return i.ToDashboardSheetImageTooltipConfigurationOutputWithContext(context.Background()) +} + +func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationOutput) +} + +func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { + return i.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) +} + +func (i DashboardSheetImageTooltipConfigurationArgs) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationOutput).ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx) +} + +// DashboardSheetImageTooltipConfigurationPtrInput is an input type that accepts DashboardSheetImageTooltipConfigurationArgs, DashboardSheetImageTooltipConfigurationPtr and DashboardSheetImageTooltipConfigurationPtrOutput values. +// You can construct a concrete instance of `DashboardSheetImageTooltipConfigurationPtrInput` via: +// +// DashboardSheetImageTooltipConfigurationArgs{...} +// +// or: +// +// nil +type DashboardSheetImageTooltipConfigurationPtrInput interface { + pulumi.Input + + ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput + ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Context) DashboardSheetImageTooltipConfigurationPtrOutput +} + +type dashboardSheetImageTooltipConfigurationPtrType DashboardSheetImageTooltipConfigurationArgs + +func DashboardSheetImageTooltipConfigurationPtr(v *DashboardSheetImageTooltipConfigurationArgs) DashboardSheetImageTooltipConfigurationPtrInput { + return (*dashboardSheetImageTooltipConfigurationPtrType)(v) +} + +func (*dashboardSheetImageTooltipConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardSheetImageTooltipConfiguration)(nil)).Elem() +} + +func (i *dashboardSheetImageTooltipConfigurationPtrType) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { + return i.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *dashboardSheetImageTooltipConfigurationPtrType) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipConfigurationPtrOutput) +} + +type DashboardSheetImageTooltipConfigurationOutput struct{ *pulumi.OutputState } + +func (DashboardSheetImageTooltipConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardSheetImageTooltipConfiguration)(nil)).Elem() +} + +func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationOutput() DashboardSheetImageTooltipConfigurationOutput { + return o +} + +func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationOutput { + return o +} + +func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { + return o.ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(context.Background()) +} + +func (o DashboardSheetImageTooltipConfigurationOutput) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipConfiguration { + return &v + }).(DashboardSheetImageTooltipConfigurationPtrOutput) +} + +func (o DashboardSheetImageTooltipConfigurationOutput) TooltipText() DashboardSheetImageTooltipTextPtrOutput { + return o.ApplyT(func(v DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipText { return v.TooltipText }).(DashboardSheetImageTooltipTextPtrOutput) +} + +func (o DashboardSheetImageTooltipConfigurationOutput) Visibility() DashboardVisibilityPtrOutput { + return o.ApplyT(func(v DashboardSheetImageTooltipConfiguration) *DashboardVisibility { return v.Visibility }).(DashboardVisibilityPtrOutput) +} + +type DashboardSheetImageTooltipConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (DashboardSheetImageTooltipConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardSheetImageTooltipConfiguration)(nil)).Elem() +} + +func (o DashboardSheetImageTooltipConfigurationPtrOutput) ToDashboardSheetImageTooltipConfigurationPtrOutput() DashboardSheetImageTooltipConfigurationPtrOutput { + return o +} + +func (o DashboardSheetImageTooltipConfigurationPtrOutput) ToDashboardSheetImageTooltipConfigurationPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipConfigurationPtrOutput { + return o +} + +func (o DashboardSheetImageTooltipConfigurationPtrOutput) Elem() DashboardSheetImageTooltipConfigurationOutput { + return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) DashboardSheetImageTooltipConfiguration { + if v != nil { + return *v + } + var ret DashboardSheetImageTooltipConfiguration + return ret + }).(DashboardSheetImageTooltipConfigurationOutput) +} + +func (o DashboardSheetImageTooltipConfigurationPtrOutput) TooltipText() DashboardSheetImageTooltipTextPtrOutput { + return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) *DashboardSheetImageTooltipText { + if v == nil { + return nil + } + return v.TooltipText + }).(DashboardSheetImageTooltipTextPtrOutput) +} + +func (o DashboardSheetImageTooltipConfigurationPtrOutput) Visibility() DashboardVisibilityPtrOutput { + return o.ApplyT(func(v *DashboardSheetImageTooltipConfiguration) *DashboardVisibility { + if v == nil { + return nil + } + return v.Visibility + }).(DashboardVisibilityPtrOutput) +} + +type DashboardSheetImageTooltipText struct { + PlainText *string `pulumi:"plainText"` +} + +// DashboardSheetImageTooltipTextInput is an input type that accepts DashboardSheetImageTooltipTextArgs and DashboardSheetImageTooltipTextOutput values. +// You can construct a concrete instance of `DashboardSheetImageTooltipTextInput` via: +// +// DashboardSheetImageTooltipTextArgs{...} +type DashboardSheetImageTooltipTextInput interface { + pulumi.Input + + ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput + ToDashboardSheetImageTooltipTextOutputWithContext(context.Context) DashboardSheetImageTooltipTextOutput +} + +type DashboardSheetImageTooltipTextArgs struct { + PlainText pulumi.StringPtrInput `pulumi:"plainText"` +} + +func (DashboardSheetImageTooltipTextArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardSheetImageTooltipText)(nil)).Elem() +} + +func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput { + return i.ToDashboardSheetImageTooltipTextOutputWithContext(context.Background()) +} + +func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextOutput) +} + +func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { + return i.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) +} + +func (i DashboardSheetImageTooltipTextArgs) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextOutput).ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx) +} + +// DashboardSheetImageTooltipTextPtrInput is an input type that accepts DashboardSheetImageTooltipTextArgs, DashboardSheetImageTooltipTextPtr and DashboardSheetImageTooltipTextPtrOutput values. +// You can construct a concrete instance of `DashboardSheetImageTooltipTextPtrInput` via: +// +// DashboardSheetImageTooltipTextArgs{...} +// +// or: +// +// nil +type DashboardSheetImageTooltipTextPtrInput interface { + pulumi.Input + + ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput + ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Context) DashboardSheetImageTooltipTextPtrOutput +} + +type dashboardSheetImageTooltipTextPtrType DashboardSheetImageTooltipTextArgs + +func DashboardSheetImageTooltipTextPtr(v *DashboardSheetImageTooltipTextArgs) DashboardSheetImageTooltipTextPtrInput { + return (*dashboardSheetImageTooltipTextPtrType)(v) +} + +func (*dashboardSheetImageTooltipTextPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardSheetImageTooltipText)(nil)).Elem() +} + +func (i *dashboardSheetImageTooltipTextPtrType) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { + return i.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) +} + +func (i *dashboardSheetImageTooltipTextPtrType) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DashboardSheetImageTooltipTextPtrOutput) +} + +type DashboardSheetImageTooltipTextOutput struct{ *pulumi.OutputState } + +func (DashboardSheetImageTooltipTextOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DashboardSheetImageTooltipText)(nil)).Elem() +} + +func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextOutput() DashboardSheetImageTooltipTextOutput { + return o +} + +func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextOutput { + return o +} + +func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { + return o.ToDashboardSheetImageTooltipTextPtrOutputWithContext(context.Background()) +} + +func (o DashboardSheetImageTooltipTextOutput) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DashboardSheetImageTooltipText) *DashboardSheetImageTooltipText { + return &v + }).(DashboardSheetImageTooltipTextPtrOutput) +} + +func (o DashboardSheetImageTooltipTextOutput) PlainText() pulumi.StringPtrOutput { + return o.ApplyT(func(v DashboardSheetImageTooltipText) *string { return v.PlainText }).(pulumi.StringPtrOutput) +} + +type DashboardSheetImageTooltipTextPtrOutput struct{ *pulumi.OutputState } + +func (DashboardSheetImageTooltipTextPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DashboardSheetImageTooltipText)(nil)).Elem() +} + +func (o DashboardSheetImageTooltipTextPtrOutput) ToDashboardSheetImageTooltipTextPtrOutput() DashboardSheetImageTooltipTextPtrOutput { + return o +} + +func (o DashboardSheetImageTooltipTextPtrOutput) ToDashboardSheetImageTooltipTextPtrOutputWithContext(ctx context.Context) DashboardSheetImageTooltipTextPtrOutput { + return o +} + +func (o DashboardSheetImageTooltipTextPtrOutput) Elem() DashboardSheetImageTooltipTextOutput { + return o.ApplyT(func(v *DashboardSheetImageTooltipText) DashboardSheetImageTooltipText { + if v != nil { + return *v + } + var ret DashboardSheetImageTooltipText + return ret + }).(DashboardSheetImageTooltipTextOutput) +} + +func (o DashboardSheetImageTooltipTextPtrOutput) PlainText() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DashboardSheetImageTooltipText) *string { + if v == nil { + return nil + } + return v.PlainText + }).(pulumi.StringPtrOutput) +} + //

The sheet layout maximization options of a dashbaord.

type DashboardSheetLayoutElementMaximizationOption struct { // The status of the sheet layout maximization options of a dashbaord. @@ -85689,335 +85970,11 @@ func (o TemplateParameterControlArrayOutput) Index(i pulumi.IntInput) TemplatePa }).(TemplateParameterControlOutput) } -type TemplateParameterDateTimePickerControl struct { - // The display options of a control. - DisplayOptions *TemplateDateTimePickerControlDisplayOptions `pulumi:"displayOptions"` - // The ID of the `ParameterDateTimePickerControl` . - ParameterControlId string `pulumi:"parameterControlId"` - // The name of the `ParameterDateTimePickerControl` . - SourceParameterName string `pulumi:"sourceParameterName"` - // The title of the `ParameterDateTimePickerControl` . - Title string `pulumi:"title"` -} - -// TemplateParameterDateTimePickerControlInput is an input type that accepts TemplateParameterDateTimePickerControlArgs and TemplateParameterDateTimePickerControlOutput values. -// You can construct a concrete instance of `TemplateParameterDateTimePickerControlInput` via: -// -// TemplateParameterDateTimePickerControlArgs{...} -type TemplateParameterDateTimePickerControlInput interface { - pulumi.Input - - ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput - ToTemplateParameterDateTimePickerControlOutputWithContext(context.Context) TemplateParameterDateTimePickerControlOutput -} - -type TemplateParameterDateTimePickerControlArgs struct { - // The display options of a control. - DisplayOptions TemplateDateTimePickerControlDisplayOptionsPtrInput `pulumi:"displayOptions"` - // The ID of the `ParameterDateTimePickerControl` . - ParameterControlId pulumi.StringInput `pulumi:"parameterControlId"` - // The name of the `ParameterDateTimePickerControl` . - SourceParameterName pulumi.StringInput `pulumi:"sourceParameterName"` - // The title of the `ParameterDateTimePickerControl` . - Title pulumi.StringInput `pulumi:"title"` -} - -func (TemplateParameterDateTimePickerControlArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateParameterDateTimePickerControl)(nil)).Elem() -} - -func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput { - return i.ToTemplateParameterDateTimePickerControlOutputWithContext(context.Background()) -} - -func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlOutput) -} - -func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { - return i.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) -} - -func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlOutput).ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx) -} - -// TemplateParameterDateTimePickerControlPtrInput is an input type that accepts TemplateParameterDateTimePickerControlArgs, TemplateParameterDateTimePickerControlPtr and TemplateParameterDateTimePickerControlPtrOutput values. -// You can construct a concrete instance of `TemplateParameterDateTimePickerControlPtrInput` via: -// -// TemplateParameterDateTimePickerControlArgs{...} -// -// or: -// -// nil -type TemplateParameterDateTimePickerControlPtrInput interface { - pulumi.Input - - ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput - ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Context) TemplateParameterDateTimePickerControlPtrOutput -} - -type templateParameterDateTimePickerControlPtrType TemplateParameterDateTimePickerControlArgs - -func TemplateParameterDateTimePickerControlPtr(v *TemplateParameterDateTimePickerControlArgs) TemplateParameterDateTimePickerControlPtrInput { - return (*templateParameterDateTimePickerControlPtrType)(v) -} - -func (*templateParameterDateTimePickerControlPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateParameterDateTimePickerControl)(nil)).Elem() -} - -func (i *templateParameterDateTimePickerControlPtrType) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { - return i.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) -} - -func (i *templateParameterDateTimePickerControlPtrType) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlPtrOutput) -} - -type TemplateParameterDateTimePickerControlOutput struct{ *pulumi.OutputState } - -func (TemplateParameterDateTimePickerControlOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateParameterDateTimePickerControl)(nil)).Elem() -} - -func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput { - return o -} - -func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlOutput { - return o -} - -func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { - return o.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) -} - -func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateParameterDateTimePickerControl) *TemplateParameterDateTimePickerControl { - return &v - }).(TemplateParameterDateTimePickerControlPtrOutput) -} - -// The display options of a control. -func (o TemplateParameterDateTimePickerControlOutput) DisplayOptions() TemplateDateTimePickerControlDisplayOptionsPtrOutput { - return o.ApplyT(func(v TemplateParameterDateTimePickerControl) *TemplateDateTimePickerControlDisplayOptions { - return v.DisplayOptions - }).(TemplateDateTimePickerControlDisplayOptionsPtrOutput) -} - -// The ID of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlOutput) ParameterControlId() pulumi.StringOutput { - return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.ParameterControlId }).(pulumi.StringOutput) -} - -// The name of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlOutput) SourceParameterName() pulumi.StringOutput { - return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.SourceParameterName }).(pulumi.StringOutput) -} - -// The title of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlOutput) Title() pulumi.StringOutput { - return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.Title }).(pulumi.StringOutput) -} - -type TemplateParameterDateTimePickerControlPtrOutput struct{ *pulumi.OutputState } - -func (TemplateParameterDateTimePickerControlPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**TemplateParameterDateTimePickerControl)(nil)).Elem() -} - -func (o TemplateParameterDateTimePickerControlPtrOutput) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { - return o -} - -func (o TemplateParameterDateTimePickerControlPtrOutput) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { - return o -} - -func (o TemplateParameterDateTimePickerControlPtrOutput) Elem() TemplateParameterDateTimePickerControlOutput { - return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) TemplateParameterDateTimePickerControl { - if v != nil { - return *v - } - var ret TemplateParameterDateTimePickerControl - return ret - }).(TemplateParameterDateTimePickerControlOutput) -} - -// The display options of a control. -func (o TemplateParameterDateTimePickerControlPtrOutput) DisplayOptions() TemplateDateTimePickerControlDisplayOptionsPtrOutput { - return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *TemplateDateTimePickerControlDisplayOptions { - if v == nil { - return nil - } - return v.DisplayOptions - }).(TemplateDateTimePickerControlDisplayOptionsPtrOutput) -} - -// The ID of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlPtrOutput) ParameterControlId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { - if v == nil { - return nil - } - return &v.ParameterControlId - }).(pulumi.StringPtrOutput) -} - -// The name of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlPtrOutput) SourceParameterName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { - if v == nil { - return nil - } - return &v.SourceParameterName - }).(pulumi.StringPtrOutput) -} - -// The title of the `ParameterDateTimePickerControl` . -func (o TemplateParameterDateTimePickerControlPtrOutput) Title() pulumi.StringPtrOutput { - return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { - if v == nil { - return nil - } - return &v.Title - }).(pulumi.StringPtrOutput) -} - -type TemplateParameterDeclaration struct { - // A parameter declaration for the `DateTime` data type. - DateTimeParameterDeclaration *TemplateDateTimeParameterDeclaration `pulumi:"dateTimeParameterDeclaration"` - // A parameter declaration for the `Decimal` data type. - DecimalParameterDeclaration *TemplateDecimalParameterDeclaration `pulumi:"decimalParameterDeclaration"` - // A parameter declaration for the `Integer` data type. - IntegerParameterDeclaration *TemplateIntegerParameterDeclaration `pulumi:"integerParameterDeclaration"` - // A parameter declaration for the `String` data type. - StringParameterDeclaration *TemplateStringParameterDeclaration `pulumi:"stringParameterDeclaration"` -} - -// TemplateParameterDeclarationInput is an input type that accepts TemplateParameterDeclarationArgs and TemplateParameterDeclarationOutput values. -// You can construct a concrete instance of `TemplateParameterDeclarationInput` via: -// -// TemplateParameterDeclarationArgs{...} -type TemplateParameterDeclarationInput interface { - pulumi.Input - - ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput - ToTemplateParameterDeclarationOutputWithContext(context.Context) TemplateParameterDeclarationOutput -} - -type TemplateParameterDeclarationArgs struct { - // A parameter declaration for the `DateTime` data type. - DateTimeParameterDeclaration TemplateDateTimeParameterDeclarationPtrInput `pulumi:"dateTimeParameterDeclaration"` - // A parameter declaration for the `Decimal` data type. - DecimalParameterDeclaration TemplateDecimalParameterDeclarationPtrInput `pulumi:"decimalParameterDeclaration"` - // A parameter declaration for the `Integer` data type. - IntegerParameterDeclaration TemplateIntegerParameterDeclarationPtrInput `pulumi:"integerParameterDeclaration"` - // A parameter declaration for the `String` data type. - StringParameterDeclaration TemplateStringParameterDeclarationPtrInput `pulumi:"stringParameterDeclaration"` -} - -func (TemplateParameterDeclarationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateParameterDeclaration)(nil)).Elem() -} - -func (i TemplateParameterDeclarationArgs) ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput { - return i.ToTemplateParameterDeclarationOutputWithContext(context.Background()) -} - -func (i TemplateParameterDeclarationArgs) ToTemplateParameterDeclarationOutputWithContext(ctx context.Context) TemplateParameterDeclarationOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDeclarationOutput) -} - -// TemplateParameterDeclarationArrayInput is an input type that accepts TemplateParameterDeclarationArray and TemplateParameterDeclarationArrayOutput values. -// You can construct a concrete instance of `TemplateParameterDeclarationArrayInput` via: -// -// TemplateParameterDeclarationArray{ TemplateParameterDeclarationArgs{...} } -type TemplateParameterDeclarationArrayInput interface { - pulumi.Input - - ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput - ToTemplateParameterDeclarationArrayOutputWithContext(context.Context) TemplateParameterDeclarationArrayOutput -} - -type TemplateParameterDeclarationArray []TemplateParameterDeclarationInput - -func (TemplateParameterDeclarationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]TemplateParameterDeclaration)(nil)).Elem() -} - -func (i TemplateParameterDeclarationArray) ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput { - return i.ToTemplateParameterDeclarationArrayOutputWithContext(context.Background()) -} - -func (i TemplateParameterDeclarationArray) ToTemplateParameterDeclarationArrayOutputWithContext(ctx context.Context) TemplateParameterDeclarationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDeclarationArrayOutput) -} - -type TemplateParameterDeclarationOutput struct{ *pulumi.OutputState } - -func (TemplateParameterDeclarationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*TemplateParameterDeclaration)(nil)).Elem() -} - -func (o TemplateParameterDeclarationOutput) ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput { - return o -} - -func (o TemplateParameterDeclarationOutput) ToTemplateParameterDeclarationOutputWithContext(ctx context.Context) TemplateParameterDeclarationOutput { - return o -} - -// A parameter declaration for the `DateTime` data type. -func (o TemplateParameterDeclarationOutput) DateTimeParameterDeclaration() TemplateDateTimeParameterDeclarationPtrOutput { - return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateDateTimeParameterDeclaration { - return v.DateTimeParameterDeclaration - }).(TemplateDateTimeParameterDeclarationPtrOutput) -} - -// A parameter declaration for the `Decimal` data type. -func (o TemplateParameterDeclarationOutput) DecimalParameterDeclaration() TemplateDecimalParameterDeclarationPtrOutput { - return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateDecimalParameterDeclaration { - return v.DecimalParameterDeclaration - }).(TemplateDecimalParameterDeclarationPtrOutput) -} - -// A parameter declaration for the `Integer` data type. -func (o TemplateParameterDeclarationOutput) IntegerParameterDeclaration() TemplateIntegerParameterDeclarationPtrOutput { - return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateIntegerParameterDeclaration { - return v.IntegerParameterDeclaration - }).(TemplateIntegerParameterDeclarationPtrOutput) -} - -// A parameter declaration for the `String` data type. -func (o TemplateParameterDeclarationOutput) StringParameterDeclaration() TemplateStringParameterDeclarationPtrOutput { - return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateStringParameterDeclaration { - return v.StringParameterDeclaration - }).(TemplateStringParameterDeclarationPtrOutput) -} - -type TemplateParameterDeclarationArrayOutput struct{ *pulumi.OutputState } - -func (TemplateParameterDeclarationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]TemplateParameterDeclaration)(nil)).Elem() -} - -func (o TemplateParameterDeclarationArrayOutput) ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput { - return o -} - -func (o TemplateParameterDeclarationArrayOutput) ToTemplateParameterDeclarationArrayOutputWithContext(ctx context.Context) TemplateParameterDeclarationArrayOutput { - return o -} - -func (o TemplateParameterDeclarationArrayOutput) Index(i pulumi.IntInput) TemplateParameterDeclarationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) TemplateParameterDeclaration { - return vs[0].([]TemplateParameterDeclaration)[vs[1].(int)] - }).(TemplateParameterDeclarationOutput) -} - func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipConfigurationInput)(nil)).Elem(), DashboardSheetImageTooltipConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipConfigurationPtrInput)(nil)).Elem(), DashboardSheetImageTooltipConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipTextInput)(nil)).Elem(), DashboardSheetImageTooltipTextArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetImageTooltipTextPtrInput)(nil)).Elem(), DashboardSheetImageTooltipTextArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetLayoutElementMaximizationOptionInput)(nil)).Elem(), DashboardSheetLayoutElementMaximizationOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetLayoutElementMaximizationOptionPtrInput)(nil)).Elem(), DashboardSheetLayoutElementMaximizationOptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DashboardSheetTextBoxInput)(nil)).Elem(), DashboardSheetTextBoxArgs{}) @@ -86998,10 +86955,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TemplatePanelTitleOptionsPtrInput)(nil)).Elem(), TemplatePanelTitleOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterControlInput)(nil)).Elem(), TemplateParameterControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterControlArrayInput)(nil)).Elem(), TemplateParameterControlArray{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDateTimePickerControlInput)(nil)).Elem(), TemplateParameterDateTimePickerControlArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDateTimePickerControlPtrInput)(nil)).Elem(), TemplateParameterDateTimePickerControlArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDeclarationInput)(nil)).Elem(), TemplateParameterDeclarationArgs{}) - pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDeclarationArrayInput)(nil)).Elem(), TemplateParameterDeclarationArray{}) + pulumi.RegisterOutputType(DashboardSheetImageTooltipConfigurationOutput{}) + pulumi.RegisterOutputType(DashboardSheetImageTooltipConfigurationPtrOutput{}) + pulumi.RegisterOutputType(DashboardSheetImageTooltipTextOutput{}) + pulumi.RegisterOutputType(DashboardSheetImageTooltipTextPtrOutput{}) pulumi.RegisterOutputType(DashboardSheetLayoutElementMaximizationOptionOutput{}) pulumi.RegisterOutputType(DashboardSheetLayoutElementMaximizationOptionPtrOutput{}) pulumi.RegisterOutputType(DashboardSheetTextBoxOutput{}) @@ -87990,8 +87947,4 @@ func init() { pulumi.RegisterOutputType(TemplatePanelTitleOptionsPtrOutput{}) pulumi.RegisterOutputType(TemplateParameterControlOutput{}) pulumi.RegisterOutputType(TemplateParameterControlArrayOutput{}) - pulumi.RegisterOutputType(TemplateParameterDateTimePickerControlOutput{}) - pulumi.RegisterOutputType(TemplateParameterDateTimePickerControlPtrOutput{}) - pulumi.RegisterOutputType(TemplateParameterDeclarationOutput{}) - pulumi.RegisterOutputType(TemplateParameterDeclarationArrayOutput{}) } diff --git a/sdk/go/aws/quicksight/pulumiTypes3.go b/sdk/go/aws/quicksight/pulumiTypes3.go index daefbb7d86..1a73d8f76f 100644 --- a/sdk/go/aws/quicksight/pulumiTypes3.go +++ b/sdk/go/aws/quicksight/pulumiTypes3.go @@ -13,6 +13,334 @@ import ( var _ = internal.GetEnvOrDefault +type TemplateParameterDateTimePickerControl struct { + // The display options of a control. + DisplayOptions *TemplateDateTimePickerControlDisplayOptions `pulumi:"displayOptions"` + // The ID of the `ParameterDateTimePickerControl` . + ParameterControlId string `pulumi:"parameterControlId"` + // The name of the `ParameterDateTimePickerControl` . + SourceParameterName string `pulumi:"sourceParameterName"` + // The title of the `ParameterDateTimePickerControl` . + Title string `pulumi:"title"` +} + +// TemplateParameterDateTimePickerControlInput is an input type that accepts TemplateParameterDateTimePickerControlArgs and TemplateParameterDateTimePickerControlOutput values. +// You can construct a concrete instance of `TemplateParameterDateTimePickerControlInput` via: +// +// TemplateParameterDateTimePickerControlArgs{...} +type TemplateParameterDateTimePickerControlInput interface { + pulumi.Input + + ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput + ToTemplateParameterDateTimePickerControlOutputWithContext(context.Context) TemplateParameterDateTimePickerControlOutput +} + +type TemplateParameterDateTimePickerControlArgs struct { + // The display options of a control. + DisplayOptions TemplateDateTimePickerControlDisplayOptionsPtrInput `pulumi:"displayOptions"` + // The ID of the `ParameterDateTimePickerControl` . + ParameterControlId pulumi.StringInput `pulumi:"parameterControlId"` + // The name of the `ParameterDateTimePickerControl` . + SourceParameterName pulumi.StringInput `pulumi:"sourceParameterName"` + // The title of the `ParameterDateTimePickerControl` . + Title pulumi.StringInput `pulumi:"title"` +} + +func (TemplateParameterDateTimePickerControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateParameterDateTimePickerControl)(nil)).Elem() +} + +func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput { + return i.ToTemplateParameterDateTimePickerControlOutputWithContext(context.Background()) +} + +func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlOutput) +} + +func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { + return i.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) +} + +func (i TemplateParameterDateTimePickerControlArgs) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlOutput).ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx) +} + +// TemplateParameterDateTimePickerControlPtrInput is an input type that accepts TemplateParameterDateTimePickerControlArgs, TemplateParameterDateTimePickerControlPtr and TemplateParameterDateTimePickerControlPtrOutput values. +// You can construct a concrete instance of `TemplateParameterDateTimePickerControlPtrInput` via: +// +// TemplateParameterDateTimePickerControlArgs{...} +// +// or: +// +// nil +type TemplateParameterDateTimePickerControlPtrInput interface { + pulumi.Input + + ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput + ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Context) TemplateParameterDateTimePickerControlPtrOutput +} + +type templateParameterDateTimePickerControlPtrType TemplateParameterDateTimePickerControlArgs + +func TemplateParameterDateTimePickerControlPtr(v *TemplateParameterDateTimePickerControlArgs) TemplateParameterDateTimePickerControlPtrInput { + return (*templateParameterDateTimePickerControlPtrType)(v) +} + +func (*templateParameterDateTimePickerControlPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateParameterDateTimePickerControl)(nil)).Elem() +} + +func (i *templateParameterDateTimePickerControlPtrType) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { + return i.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) +} + +func (i *templateParameterDateTimePickerControlPtrType) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDateTimePickerControlPtrOutput) +} + +type TemplateParameterDateTimePickerControlOutput struct{ *pulumi.OutputState } + +func (TemplateParameterDateTimePickerControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateParameterDateTimePickerControl)(nil)).Elem() +} + +func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlOutput() TemplateParameterDateTimePickerControlOutput { + return o +} + +func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlOutput { + return o +} + +func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { + return o.ToTemplateParameterDateTimePickerControlPtrOutputWithContext(context.Background()) +} + +func (o TemplateParameterDateTimePickerControlOutput) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TemplateParameterDateTimePickerControl) *TemplateParameterDateTimePickerControl { + return &v + }).(TemplateParameterDateTimePickerControlPtrOutput) +} + +// The display options of a control. +func (o TemplateParameterDateTimePickerControlOutput) DisplayOptions() TemplateDateTimePickerControlDisplayOptionsPtrOutput { + return o.ApplyT(func(v TemplateParameterDateTimePickerControl) *TemplateDateTimePickerControlDisplayOptions { + return v.DisplayOptions + }).(TemplateDateTimePickerControlDisplayOptionsPtrOutput) +} + +// The ID of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlOutput) ParameterControlId() pulumi.StringOutput { + return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.ParameterControlId }).(pulumi.StringOutput) +} + +// The name of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlOutput) SourceParameterName() pulumi.StringOutput { + return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.SourceParameterName }).(pulumi.StringOutput) +} + +// The title of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlOutput) Title() pulumi.StringOutput { + return o.ApplyT(func(v TemplateParameterDateTimePickerControl) string { return v.Title }).(pulumi.StringOutput) +} + +type TemplateParameterDateTimePickerControlPtrOutput struct{ *pulumi.OutputState } + +func (TemplateParameterDateTimePickerControlPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TemplateParameterDateTimePickerControl)(nil)).Elem() +} + +func (o TemplateParameterDateTimePickerControlPtrOutput) ToTemplateParameterDateTimePickerControlPtrOutput() TemplateParameterDateTimePickerControlPtrOutput { + return o +} + +func (o TemplateParameterDateTimePickerControlPtrOutput) ToTemplateParameterDateTimePickerControlPtrOutputWithContext(ctx context.Context) TemplateParameterDateTimePickerControlPtrOutput { + return o +} + +func (o TemplateParameterDateTimePickerControlPtrOutput) Elem() TemplateParameterDateTimePickerControlOutput { + return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) TemplateParameterDateTimePickerControl { + if v != nil { + return *v + } + var ret TemplateParameterDateTimePickerControl + return ret + }).(TemplateParameterDateTimePickerControlOutput) +} + +// The display options of a control. +func (o TemplateParameterDateTimePickerControlPtrOutput) DisplayOptions() TemplateDateTimePickerControlDisplayOptionsPtrOutput { + return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *TemplateDateTimePickerControlDisplayOptions { + if v == nil { + return nil + } + return v.DisplayOptions + }).(TemplateDateTimePickerControlDisplayOptionsPtrOutput) +} + +// The ID of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlPtrOutput) ParameterControlId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { + if v == nil { + return nil + } + return &v.ParameterControlId + }).(pulumi.StringPtrOutput) +} + +// The name of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlPtrOutput) SourceParameterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { + if v == nil { + return nil + } + return &v.SourceParameterName + }).(pulumi.StringPtrOutput) +} + +// The title of the `ParameterDateTimePickerControl` . +func (o TemplateParameterDateTimePickerControlPtrOutput) Title() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TemplateParameterDateTimePickerControl) *string { + if v == nil { + return nil + } + return &v.Title + }).(pulumi.StringPtrOutput) +} + +type TemplateParameterDeclaration struct { + // A parameter declaration for the `DateTime` data type. + DateTimeParameterDeclaration *TemplateDateTimeParameterDeclaration `pulumi:"dateTimeParameterDeclaration"` + // A parameter declaration for the `Decimal` data type. + DecimalParameterDeclaration *TemplateDecimalParameterDeclaration `pulumi:"decimalParameterDeclaration"` + // A parameter declaration for the `Integer` data type. + IntegerParameterDeclaration *TemplateIntegerParameterDeclaration `pulumi:"integerParameterDeclaration"` + // A parameter declaration for the `String` data type. + StringParameterDeclaration *TemplateStringParameterDeclaration `pulumi:"stringParameterDeclaration"` +} + +// TemplateParameterDeclarationInput is an input type that accepts TemplateParameterDeclarationArgs and TemplateParameterDeclarationOutput values. +// You can construct a concrete instance of `TemplateParameterDeclarationInput` via: +// +// TemplateParameterDeclarationArgs{...} +type TemplateParameterDeclarationInput interface { + pulumi.Input + + ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput + ToTemplateParameterDeclarationOutputWithContext(context.Context) TemplateParameterDeclarationOutput +} + +type TemplateParameterDeclarationArgs struct { + // A parameter declaration for the `DateTime` data type. + DateTimeParameterDeclaration TemplateDateTimeParameterDeclarationPtrInput `pulumi:"dateTimeParameterDeclaration"` + // A parameter declaration for the `Decimal` data type. + DecimalParameterDeclaration TemplateDecimalParameterDeclarationPtrInput `pulumi:"decimalParameterDeclaration"` + // A parameter declaration for the `Integer` data type. + IntegerParameterDeclaration TemplateIntegerParameterDeclarationPtrInput `pulumi:"integerParameterDeclaration"` + // A parameter declaration for the `String` data type. + StringParameterDeclaration TemplateStringParameterDeclarationPtrInput `pulumi:"stringParameterDeclaration"` +} + +func (TemplateParameterDeclarationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateParameterDeclaration)(nil)).Elem() +} + +func (i TemplateParameterDeclarationArgs) ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput { + return i.ToTemplateParameterDeclarationOutputWithContext(context.Background()) +} + +func (i TemplateParameterDeclarationArgs) ToTemplateParameterDeclarationOutputWithContext(ctx context.Context) TemplateParameterDeclarationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDeclarationOutput) +} + +// TemplateParameterDeclarationArrayInput is an input type that accepts TemplateParameterDeclarationArray and TemplateParameterDeclarationArrayOutput values. +// You can construct a concrete instance of `TemplateParameterDeclarationArrayInput` via: +// +// TemplateParameterDeclarationArray{ TemplateParameterDeclarationArgs{...} } +type TemplateParameterDeclarationArrayInput interface { + pulumi.Input + + ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput + ToTemplateParameterDeclarationArrayOutputWithContext(context.Context) TemplateParameterDeclarationArrayOutput +} + +type TemplateParameterDeclarationArray []TemplateParameterDeclarationInput + +func (TemplateParameterDeclarationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TemplateParameterDeclaration)(nil)).Elem() +} + +func (i TemplateParameterDeclarationArray) ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput { + return i.ToTemplateParameterDeclarationArrayOutputWithContext(context.Background()) +} + +func (i TemplateParameterDeclarationArray) ToTemplateParameterDeclarationArrayOutputWithContext(ctx context.Context) TemplateParameterDeclarationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TemplateParameterDeclarationArrayOutput) +} + +type TemplateParameterDeclarationOutput struct{ *pulumi.OutputState } + +func (TemplateParameterDeclarationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TemplateParameterDeclaration)(nil)).Elem() +} + +func (o TemplateParameterDeclarationOutput) ToTemplateParameterDeclarationOutput() TemplateParameterDeclarationOutput { + return o +} + +func (o TemplateParameterDeclarationOutput) ToTemplateParameterDeclarationOutputWithContext(ctx context.Context) TemplateParameterDeclarationOutput { + return o +} + +// A parameter declaration for the `DateTime` data type. +func (o TemplateParameterDeclarationOutput) DateTimeParameterDeclaration() TemplateDateTimeParameterDeclarationPtrOutput { + return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateDateTimeParameterDeclaration { + return v.DateTimeParameterDeclaration + }).(TemplateDateTimeParameterDeclarationPtrOutput) +} + +// A parameter declaration for the `Decimal` data type. +func (o TemplateParameterDeclarationOutput) DecimalParameterDeclaration() TemplateDecimalParameterDeclarationPtrOutput { + return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateDecimalParameterDeclaration { + return v.DecimalParameterDeclaration + }).(TemplateDecimalParameterDeclarationPtrOutput) +} + +// A parameter declaration for the `Integer` data type. +func (o TemplateParameterDeclarationOutput) IntegerParameterDeclaration() TemplateIntegerParameterDeclarationPtrOutput { + return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateIntegerParameterDeclaration { + return v.IntegerParameterDeclaration + }).(TemplateIntegerParameterDeclarationPtrOutput) +} + +// A parameter declaration for the `String` data type. +func (o TemplateParameterDeclarationOutput) StringParameterDeclaration() TemplateStringParameterDeclarationPtrOutput { + return o.ApplyT(func(v TemplateParameterDeclaration) *TemplateStringParameterDeclaration { + return v.StringParameterDeclaration + }).(TemplateStringParameterDeclarationPtrOutput) +} + +type TemplateParameterDeclarationArrayOutput struct{ *pulumi.OutputState } + +func (TemplateParameterDeclarationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TemplateParameterDeclaration)(nil)).Elem() +} + +func (o TemplateParameterDeclarationArrayOutput) ToTemplateParameterDeclarationArrayOutput() TemplateParameterDeclarationArrayOutput { + return o +} + +func (o TemplateParameterDeclarationArrayOutput) ToTemplateParameterDeclarationArrayOutputWithContext(ctx context.Context) TemplateParameterDeclarationArrayOutput { + return o +} + +func (o TemplateParameterDeclarationArrayOutput) Index(i pulumi.IntInput) TemplateParameterDeclarationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TemplateParameterDeclaration { + return vs[0].([]TemplateParameterDeclaration)[vs[1].(int)] + }).(TemplateParameterDeclarationOutput) +} + type TemplateParameterDropDownControl struct { // The values that are displayed in a control can be configured to only show values that are valid based on what's selected in other controls. CascadingControlConfiguration *TemplateCascadingControlConfiguration `pulumi:"cascadingControlConfiguration"` @@ -42391,6 +42719,10 @@ type VpcConnectionTag struct { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDateTimePickerControlInput)(nil)).Elem(), TemplateParameterDateTimePickerControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDateTimePickerControlPtrInput)(nil)).Elem(), TemplateParameterDateTimePickerControlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDeclarationInput)(nil)).Elem(), TemplateParameterDeclarationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDeclarationArrayInput)(nil)).Elem(), TemplateParameterDeclarationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDropDownControlInput)(nil)).Elem(), TemplateParameterDropDownControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterDropDownControlPtrInput)(nil)).Elem(), TemplateParameterDropDownControlArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TemplateParameterListControlInput)(nil)).Elem(), TemplateParameterListControlArgs{}) @@ -42864,6 +43196,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*TopicSemanticTypePtrInput)(nil)).Elem(), TopicSemanticTypeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*TopicSingularFilterConstantPtrInput)(nil)).Elem(), TopicSingularFilterConstantArgs{}) + pulumi.RegisterOutputType(TemplateParameterDateTimePickerControlOutput{}) + pulumi.RegisterOutputType(TemplateParameterDateTimePickerControlPtrOutput{}) + pulumi.RegisterOutputType(TemplateParameterDeclarationOutput{}) + pulumi.RegisterOutputType(TemplateParameterDeclarationArrayOutput{}) pulumi.RegisterOutputType(TemplateParameterDropDownControlOutput{}) pulumi.RegisterOutputType(TemplateParameterDropDownControlPtrOutput{}) pulumi.RegisterOutputType(TemplateParameterListControlOutput{}) diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index b945e62741..08756e0e7a 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -1239,9 +1239,8 @@ type AppTag struct { // Details of an instance group in a SageMaker HyperPod cluster. type ClusterInstanceGroup struct { // The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. - CurrentCount *int `pulumi:"currentCount"` - CustomMetadata interface{} `pulumi:"customMetadata"` - ExecutionRole string `pulumi:"executionRole"` + CurrentCount *int `pulumi:"currentCount"` + ExecutionRole string `pulumi:"executionRole"` // The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. InstanceCount int `pulumi:"instanceCount"` InstanceGroupName string `pulumi:"instanceGroupName"` @@ -1268,9 +1267,8 @@ type ClusterInstanceGroupInput interface { // Details of an instance group in a SageMaker HyperPod cluster. type ClusterInstanceGroupArgs struct { // The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. - CurrentCount pulumi.IntPtrInput `pulumi:"currentCount"` - CustomMetadata pulumi.Input `pulumi:"customMetadata"` - ExecutionRole pulumi.StringInput `pulumi:"executionRole"` + CurrentCount pulumi.IntPtrInput `pulumi:"currentCount"` + ExecutionRole pulumi.StringInput `pulumi:"executionRole"` // The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. InstanceCount pulumi.IntInput `pulumi:"instanceCount"` InstanceGroupName pulumi.StringInput `pulumi:"instanceGroupName"` @@ -1340,10 +1338,6 @@ func (o ClusterInstanceGroupOutput) CurrentCount() pulumi.IntPtrOutput { return o.ApplyT(func(v ClusterInstanceGroup) *int { return v.CurrentCount }).(pulumi.IntPtrOutput) } -func (o ClusterInstanceGroupOutput) CustomMetadata() pulumi.AnyOutput { - return o.ApplyT(func(v ClusterInstanceGroup) interface{} { return v.CustomMetadata }).(pulumi.AnyOutput) -} - func (o ClusterInstanceGroupOutput) ExecutionRole() pulumi.StringOutput { return o.ApplyT(func(v ClusterInstanceGroup) string { return v.ExecutionRole }).(pulumi.StringOutput) } diff --git a/sdk/nodejs/cleanrooms/getIdMappingTable.ts b/sdk/nodejs/cleanrooms/getIdMappingTable.ts index c3983a1964..cfef28ca84 100644 --- a/sdk/nodejs/cleanrooms/getIdMappingTable.ts +++ b/sdk/nodejs/cleanrooms/getIdMappingTable.ts @@ -19,6 +19,9 @@ export function getIdMappingTable(args: GetIdMappingTableArgs, opts?: pulumi.Inv } export interface GetIdMappingTableArgs { + /** + * The unique identifier of the ID mapping table identifier that you want to retrieve. + */ idMappingTableIdentifier: string; /** * The unique identifier of the membership resource for the ID mapping table. @@ -35,11 +38,17 @@ export interface GetIdMappingTableResult { * The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. */ readonly collaborationArn?: string; + /** + * The unique identifier of the collaboration that contains this ID mapping table. + */ readonly collaborationIdentifier?: string; /** * The description of the ID mapping table. */ readonly description?: string; + /** + * The unique identifier of the ID mapping table identifier that you want to retrieve. + */ readonly idMappingTableIdentifier?: string; readonly inputReferenceProperties?: outputs.cleanrooms.IdMappingTableInputReferenceProperties; /** @@ -67,6 +76,9 @@ export function getIdMappingTableOutput(args: GetIdMappingTableOutputArgs, opts? } export interface GetIdMappingTableOutputArgs { + /** + * The unique identifier of the ID mapping table identifier that you want to retrieve. + */ idMappingTableIdentifier: pulumi.Input; /** * The unique identifier of the membership resource for the ID mapping table. diff --git a/sdk/nodejs/cleanrooms/getIdNamespaceAssociation.ts b/sdk/nodejs/cleanrooms/getIdNamespaceAssociation.ts index ae6bf34641..1def1f5807 100644 --- a/sdk/nodejs/cleanrooms/getIdNamespaceAssociation.ts +++ b/sdk/nodejs/cleanrooms/getIdNamespaceAssociation.ts @@ -19,6 +19,9 @@ export function getIdNamespaceAssociation(args: GetIdNamespaceAssociationArgs, o } export interface GetIdNamespaceAssociationArgs { + /** + * The unique identifier of the ID namespace association that you want to retrieve. + */ idNamespaceAssociationIdentifier: string; /** * The unique identifier of the membership that contains the ID namespace association. @@ -35,6 +38,9 @@ export interface GetIdNamespaceAssociationResult { * The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. */ readonly collaborationArn?: string; + /** + * The unique identifier of the collaboration that contains this ID namespace association. + */ readonly collaborationIdentifier?: string; /** * The description of the ID namespace association. @@ -44,6 +50,9 @@ export interface GetIdNamespaceAssociationResult { * The configuration settings for the ID mapping table. */ readonly idMappingConfig?: outputs.cleanrooms.IdNamespaceAssociationIdMappingConfig; + /** + * The unique identifier of the ID namespace association that you want to retrieve. + */ readonly idNamespaceAssociationIdentifier?: string; readonly inputReferenceProperties?: outputs.cleanrooms.IdNamespaceAssociationInputReferenceProperties; /** @@ -71,6 +80,9 @@ export function getIdNamespaceAssociationOutput(args: GetIdNamespaceAssociationO } export interface GetIdNamespaceAssociationOutputArgs { + /** + * The unique identifier of the ID namespace association that you want to retrieve. + */ idNamespaceAssociationIdentifier: pulumi.Input; /** * The unique identifier of the membership that contains the ID namespace association. diff --git a/sdk/nodejs/cleanrooms/idMappingTable.ts b/sdk/nodejs/cleanrooms/idMappingTable.ts index fe18777031..e0eb35b1a5 100644 --- a/sdk/nodejs/cleanrooms/idMappingTable.ts +++ b/sdk/nodejs/cleanrooms/idMappingTable.ts @@ -45,11 +45,17 @@ export class IdMappingTable extends pulumi.CustomResource { * The Amazon Resource Name (ARN) of the collaboration that contains this ID mapping table. */ public /*out*/ readonly collaborationArn!: pulumi.Output; + /** + * The unique identifier of the collaboration that contains this ID mapping table. + */ public /*out*/ readonly collaborationIdentifier!: pulumi.Output; /** * The description of the ID mapping table. */ public readonly description!: pulumi.Output; + /** + * The unique identifier of the ID mapping table identifier that you want to retrieve. + */ public /*out*/ readonly idMappingTableIdentifier!: pulumi.Output; /** * The input reference configuration for the ID mapping table. diff --git a/sdk/nodejs/cleanrooms/idNamespaceAssociation.ts b/sdk/nodejs/cleanrooms/idNamespaceAssociation.ts index 7b1c894529..c97f73241e 100644 --- a/sdk/nodejs/cleanrooms/idNamespaceAssociation.ts +++ b/sdk/nodejs/cleanrooms/idNamespaceAssociation.ts @@ -45,6 +45,9 @@ export class IdNamespaceAssociation extends pulumi.CustomResource { * The Amazon Resource Name (ARN) of the collaboration that contains this ID namespace association. */ public /*out*/ readonly collaborationArn!: pulumi.Output; + /** + * The unique identifier of the collaboration that contains this ID namespace association. + */ public /*out*/ readonly collaborationIdentifier!: pulumi.Output; /** * The description of the ID namespace association. @@ -54,6 +57,9 @@ export class IdNamespaceAssociation extends pulumi.CustomResource { * The configuration settings for the ID mapping table. */ public readonly idMappingConfig!: pulumi.Output; + /** + * The unique identifier of the ID namespace association that you want to retrieve. + */ public /*out*/ readonly idNamespaceAssociationIdentifier!: pulumi.Output; /** * The input reference configuration for the ID namespace association. diff --git a/sdk/nodejs/cognito/getUserPool.ts b/sdk/nodejs/cognito/getUserPool.ts index fcf25fab1e..7a99224d04 100644 --- a/sdk/nodejs/cognito/getUserPool.ts +++ b/sdk/nodejs/cognito/getUserPool.ts @@ -124,9 +124,9 @@ export interface GetUserPoolResult { */ readonly userAttributeUpdateSettings?: outputs.cognito.UserPoolUserAttributeUpdateSettings; /** - * User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + * User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . * - * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . */ readonly userPoolAddOns?: outputs.cognito.UserPoolAddOns; /** diff --git a/sdk/nodejs/cognito/getUserPoolClient.ts b/sdk/nodejs/cognito/getUserPoolClient.ts index 860106b214..3470ecbe87 100644 --- a/sdk/nodejs/cognito/getUserPoolClient.ts +++ b/sdk/nodejs/cognito/getUserPoolClient.ts @@ -124,6 +124,8 @@ export interface GetUserPoolClientResult { * Valid values include: * * - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + * + * To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. * - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. * - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. * - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/nodejs/cognito/userPool.ts b/sdk/nodejs/cognito/userPool.ts index 0158ccc7d5..81ec0a8a88 100644 --- a/sdk/nodejs/cognito/userPool.ts +++ b/sdk/nodejs/cognito/userPool.ts @@ -146,9 +146,9 @@ export class UserPool extends pulumi.CustomResource { */ public readonly userAttributeUpdateSettings!: pulumi.Output; /** - * User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + * User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . * - * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . */ public readonly userPoolAddOns!: pulumi.Output; /** @@ -385,9 +385,9 @@ export interface UserPoolArgs { */ userAttributeUpdateSettings?: pulumi.Input; /** - * User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + * User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . * - * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + * For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . */ userPoolAddOns?: pulumi.Input; /** diff --git a/sdk/nodejs/cognito/userPoolClient.ts b/sdk/nodejs/cognito/userPoolClient.ts index a967d1b49f..f6a0f012f8 100644 --- a/sdk/nodejs/cognito/userPoolClient.ts +++ b/sdk/nodejs/cognito/userPoolClient.ts @@ -131,6 +131,8 @@ export class UserPoolClient extends pulumi.CustomResource { * Valid values include: * * - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + * + * To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. * - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. * - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. * - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -379,6 +381,8 @@ export interface UserPoolClientArgs { * Valid values include: * * - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + * + * To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. * - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. * - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. * - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/nodejs/cognito/userPoolUser.ts b/sdk/nodejs/cognito/userPoolUser.ts index aa25f9f7c6..e71c48ab06 100644 --- a/sdk/nodejs/cognito/userPoolUser.ts +++ b/sdk/nodejs/cognito/userPoolUser.ts @@ -42,7 +42,7 @@ export class UserPoolUser extends pulumi.CustomResource { * * You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. * - * For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + * For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . * * > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: * > @@ -151,7 +151,7 @@ export interface UserPoolUserArgs { * * You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. * - * For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + * For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . * * > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: * > diff --git a/sdk/nodejs/databrew/dataset.ts b/sdk/nodejs/databrew/dataset.ts index 0a64ace485..e87b81b8f3 100644 --- a/sdk/nodejs/databrew/dataset.ts +++ b/sdk/nodejs/databrew/dataset.ts @@ -85,6 +85,10 @@ export class Dataset extends pulumi.CustomResource { * PathOptions */ public readonly pathOptions!: pulumi.Output; + /** + * Source type of the dataset + */ + public readonly source!: pulumi.Output; /** * Metadata tags that have been applied to the dataset. */ @@ -109,6 +113,7 @@ export class Dataset extends pulumi.CustomResource { resourceInputs["input"] = args ? args.input : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["pathOptions"] = args ? args.pathOptions : undefined; + resourceInputs["source"] = args ? args.source : undefined; resourceInputs["tags"] = args ? args.tags : undefined; } else { resourceInputs["format"] = undefined /*out*/; @@ -116,6 +121,7 @@ export class Dataset extends pulumi.CustomResource { resourceInputs["input"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["pathOptions"] = undefined /*out*/; + resourceInputs["source"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -149,6 +155,10 @@ export interface DatasetArgs { * PathOptions */ pathOptions?: pulumi.Input; + /** + * Source type of the dataset + */ + source?: pulumi.Input; /** * Metadata tags that have been applied to the dataset. */ diff --git a/sdk/nodejs/databrew/getDataset.ts b/sdk/nodejs/databrew/getDataset.ts index 288858d51e..6a8471e7c2 100644 --- a/sdk/nodejs/databrew/getDataset.ts +++ b/sdk/nodejs/databrew/getDataset.ts @@ -41,6 +41,10 @@ export interface GetDatasetResult { * PathOptions */ readonly pathOptions?: outputs.databrew.DatasetPathOptions; + /** + * Source type of the dataset + */ + readonly source?: enums.databrew.DatasetSource; } /** * Resource schema for AWS::DataBrew::Dataset. diff --git a/sdk/nodejs/datazone/subscriptionTarget.ts b/sdk/nodejs/datazone/subscriptionTarget.ts index 1eb284ada9..2f595fbfb9 100644 --- a/sdk/nodejs/datazone/subscriptionTarget.ts +++ b/sdk/nodejs/datazone/subscriptionTarget.ts @@ -76,7 +76,7 @@ export class SubscriptionTarget extends pulumi.CustomResource { /** * The manage access role that is used to create the subscription target. */ - public readonly manageAccessRole!: pulumi.Output; + public readonly manageAccessRole!: pulumi.Output; /** * The name of the subscription target. */ @@ -129,9 +129,6 @@ export class SubscriptionTarget extends pulumi.CustomResource { if ((!args || args.environmentIdentifier === undefined) && !opts.urn) { throw new Error("Missing required property 'environmentIdentifier'"); } - if ((!args || args.manageAccessRole === undefined) && !opts.urn) { - throw new Error("Missing required property 'manageAccessRole'"); - } if ((!args || args.subscriptionTargetConfig === undefined) && !opts.urn) { throw new Error("Missing required property 'subscriptionTargetConfig'"); } @@ -204,7 +201,7 @@ export interface SubscriptionTargetArgs { /** * The manage access role that is used to create the subscription target. */ - manageAccessRole: pulumi.Input; + manageAccessRole?: pulumi.Input; /** * The name of the subscription target. */ diff --git a/sdk/nodejs/ec2/getNetworkAcl.ts b/sdk/nodejs/ec2/getNetworkAcl.ts index cd8b0179fa..4ce04c26fa 100644 --- a/sdk/nodejs/ec2/getNetworkAcl.ts +++ b/sdk/nodejs/ec2/getNetworkAcl.ts @@ -9,6 +9,7 @@ import * as utilities from "../utilities"; /** * Specifies a network ACL for your VPC. + * To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). */ export function getNetworkAcl(args: GetNetworkAclArgs, opts?: pulumi.InvokeOptions): Promise { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); @@ -36,6 +37,7 @@ export interface GetNetworkAclResult { } /** * Specifies a network ACL for your VPC. + * To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). */ export function getNetworkAclOutput(args: GetNetworkAclOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); diff --git a/sdk/nodejs/ec2/getVpcEndpoint.ts b/sdk/nodejs/ec2/getVpcEndpoint.ts index 29262e0c36..657037268c 100644 --- a/sdk/nodejs/ec2/getVpcEndpoint.ts +++ b/sdk/nodejs/ec2/getVpcEndpoint.ts @@ -82,6 +82,7 @@ export interface GetVpcEndpointResult { * The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. */ readonly subnetIds?: string[]; + readonly tags?: outputs.Tag[]; } /** * Specifies a VPC endpoint. A VPC endpoint provides a private connection between your VPC and an endpoint service. You can use an endpoint service provided by AWS , an AWS Marketplace Partner, or another AWS accounts in your organization. For more information, see the [AWS PrivateLink User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/) . diff --git a/sdk/nodejs/ec2/networkAcl.ts b/sdk/nodejs/ec2/networkAcl.ts index 455d12e259..421d44103c 100644 --- a/sdk/nodejs/ec2/networkAcl.ts +++ b/sdk/nodejs/ec2/networkAcl.ts @@ -9,6 +9,7 @@ import * as utilities from "../utilities"; /** * Specifies a network ACL for your VPC. + * To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). */ export class NetworkAcl extends pulumi.CustomResource { /** diff --git a/sdk/nodejs/ec2/vpcEndpoint.ts b/sdk/nodejs/ec2/vpcEndpoint.ts index d32af714a0..e77d499319 100644 --- a/sdk/nodejs/ec2/vpcEndpoint.ts +++ b/sdk/nodejs/ec2/vpcEndpoint.ts @@ -100,6 +100,7 @@ export class VpcEndpoint extends pulumi.CustomResource { * The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. */ public readonly subnetIds!: pulumi.Output; + public readonly tags!: pulumi.Output; /** * The type of endpoint. * Default: Gateway @@ -134,6 +135,7 @@ export class VpcEndpoint extends pulumi.CustomResource { resourceInputs["serviceName"] = args ? args.serviceName : undefined; resourceInputs["serviceNetworkArn"] = args ? args.serviceNetworkArn : undefined; resourceInputs["subnetIds"] = args ? args.subnetIds : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpcEndpointType"] = args ? args.vpcEndpointType : undefined; resourceInputs["vpcId"] = args ? args.vpcId : undefined; resourceInputs["awsId"] = undefined /*out*/; @@ -155,6 +157,7 @@ export class VpcEndpoint extends pulumi.CustomResource { resourceInputs["serviceName"] = undefined /*out*/; resourceInputs["serviceNetworkArn"] = undefined /*out*/; resourceInputs["subnetIds"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; resourceInputs["vpcEndpointType"] = undefined /*out*/; resourceInputs["vpcId"] = undefined /*out*/; } @@ -204,6 +207,7 @@ export interface VpcEndpointArgs { * The IDs of the subnets in which to create endpoint network interfaces. You must specify this property for an interface endpoint or a Gateway Load Balancer endpoint. You can't specify this property for a gateway endpoint. For a Gateway Load Balancer endpoint, you can specify only one subnet. */ subnetIds?: pulumi.Input[]>; + tags?: pulumi.Input[]>; /** * The type of endpoint. * Default: Gateway diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 2f0891a8f2..84c674e746 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -223,6 +223,7 @@ import * as panorama from "./panorama"; import * as paymentcryptography from "./paymentcryptography"; import * as pcaconnectorad from "./pcaconnectorad"; import * as pcaconnectorscep from "./pcaconnectorscep"; +import * as pcs from "./pcs"; import * as personalize from "./personalize"; import * as pinpoint from "./pinpoint"; import * as pipes from "./pipes"; @@ -447,6 +448,7 @@ export { paymentcryptography, pcaconnectorad, pcaconnectorscep, + pcs, personalize, pinpoint, pipes, diff --git a/sdk/nodejs/pcs/cluster.ts b/sdk/nodejs/pcs/cluster.ts new file mode 100644 index 0000000000..a4c213116c --- /dev/null +++ b/sdk/nodejs/pcs/cluster.ts @@ -0,0 +1,164 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::Cluster resource creates an AWS PCS cluster. + */ +export class Cluster extends pulumi.CustomResource { + /** + * Get an existing Cluster 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): Cluster { + return new Cluster(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:pcs:Cluster'; + + /** + * Returns true if the given object is an instance of Cluster. 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 Cluster { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Cluster.__pulumiType; + } + + /** + * The unique Amazon Resource Name (ARN) of the cluster. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The generated unique ID of the cluster. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The list of endpoints available for interaction with the scheduler. + */ + public /*out*/ readonly endpoints!: pulumi.Output; + /** + * The list of errors that occurred during cluster provisioning. + */ + public /*out*/ readonly errorInfo!: pulumi.Output; + /** + * The name that identifies the cluster. + */ + public readonly name!: pulumi.Output; + /** + * The networking configuration for the cluster's control plane. + */ + public readonly networking!: pulumi.Output; + /** + * The cluster management and job scheduling software associated with the cluster. + */ + public readonly scheduler!: pulumi.Output; + /** + * The size of the cluster. + */ + public readonly size!: pulumi.Output; + /** + * Additional options related to the Slurm scheduler. + */ + public readonly slurmConfiguration!: pulumi.Output; + /** + * The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a Cluster 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: ClusterArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.networking === undefined) && !opts.urn) { + throw new Error("Missing required property 'networking'"); + } + if ((!args || args.scheduler === undefined) && !opts.urn) { + throw new Error("Missing required property 'scheduler'"); + } + if ((!args || args.size === undefined) && !opts.urn) { + throw new Error("Missing required property 'size'"); + } + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["networking"] = args ? args.networking : undefined; + resourceInputs["scheduler"] = args ? args.scheduler : undefined; + resourceInputs["size"] = args ? args.size : undefined; + resourceInputs["slurmConfiguration"] = args ? args.slurmConfiguration : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["endpoints"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["endpoints"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["networking"] = undefined /*out*/; + resourceInputs["scheduler"] = undefined /*out*/; + resourceInputs["size"] = undefined /*out*/; + resourceInputs["slurmConfiguration"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["name", "networking", "scheduler", "size", "slurmConfiguration"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Cluster.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Cluster resource. + */ +export interface ClusterArgs { + /** + * The name that identifies the cluster. + */ + name?: pulumi.Input; + /** + * The networking configuration for the cluster's control plane. + */ + networking: pulumi.Input; + /** + * The cluster management and job scheduling software associated with the cluster. + */ + scheduler: pulumi.Input; + /** + * The size of the cluster. + */ + size: pulumi.Input; + /** + * Additional options related to the Slurm scheduler. + */ + slurmConfiguration?: pulumi.Input; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pcs/computeNodeGroup.ts b/sdk/nodejs/pcs/computeNodeGroup.ts new file mode 100644 index 0000000000..e0a6e7326f --- /dev/null +++ b/sdk/nodejs/pcs/computeNodeGroup.ts @@ -0,0 +1,227 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + */ +export class ComputeNodeGroup extends pulumi.CustomResource { + /** + * Get an existing ComputeNodeGroup 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): ComputeNodeGroup { + return new ComputeNodeGroup(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:pcs:ComputeNodeGroup'; + + /** + * Returns true if the given object is an instance of ComputeNodeGroup. 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 ComputeNodeGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ComputeNodeGroup.__pulumiType; + } + + /** + * The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + */ + public readonly amiId!: pulumi.Output; + /** + * The unique Amazon Resource Name (ARN) of the compute node group. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The generated unique ID of the compute node group. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The ID of the cluster of the compute node group. + */ + public readonly clusterId!: pulumi.Output; + /** + * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + */ + public readonly customLaunchTemplate!: pulumi.Output; + /** + * The list of errors that occurred during compute node group provisioning. + */ + public /*out*/ readonly errorInfo!: pulumi.Output; + /** + * The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + */ + public readonly iamInstanceProfileArn!: pulumi.Output; + /** + * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + */ + public readonly instanceConfigs!: pulumi.Output; + /** + * The name that identifies the compute node group. + */ + public readonly name!: pulumi.Output; + /** + * Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + */ + public readonly purchaseOption!: pulumi.Output; + /** + * Specifies the boundaries of the compute node group auto scaling. + */ + public readonly scalingConfiguration!: pulumi.Output; + /** + * Additional options related to the Slurm scheduler. + */ + public readonly slurmConfiguration!: pulumi.Output; + /** + * Additional configuration when you specify SPOT as the purchase option. + */ + public readonly spotOptions!: pulumi.Output; + /** + * The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + */ + public readonly subnetIds!: pulumi.Output; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a ComputeNodeGroup 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: ComputeNodeGroupArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + if ((!args || args.customLaunchTemplate === undefined) && !opts.urn) { + throw new Error("Missing required property 'customLaunchTemplate'"); + } + if ((!args || args.iamInstanceProfileArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'iamInstanceProfileArn'"); + } + if ((!args || args.instanceConfigs === undefined) && !opts.urn) { + throw new Error("Missing required property 'instanceConfigs'"); + } + if ((!args || args.scalingConfiguration === undefined) && !opts.urn) { + throw new Error("Missing required property 'scalingConfiguration'"); + } + if ((!args || args.subnetIds === undefined) && !opts.urn) { + throw new Error("Missing required property 'subnetIds'"); + } + resourceInputs["amiId"] = args ? args.amiId : undefined; + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["customLaunchTemplate"] = args ? args.customLaunchTemplate : undefined; + resourceInputs["iamInstanceProfileArn"] = args ? args.iamInstanceProfileArn : undefined; + resourceInputs["instanceConfigs"] = args ? args.instanceConfigs : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["purchaseOption"] = args ? args.purchaseOption : undefined; + resourceInputs["scalingConfiguration"] = args ? args.scalingConfiguration : undefined; + resourceInputs["slurmConfiguration"] = args ? args.slurmConfiguration : undefined; + resourceInputs["spotOptions"] = args ? args.spotOptions : undefined; + resourceInputs["subnetIds"] = args ? args.subnetIds : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["amiId"] = undefined /*out*/; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["clusterId"] = undefined /*out*/; + resourceInputs["customLaunchTemplate"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["iamInstanceProfileArn"] = undefined /*out*/; + resourceInputs["instanceConfigs"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["purchaseOption"] = undefined /*out*/; + resourceInputs["scalingConfiguration"] = undefined /*out*/; + resourceInputs["slurmConfiguration"] = undefined /*out*/; + resourceInputs["spotOptions"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["subnetIds"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["clusterId", "instanceConfigs[*]", "name"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(ComputeNodeGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a ComputeNodeGroup resource. + */ +export interface ComputeNodeGroupArgs { + /** + * The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + */ + amiId?: pulumi.Input; + /** + * The ID of the cluster of the compute node group. + */ + clusterId: pulumi.Input; + /** + * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + */ + customLaunchTemplate: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + */ + iamInstanceProfileArn: pulumi.Input; + /** + * A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + */ + instanceConfigs: pulumi.Input[]>; + /** + * The name that identifies the compute node group. + */ + name?: pulumi.Input; + /** + * Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + */ + purchaseOption?: pulumi.Input; + /** + * Specifies the boundaries of the compute node group auto scaling. + */ + scalingConfiguration: pulumi.Input; + /** + * Additional options related to the Slurm scheduler. + */ + slurmConfiguration?: pulumi.Input; + /** + * Additional configuration when you specify SPOT as the purchase option. + */ + spotOptions?: pulumi.Input; + /** + * The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + */ + subnetIds: pulumi.Input[]>; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/pcs/getCluster.ts b/sdk/nodejs/pcs/getCluster.ts new file mode 100644 index 0000000000..0219d9fab0 --- /dev/null +++ b/sdk/nodejs/pcs/getCluster.ts @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::Cluster resource creates an AWS PCS cluster. + */ +export function getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:pcs:getCluster", { + "arn": args.arn, + }, opts); +} + +export interface GetClusterArgs { + /** + * The unique Amazon Resource Name (ARN) of the cluster. + */ + arn: string; +} + +export interface GetClusterResult { + /** + * The unique Amazon Resource Name (ARN) of the cluster. + */ + readonly arn?: string; + /** + * The list of endpoints available for interaction with the scheduler. + */ + readonly endpoints?: outputs.pcs.ClusterEndpoint[]; + /** + * The list of errors that occurred during cluster provisioning. + */ + readonly errorInfo?: outputs.pcs.ClusterErrorInfo[]; + /** + * The generated unique ID of the cluster. + */ + readonly id?: string; + /** + * The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + */ + readonly status?: enums.pcs.ClusterStatus; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + readonly tags?: {[key: string]: string}; +} +/** + * AWS::PCS::Cluster resource creates an AWS PCS cluster. + */ +export function getClusterOutput(args: GetClusterOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:pcs:getCluster", { + "arn": args.arn, + }, opts); +} + +export interface GetClusterOutputArgs { + /** + * The unique Amazon Resource Name (ARN) of the cluster. + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/pcs/getComputeNodeGroup.ts b/sdk/nodejs/pcs/getComputeNodeGroup.ts new file mode 100644 index 0000000000..5a40c72afe --- /dev/null +++ b/sdk/nodejs/pcs/getComputeNodeGroup.ts @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + */ +export function getComputeNodeGroup(args: GetComputeNodeGroupArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:pcs:getComputeNodeGroup", { + "arn": args.arn, + }, opts); +} + +export interface GetComputeNodeGroupArgs { + /** + * The unique Amazon Resource Name (ARN) of the compute node group. + */ + arn: string; +} + +export interface GetComputeNodeGroupResult { + /** + * The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + */ + readonly amiId?: string; + /** + * The unique Amazon Resource Name (ARN) of the compute node group. + */ + readonly arn?: string; + /** + * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + */ + readonly customLaunchTemplate?: outputs.pcs.CustomLaunchTemplateProperties; + /** + * The list of errors that occurred during compute node group provisioning. + */ + readonly errorInfo?: outputs.pcs.ComputeNodeGroupErrorInfo[]; + /** + * The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + */ + readonly iamInstanceProfileArn?: string; + /** + * The generated unique ID of the compute node group. + */ + readonly id?: string; + /** + * Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + */ + readonly purchaseOption?: enums.pcs.ComputeNodeGroupPurchaseOption; + /** + * Specifies the boundaries of the compute node group auto scaling. + */ + readonly scalingConfiguration?: outputs.pcs.ScalingConfigurationProperties; + /** + * Additional options related to the Slurm scheduler. + */ + readonly slurmConfiguration?: outputs.pcs.SlurmConfigurationProperties; + /** + * Additional configuration when you specify SPOT as the purchase option. + */ + readonly spotOptions?: outputs.pcs.SpotOptionsProperties; + /** + * The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + */ + readonly status?: enums.pcs.ComputeNodeGroupStatus; + /** + * The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + */ + readonly subnetIds?: string[]; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + readonly tags?: {[key: string]: string}; +} +/** + * AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + */ +export function getComputeNodeGroupOutput(args: GetComputeNodeGroupOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:pcs:getComputeNodeGroup", { + "arn": args.arn, + }, opts); +} + +export interface GetComputeNodeGroupOutputArgs { + /** + * The unique Amazon Resource Name (ARN) of the compute node group. + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/pcs/getQueue.ts b/sdk/nodejs/pcs/getQueue.ts new file mode 100644 index 0000000000..8011111080 --- /dev/null +++ b/sdk/nodejs/pcs/getQueue.ts @@ -0,0 +1,68 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::Queue resource creates an AWS PCS queue. + */ +export function getQueue(args: GetQueueArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:pcs:getQueue", { + "arn": args.arn, + }, opts); +} + +export interface GetQueueArgs { + /** + * The unique Amazon Resource Name (ARN) of the queue. + */ + arn: string; +} + +export interface GetQueueResult { + /** + * The unique Amazon Resource Name (ARN) of the queue. + */ + readonly arn?: string; + /** + * The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + */ + readonly computeNodeGroupConfigurations?: outputs.pcs.QueueComputeNodeGroupConfiguration[]; + /** + * The list of errors that occurred during queue provisioning. + */ + readonly errorInfo?: outputs.pcs.QueueErrorInfo[]; + /** + * The generated unique ID of the queue. + */ + readonly id?: string; + /** + * The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + */ + readonly status?: enums.pcs.QueueStatus; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + readonly tags?: {[key: string]: string}; +} +/** + * AWS::PCS::Queue resource creates an AWS PCS queue. + */ +export function getQueueOutput(args: GetQueueOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:pcs:getQueue", { + "arn": args.arn, + }, opts); +} + +export interface GetQueueOutputArgs { + /** + * The unique Amazon Resource Name (ARN) of the queue. + */ + arn: pulumi.Input; +} diff --git a/sdk/nodejs/pcs/index.ts b/sdk/nodejs/pcs/index.ts new file mode 100644 index 0000000000..fc1101e22c --- /dev/null +++ b/sdk/nodejs/pcs/index.ts @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +// Export members: +export { ClusterArgs } from "./cluster"; +export type Cluster = import("./cluster").Cluster; +export const Cluster: typeof import("./cluster").Cluster = null as any; +utilities.lazyLoad(exports, ["Cluster"], () => require("./cluster")); + +export { ComputeNodeGroupArgs } from "./computeNodeGroup"; +export type ComputeNodeGroup = import("./computeNodeGroup").ComputeNodeGroup; +export const ComputeNodeGroup: typeof import("./computeNodeGroup").ComputeNodeGroup = null as any; +utilities.lazyLoad(exports, ["ComputeNodeGroup"], () => require("./computeNodeGroup")); + +export { GetClusterArgs, GetClusterResult, GetClusterOutputArgs } from "./getCluster"; +export const getCluster: typeof import("./getCluster").getCluster = null as any; +export const getClusterOutput: typeof import("./getCluster").getClusterOutput = null as any; +utilities.lazyLoad(exports, ["getCluster","getClusterOutput"], () => require("./getCluster")); + +export { GetComputeNodeGroupArgs, GetComputeNodeGroupResult, GetComputeNodeGroupOutputArgs } from "./getComputeNodeGroup"; +export const getComputeNodeGroup: typeof import("./getComputeNodeGroup").getComputeNodeGroup = null as any; +export const getComputeNodeGroupOutput: typeof import("./getComputeNodeGroup").getComputeNodeGroupOutput = null as any; +utilities.lazyLoad(exports, ["getComputeNodeGroup","getComputeNodeGroupOutput"], () => require("./getComputeNodeGroup")); + +export { GetQueueArgs, GetQueueResult, GetQueueOutputArgs } from "./getQueue"; +export const getQueue: typeof import("./getQueue").getQueue = null as any; +export const getQueueOutput: typeof import("./getQueue").getQueueOutput = null as any; +utilities.lazyLoad(exports, ["getQueue","getQueueOutput"], () => require("./getQueue")); + +export { QueueArgs } from "./queue"; +export type Queue = import("./queue").Queue; +export const Queue: typeof import("./queue").Queue = null as any; +utilities.lazyLoad(exports, ["Queue"], () => require("./queue")); + + +// Export enums: +export * from "../types/enums/pcs"; + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws-native:pcs:Cluster": + return new Cluster(name, undefined, { urn }) + case "aws-native:pcs:ComputeNodeGroup": + return new ComputeNodeGroup(name, undefined, { urn }) + case "aws-native:pcs:Queue": + return new Queue(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws-native", "pcs", _module) diff --git a/sdk/nodejs/pcs/queue.ts b/sdk/nodejs/pcs/queue.ts new file mode 100644 index 0000000000..b53955f301 --- /dev/null +++ b/sdk/nodejs/pcs/queue.ts @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * AWS::PCS::Queue resource creates an AWS PCS queue. + */ +export class Queue extends pulumi.CustomResource { + /** + * Get an existing Queue 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): Queue { + return new Queue(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:pcs:Queue'; + + /** + * Returns true if the given object is an instance of Queue. 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 Queue { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Queue.__pulumiType; + } + + /** + * The unique Amazon Resource Name (ARN) of the queue. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The generated unique ID of the queue. + */ + public /*out*/ readonly awsId!: pulumi.Output; + /** + * The ID of the cluster of the queue. + */ + public readonly clusterId!: pulumi.Output; + /** + * The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + */ + public readonly computeNodeGroupConfigurations!: pulumi.Output; + /** + * The list of errors that occurred during queue provisioning. + */ + public /*out*/ readonly errorInfo!: pulumi.Output; + /** + * The name that identifies the queue. + */ + public readonly name!: pulumi.Output; + /** + * The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + + /** + * Create a Queue 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: QueueArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.clusterId === undefined) && !opts.urn) { + throw new Error("Missing required property 'clusterId'"); + } + resourceInputs["clusterId"] = args ? args.clusterId : undefined; + resourceInputs["computeNodeGroupConfigurations"] = args ? args.computeNodeGroupConfigurations : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsId"] = undefined /*out*/; + resourceInputs["clusterId"] = undefined /*out*/; + resourceInputs["computeNodeGroupConfigurations"] = undefined /*out*/; + resourceInputs["errorInfo"] = undefined /*out*/; + resourceInputs["name"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["clusterId", "name"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(Queue.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a Queue resource. + */ +export interface QueueArgs { + /** + * The ID of the cluster of the queue. + */ + clusterId: pulumi.Input; + /** + * The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + */ + computeNodeGroupConfigurations?: pulumi.Input[]>; + /** + * The name that identifies the queue. + */ + name?: pulumi.Input; + /** + * 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/quicksight/customPermissions.ts b/sdk/nodejs/quicksight/customPermissions.ts new file mode 100644 index 0000000000..12cb42a533 --- /dev/null +++ b/sdk/nodejs/quicksight/customPermissions.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of the AWS::QuickSight::CustomPermissions Resource Type. + */ +export class CustomPermissions extends pulumi.CustomResource { + /** + * Get an existing CustomPermissions 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): CustomPermissions { + return new CustomPermissions(name, undefined as any, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws-native:quicksight:CustomPermissions'; + + /** + * Returns true if the given object is an instance of CustomPermissions. 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 CustomPermissions { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CustomPermissions.__pulumiType; + } + + public /*out*/ readonly arn!: pulumi.Output; + public readonly awsAccountId!: pulumi.Output; + public readonly capabilities!: pulumi.Output; + public readonly customPermissionsName!: pulumi.Output; + public readonly tags!: pulumi.Output; + + /** + * Create a CustomPermissions 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: CustomPermissionsArgs, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (!opts.id) { + if ((!args || args.awsAccountId === undefined) && !opts.urn) { + throw new Error("Missing required property 'awsAccountId'"); + } + resourceInputs["awsAccountId"] = args ? args.awsAccountId : undefined; + resourceInputs["capabilities"] = args ? args.capabilities : undefined; + resourceInputs["customPermissionsName"] = args ? args.customPermissionsName : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + } else { + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["awsAccountId"] = undefined /*out*/; + resourceInputs["capabilities"] = undefined /*out*/; + resourceInputs["customPermissionsName"] = undefined /*out*/; + resourceInputs["tags"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const replaceOnChanges = { replaceOnChanges: ["awsAccountId", "customPermissionsName"] }; + opts = pulumi.mergeOptions(opts, replaceOnChanges); + super(CustomPermissions.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * The set of arguments for constructing a CustomPermissions resource. + */ +export interface CustomPermissionsArgs { + awsAccountId: pulumi.Input; + capabilities?: pulumi.Input; + customPermissionsName?: pulumi.Input; + tags?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/quicksight/getCustomPermissions.ts b/sdk/nodejs/quicksight/getCustomPermissions.ts new file mode 100644 index 0000000000..e96f76b094 --- /dev/null +++ b/sdk/nodejs/quicksight/getCustomPermissions.ts @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** 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"; + +/** + * Definition of the AWS::QuickSight::CustomPermissions Resource Type. + */ +export function getCustomPermissions(args: GetCustomPermissionsArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws-native:quicksight:getCustomPermissions", { + "awsAccountId": args.awsAccountId, + "customPermissionsName": args.customPermissionsName, + }, opts); +} + +export interface GetCustomPermissionsArgs { + awsAccountId: string; + customPermissionsName: string; +} + +export interface GetCustomPermissionsResult { + readonly arn?: string; + readonly capabilities?: outputs.quicksight.CustomPermissionsCapabilities; + readonly tags?: outputs.Tag[]; +} +/** + * Definition of the AWS::QuickSight::CustomPermissions Resource Type. + */ +export function getCustomPermissionsOutput(args: GetCustomPermissionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("aws-native:quicksight:getCustomPermissions", { + "awsAccountId": args.awsAccountId, + "customPermissionsName": args.customPermissionsName, + }, opts); +} + +export interface GetCustomPermissionsOutputArgs { + awsAccountId: pulumi.Input; + customPermissionsName: pulumi.Input; +} diff --git a/sdk/nodejs/quicksight/index.ts b/sdk/nodejs/quicksight/index.ts index 5911568bde..c14cab2568 100644 --- a/sdk/nodejs/quicksight/index.ts +++ b/sdk/nodejs/quicksight/index.ts @@ -10,6 +10,11 @@ export type Analysis = import("./analysis").Analysis; export const Analysis: typeof import("./analysis").Analysis = null as any; utilities.lazyLoad(exports, ["Analysis"], () => require("./analysis")); +export { CustomPermissionsArgs } from "./customPermissions"; +export type CustomPermissions = import("./customPermissions").CustomPermissions; +export const CustomPermissions: typeof import("./customPermissions").CustomPermissions = null as any; +utilities.lazyLoad(exports, ["CustomPermissions"], () => require("./customPermissions")); + export { DashboardArgs } from "./dashboard"; export type Dashboard = import("./dashboard").Dashboard; export const Dashboard: typeof import("./dashboard").Dashboard = null as any; @@ -35,6 +40,11 @@ export const getAnalysis: typeof import("./getAnalysis").getAnalysis = null as a export const getAnalysisOutput: typeof import("./getAnalysis").getAnalysisOutput = null as any; utilities.lazyLoad(exports, ["getAnalysis","getAnalysisOutput"], () => require("./getAnalysis")); +export { GetCustomPermissionsArgs, GetCustomPermissionsResult, GetCustomPermissionsOutputArgs } from "./getCustomPermissions"; +export const getCustomPermissions: typeof import("./getCustomPermissions").getCustomPermissions = null as any; +export const getCustomPermissionsOutput: typeof import("./getCustomPermissions").getCustomPermissionsOutput = null as any; +utilities.lazyLoad(exports, ["getCustomPermissions","getCustomPermissionsOutput"], () => require("./getCustomPermissions")); + export { GetDashboardArgs, GetDashboardResult, GetDashboardOutputArgs } from "./getDashboard"; export const getDashboard: typeof import("./getDashboard").getDashboard = null as any; export const getDashboardOutput: typeof import("./getDashboard").getDashboardOutput = null as any; @@ -110,6 +120,8 @@ const _module = { switch (type) { case "aws-native:quicksight:Analysis": return new Analysis(name, undefined, { urn }) + case "aws-native:quicksight:CustomPermissions": + return new CustomPermissions(name, undefined, { urn }) case "aws-native:quicksight:Dashboard": return new Dashboard(name, undefined, { urn }) case "aws-native:quicksight:DataSet": diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 577b299354..792e89c6d9 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -1787,6 +1787,13 @@ "pcaconnectorscep/getChallenge.ts", "pcaconnectorscep/getConnector.ts", "pcaconnectorscep/index.ts", + "pcs/cluster.ts", + "pcs/computeNodeGroup.ts", + "pcs/getCluster.ts", + "pcs/getComputeNodeGroup.ts", + "pcs/getQueue.ts", + "pcs/index.ts", + "pcs/queue.ts", "personalize/dataset.ts", "personalize/datasetGroup.ts", "personalize/getDataset.ts", @@ -1830,11 +1837,13 @@ "qldb/index.ts", "qldb/stream.ts", "quicksight/analysis.ts", + "quicksight/customPermissions.ts", "quicksight/dashboard.ts", "quicksight/dataSet.ts", "quicksight/dataSource.ts", "quicksight/folder.ts", "quicksight/getAnalysis.ts", + "quicksight/getCustomPermissions.ts", "quicksight/getDashboard.ts", "quicksight/getDataSet.ts", "quicksight/getDataSource.ts", @@ -2447,6 +2456,7 @@ "types/enums/paymentcryptography/index.ts", "types/enums/pcaconnectorad/index.ts", "types/enums/pcaconnectorscep/index.ts", + "types/enums/pcs/index.ts", "types/enums/personalize/index.ts", "types/enums/pinpoint/index.ts", "types/enums/pipes/index.ts", diff --git a/sdk/nodejs/types/enums/cloudformation/index.ts b/sdk/nodejs/types/enums/cloudformation/index.ts index c15083da66..b9b7e8ec0c 100644 --- a/sdk/nodejs/types/enums/cloudformation/index.ts +++ b/sdk/nodejs/types/enums/cloudformation/index.ts @@ -56,6 +56,7 @@ export const GuardHookTargetOperation = { Resource: "RESOURCE", Stack: "STACK", ChangeSet: "CHANGE_SET", + CloudControl: "CLOUD_CONTROL", } as const; /** @@ -142,6 +143,7 @@ export const LambdaHookTargetOperation = { Resource: "RESOURCE", Stack: "STACK", ChangeSet: "CHANGE_SET", + CloudControl: "CLOUD_CONTROL", } as const; /** diff --git a/sdk/nodejs/types/enums/databrew/index.ts b/sdk/nodejs/types/enums/databrew/index.ts index 08ddf4badf..0dac373425 100644 --- a/sdk/nodejs/types/enums/databrew/index.ts +++ b/sdk/nodejs/types/enums/databrew/index.ts @@ -45,6 +45,17 @@ export const DatasetParameterType = { */ export type DatasetParameterType = (typeof DatasetParameterType)[keyof typeof DatasetParameterType]; +export const DatasetSource = { + S3: "S3", + DataCatalog: "DATA-CATALOG", + Database: "DATABASE", +} as const; + +/** + * Source type of the dataset + */ +export type DatasetSource = (typeof DatasetSource)[keyof typeof DatasetSource]; + export const JobDatabaseOutputDatabaseOutputMode = { NewTable: "NEW_TABLE", } as const; diff --git a/sdk/nodejs/types/enums/datazone/index.ts b/sdk/nodejs/types/enums/datazone/index.ts index 8aa227c672..5fb97aff26 100644 --- a/sdk/nodejs/types/enums/datazone/index.ts +++ b/sdk/nodejs/types/enums/datazone/index.ts @@ -106,6 +106,9 @@ export type GroupProfileStatus = (typeof GroupProfileStatus)[keyof typeof GroupP export const ProjectMembershipUserDesignation = { ProjectOwner: "PROJECT_OWNER", ProjectContributor: "PROJECT_CONTRIBUTOR", + ProjectCatalogViewer: "PROJECT_CATALOG_VIEWER", + ProjectCatalogConsumer: "PROJECT_CATALOG_CONSUMER", + ProjectCatalogSteward: "PROJECT_CATALOG_STEWARD", } as const; export type ProjectMembershipUserDesignation = (typeof ProjectMembershipUserDesignation)[keyof typeof ProjectMembershipUserDesignation]; diff --git a/sdk/nodejs/types/enums/index.ts b/sdk/nodejs/types/enums/index.ts index ef60f91200..14d69df377 100644 --- a/sdk/nodejs/types/enums/index.ts +++ b/sdk/nodejs/types/enums/index.ts @@ -122,6 +122,7 @@ import * as panorama from "./panorama"; import * as paymentcryptography from "./paymentcryptography"; import * as pcaconnectorad from "./pcaconnectorad"; import * as pcaconnectorscep from "./pcaconnectorscep"; +import * as pcs from "./pcs"; import * as personalize from "./personalize"; import * as pinpoint from "./pinpoint"; import * as pipes from "./pipes"; @@ -296,6 +297,7 @@ export { paymentcryptography, pcaconnectorad, pcaconnectorscep, + pcs, personalize, pinpoint, pipes, diff --git a/sdk/nodejs/types/enums/pcs/index.ts b/sdk/nodejs/types/enums/pcs/index.ts new file mode 100644 index 0000000000..3af5615200 --- /dev/null +++ b/sdk/nodejs/types/enums/pcs/index.ts @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + + +export const ClusterEndpointType = { + Slurmctld: "SLURMCTLD", + Slurmdbd: "SLURMDBD", +} as const; + +/** + * Indicates the type of endpoint running at the specific IP address. + */ +export type ClusterEndpointType = (typeof ClusterEndpointType)[keyof typeof ClusterEndpointType]; + +export const ClusterSchedulerPropertiesType = { + Slurm: "SLURM", +} as const; + +/** + * The software AWS PCS uses to manage cluster scaling and job scheduling. + */ +export type ClusterSchedulerPropertiesType = (typeof ClusterSchedulerPropertiesType)[keyof typeof ClusterSchedulerPropertiesType]; + +export const ClusterSize = { + Small: "SMALL", + Medium: "MEDIUM", + Large: "LARGE", +} as const; + +/** + * The size of the cluster. + */ +export type ClusterSize = (typeof ClusterSize)[keyof typeof ClusterSize]; + +export const ClusterStatus = { + Creating: "CREATING", + Active: "ACTIVE", + Updating: "UPDATING", + Deleting: "DELETING", + CreateFailed: "CREATE_FAILED", + DeleteFailed: "DELETE_FAILED", + UpdateFailed: "UPDATE_FAILED", +} as const; + +/** + * The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + */ +export type ClusterStatus = (typeof ClusterStatus)[keyof typeof ClusterStatus]; + +export const ComputeNodeGroupPurchaseOption = { + Ondemand: "ONDEMAND", + Spot: "SPOT", +} as const; + +/** + * Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + */ +export type ComputeNodeGroupPurchaseOption = (typeof ComputeNodeGroupPurchaseOption)[keyof typeof ComputeNodeGroupPurchaseOption]; + +export const ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy = { + LowestPrice: "lowest-price", + CapacityOptimized: "capacity-optimized", + PriceCapacityOptimized: "price-capacity-optimized", +} as const; + +/** + * The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + */ +export type ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy = (typeof ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy)[keyof typeof ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy]; + +export const ComputeNodeGroupStatus = { + Creating: "CREATING", + Active: "ACTIVE", + Updating: "UPDATING", + Deleting: "DELETING", + CreateFailed: "CREATE_FAILED", + DeleteFailed: "DELETE_FAILED", + UpdateFailed: "UPDATE_FAILED", +} as const; + +/** + * The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + */ +export type ComputeNodeGroupStatus = (typeof ComputeNodeGroupStatus)[keyof typeof ComputeNodeGroupStatus]; + +export const QueueStatus = { + Creating: "CREATING", + Active: "ACTIVE", + Updating: "UPDATING", + Deleting: "DELETING", + CreateFailed: "CREATE_FAILED", + DeleteFailed: "DELETE_FAILED", + UpdateFailed: "UPDATE_FAILED", +} as const; + +/** + * The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + */ +export type QueueStatus = (typeof QueueStatus)[keyof typeof QueueStatus]; diff --git a/sdk/nodejs/types/enums/quicksight/index.ts b/sdk/nodejs/types/enums/quicksight/index.ts index b55710ecaf..5e93923c59 100644 --- a/sdk/nodejs/types/enums/quicksight/index.ts +++ b/sdk/nodejs/types/enums/quicksight/index.ts @@ -1029,6 +1029,12 @@ export const AnalysisWordCloudWordScaling = { export type AnalysisWordCloudWordScaling = (typeof AnalysisWordCloudWordScaling)[keyof typeof AnalysisWordCloudWordScaling]; +export const CustomPermissionsCapabilityState = { + Deny: "DENY", +} as const; + +export type CustomPermissionsCapabilityState = (typeof CustomPermissionsCapabilityState)[keyof typeof CustomPermissionsCapabilityState]; + export const DashboardAnchorOption = { Now: "NOW", } as const; diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 3935fbdb76..874e8fa4aa 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -15928,7 +15928,7 @@ export namespace cognito { /** * The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . * - * Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + * Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. */ passwordHistorySize?: pulumi.Input; /** @@ -15961,7 +15961,7 @@ export namespace cognito { */ passwordPolicy?: pulumi.Input; /** - * The policy for allowed types of authentication in a user pool. + * The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. * * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ @@ -19168,6 +19168,7 @@ export namespace databrew { * The Amazon S3 bucket name. */ bucket: pulumi.Input; + bucketOwner?: pulumi.Input; /** * The unique name of the object in the bucket. */ @@ -21932,6 +21933,10 @@ export namespace ec2 { min?: pulumi.Input; } + export interface Ec2FleetBaselinePerformanceFactorsRequestArgs { + cpu?: pulumi.Input; + } + export interface Ec2FleetCapacityRebalanceArgs { /** * The replacement strategy to use. Only available for fleets of type `maintain` . @@ -21964,6 +21969,10 @@ export namespace ec2 { usageStrategy?: pulumi.Input; } + export interface Ec2FleetCpuPerformanceFactorRequestArgs { + references?: pulumi.Input[]>; + } + export interface Ec2FleetFleetLaunchTemplateConfigRequestArgs { /** * The launch template to use. You must specify either the launch template ID or launch template name in the request. @@ -22136,6 +22145,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: pulumi.Input; + baselinePerformanceFactors?: pulumi.Input; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . * @@ -22376,6 +22386,10 @@ export namespace ec2 { singleInstanceType?: pulumi.Input; } + export interface Ec2FleetPerformanceFactorReferenceRequestArgs { + instanceFamily?: pulumi.Input; + } + export interface Ec2FleetPlacementArgs { /** * The affinity setting for the instance on the Dedicated Host. @@ -24342,6 +24356,10 @@ export namespace ec2 { min?: pulumi.Input; } + export interface SpotFleetBaselinePerformanceFactorsRequestArgs { + cpu?: pulumi.Input; + } + export interface SpotFleetBlockDeviceMappingArgs { /** * The device name (for example, `/dev/sdh` or `xvdh` ). @@ -24379,6 +24397,10 @@ export namespace ec2 { classicLoadBalancers: pulumi.Input[]>; } + export interface SpotFleetCpuPerformanceFactorRequestArgs { + references?: pulumi.Input[]>; + } + export interface SpotFleetEbsBlockDeviceArgs { /** * Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* . @@ -24608,6 +24630,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: pulumi.Input; + baselinePerformanceFactors?: pulumi.Input; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . * @@ -24961,6 +24984,10 @@ export namespace ec2 { min?: pulumi.Input; } + export interface SpotFleetPerformanceFactorReferenceRequestArgs { + instanceFamily?: pulumi.Input; + } + export interface SpotFleetPrivateIpAddressSpecificationArgs { /** * Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. @@ -27763,8 +27790,17 @@ export namespace efs { * For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. */ region?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + */ roleArn?: pulumi.Input; + /** + * Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + */ status?: pulumi.Input; + /** + * Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + */ statusMessage?: pulumi.Input; } } @@ -46281,11 +46317,11 @@ export namespace logs { /** * Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. * - * > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + * > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . */ dashboardViewerPrincipals: pulumi.Input[]>; /** - * Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + * Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. */ dataSourceRoleArn: pulumi.Input; /** @@ -52203,6 +52239,118 @@ export namespace pcaconnectorscep { } +export namespace pcs { + /** + * An EC2 instance configuration AWS PCS uses to launch compute nodes. + */ + export interface ComputeNodeGroupInstanceConfigArgs { + /** + * The EC2 instance type that AWS PCS can provision in the compute node group. + */ + instanceType?: pulumi.Input; + } + + /** + * Additional settings that directly map to Slurm settings. + */ + export interface ComputeNodeGroupSlurmCustomSettingArgs { + /** + * AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + */ + parameterName: pulumi.Input; + /** + * The value for the configured Slurm setting. + */ + parameterValue: pulumi.Input; + } + + /** + * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + */ + export interface CustomLaunchTemplatePropertiesArgs { + /** + * The ID of the EC2 launch template to use to provision instances. + */ + id: pulumi.Input; + /** + * The version of the EC2 launch template to use to provision instances. + */ + version: pulumi.Input; + } + + /** + * The networking configuration for the cluster's control plane. + */ + export interface NetworkingPropertiesArgs { + /** + * The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + */ + securityGroupIds?: pulumi.Input[]>; + /** + * The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + */ + subnetIds?: pulumi.Input[]>; + } + + /** + * The compute node group configuration for a queue. + */ + export interface QueueComputeNodeGroupConfigurationArgs { + /** + * The compute node group ID for the compute node group configuration. + */ + computeNodeGroupId?: pulumi.Input; + } + + /** + * Specifies the boundaries of the compute node group auto scaling. + */ + export interface ScalingConfigurationPropertiesArgs { + /** + * The upper bound of the number of instances allowed in the compute fleet. + */ + maxInstanceCount: pulumi.Input; + /** + * The lower bound of the number of instances allowed in the compute fleet. + */ + minInstanceCount: pulumi.Input; + } + + /** + * The cluster management and job scheduling software associated with the cluster. + */ + export interface SchedulerPropertiesArgs { + /** + * The software AWS PCS uses to manage cluster scaling and job scheduling. + */ + type: pulumi.Input; + /** + * The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + */ + version: pulumi.Input; + } + + /** + * Additional options related to the Slurm scheduler. + */ + export interface SlurmConfigurationPropertiesArgs { + /** + * Additional Slurm-specific configuration that directly maps to Slurm settings. + */ + slurmCustomSettings?: pulumi.Input[]>; + } + + /** + * Additional configuration when you specify SPOT as the purchase option. + */ + export interface SpotOptionsPropertiesArgs { + /** + * The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + */ + allocationStrategy?: pulumi.Input; + } +} + export namespace personalize { /** * Initial DatasetImportJob for the created dataset @@ -62701,6 +62849,26 @@ export namespace quicksight { yAxis: pulumi.Input; } + export interface CustomPermissionsCapabilitiesArgs { + addOrRunAnomalyDetectionForAnalyses?: pulumi.Input; + createAndUpdateDashboardEmailReports?: pulumi.Input; + createAndUpdateDataSources?: pulumi.Input; + createAndUpdateDatasets?: pulumi.Input; + createAndUpdateThemes?: pulumi.Input; + createAndUpdateThresholdAlerts?: pulumi.Input; + createSharedFolders?: pulumi.Input; + createSpiceDataset?: pulumi.Input; + exportToCsv?: pulumi.Input; + exportToExcel?: pulumi.Input; + renameSharedFolders?: pulumi.Input; + shareAnalyses?: pulumi.Input; + shareDashboards?: pulumi.Input; + shareDataSources?: pulumi.Input; + shareDatasets?: pulumi.Input; + subscribeDashboardEmailReports?: pulumi.Input; + viewAccountSpiceCapacity?: pulumi.Input; + } + /** *

An ad hoc (one-time) filtering option.

*/ @@ -85734,7 +85902,6 @@ export namespace sagemaker { * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. */ currentCount?: pulumi.Input; - customMetadata?: any; executionRole: pulumi.Input; /** * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index d9ec5a7d10..f67ae59869 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -16526,7 +16526,7 @@ export namespace cognito { /** * The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . * - * Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + * Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. */ passwordHistorySize?: number; /** @@ -16559,7 +16559,7 @@ export namespace cognito { */ passwordPolicy?: outputs.cognito.UserPoolPasswordPolicy; /** - * The policy for allowed types of authentication in a user pool. + * The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. * * This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . */ @@ -19917,6 +19917,7 @@ export namespace databrew { * The Amazon S3 bucket name. */ bucket: string; + bucketOwner?: string; /** * The unique name of the object in the bucket. */ @@ -22733,6 +22734,10 @@ export namespace ec2 { min?: number; } + export interface Ec2FleetBaselinePerformanceFactorsRequest { + cpu?: outputs.ec2.Ec2FleetCpuPerformanceFactorRequest; + } + export interface Ec2FleetCapacityRebalance { /** * The replacement strategy to use. Only available for fleets of type `maintain` . @@ -22765,6 +22770,10 @@ export namespace ec2 { usageStrategy?: enums.ec2.Ec2FleetCapacityReservationOptionsRequestUsageStrategy; } + export interface Ec2FleetCpuPerformanceFactorRequest { + references?: outputs.ec2.Ec2FleetPerformanceFactorReferenceRequest[]; + } + export interface Ec2FleetFleetLaunchTemplateConfigRequest { /** * The launch template to use. You must specify either the launch template ID or launch template name in the request. @@ -22937,6 +22946,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: outputs.ec2.Ec2FleetBaselineEbsBandwidthMbpsRequest; + baselinePerformanceFactors?: outputs.ec2.Ec2FleetBaselinePerformanceFactorsRequest; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . * @@ -23177,6 +23187,10 @@ export namespace ec2 { singleInstanceType?: boolean; } + export interface Ec2FleetPerformanceFactorReferenceRequest { + instanceFamily?: string; + } + export interface Ec2FleetPlacement { /** * The affinity setting for the instance on the Dedicated Host. @@ -25688,6 +25702,10 @@ export namespace ec2 { min?: number; } + export interface SpotFleetBaselinePerformanceFactorsRequest { + cpu?: outputs.ec2.SpotFleetCpuPerformanceFactorRequest; + } + export interface SpotFleetBlockDeviceMapping { /** * The device name (for example, `/dev/sdh` or `xvdh` ). @@ -25725,6 +25743,10 @@ export namespace ec2 { classicLoadBalancers: outputs.ec2.SpotFleetClassicLoadBalancer[]; } + export interface SpotFleetCpuPerformanceFactorRequest { + references?: outputs.ec2.SpotFleetPerformanceFactorReferenceRequest[]; + } + export interface SpotFleetEbsBlockDevice { /** * Indicates whether the EBS volume is deleted on instance termination. For more information, see [Preserving Amazon EBS volumes on instance termination](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination) in the *Amazon EC2 User Guide* . @@ -25954,6 +25976,7 @@ export namespace ec2 { * Default: No minimum or maximum limits */ baselineEbsBandwidthMbps?: outputs.ec2.SpotFleetBaselineEbsBandwidthMbpsRequest; + baselinePerformanceFactors?: outputs.ec2.SpotFleetBaselinePerformanceFactorsRequest; /** * Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . * @@ -26307,6 +26330,10 @@ export namespace ec2 { min?: number; } + export interface SpotFleetPerformanceFactorReferenceRequest { + instanceFamily?: string; + } + export interface SpotFleetPrivateIpAddressSpecification { /** * Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary. @@ -29120,8 +29147,17 @@ export namespace efs { * For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. */ region?: string; + /** + * The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + */ roleArn?: string; + /** + * Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + */ status?: string; + /** + * Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + */ statusMessage?: string; } @@ -47777,11 +47813,11 @@ export namespace logs { /** * Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. * - * > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + * > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . */ dashboardViewerPrincipals: string[]; /** - * Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + * Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. */ dataSourceRoleArn: string; /** @@ -53970,6 +54006,183 @@ export namespace pcaconnectorscep { } +export namespace pcs { + /** + * An endpoint available for interaction with the scheduler. + */ + export interface ClusterEndpoint { + /** + * The endpoint's connection port number. + */ + port: string; + /** + * The endpoint's private IP address. + */ + privateIpAddress: string; + /** + * The endpoint's public IP address. + */ + publicIpAddress?: string; + /** + * Indicates the type of endpoint running at the specific IP address. + */ + type: enums.pcs.ClusterEndpointType; + } + + /** + * An error that occurred during resource provisioning. + */ + export interface ClusterErrorInfo { + /** + * The short-form error code. + */ + code?: string; + /** + * The detailed error information. + */ + message?: string; + } + + /** + * An error that occurred during resource provisioning. + */ + export interface ComputeNodeGroupErrorInfo { + /** + * The short-form error code. + */ + code?: string; + /** + * The detailed error information. + */ + message?: string; + } + + /** + * An EC2 instance configuration AWS PCS uses to launch compute nodes. + */ + export interface ComputeNodeGroupInstanceConfig { + /** + * The EC2 instance type that AWS PCS can provision in the compute node group. + */ + instanceType?: string; + } + + /** + * Additional settings that directly map to Slurm settings. + */ + export interface ComputeNodeGroupSlurmCustomSetting { + /** + * AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + */ + parameterName: string; + /** + * The value for the configured Slurm setting. + */ + parameterValue: string; + } + + /** + * An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + */ + export interface CustomLaunchTemplateProperties { + /** + * The ID of the EC2 launch template to use to provision instances. + */ + id: string; + /** + * The version of the EC2 launch template to use to provision instances. + */ + version: string; + } + + /** + * The networking configuration for the cluster's control plane. + */ + export interface NetworkingProperties { + /** + * The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + */ + securityGroupIds?: string[]; + /** + * The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + */ + subnetIds?: string[]; + } + + /** + * The compute node group configuration for a queue. + */ + export interface QueueComputeNodeGroupConfiguration { + /** + * The compute node group ID for the compute node group configuration. + */ + computeNodeGroupId?: string; + } + + /** + * An error that occurred during resource provisioning. + */ + export interface QueueErrorInfo { + /** + * The short-form error code. + */ + code?: string; + /** + * The detailed error information. + */ + message?: string; + } + + /** + * Specifies the boundaries of the compute node group auto scaling. + */ + export interface ScalingConfigurationProperties { + /** + * The upper bound of the number of instances allowed in the compute fleet. + */ + maxInstanceCount: number; + /** + * The lower bound of the number of instances allowed in the compute fleet. + */ + minInstanceCount: number; + } + + /** + * The cluster management and job scheduling software associated with the cluster. + */ + export interface SchedulerProperties { + /** + * The software AWS PCS uses to manage cluster scaling and job scheduling. + */ + type: enums.pcs.ClusterSchedulerPropertiesType; + /** + * The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + */ + version: string; + } + + /** + * Additional options related to the Slurm scheduler. + */ + export interface SlurmConfigurationProperties { + /** + * Additional Slurm-specific configuration that directly maps to Slurm settings. + */ + slurmCustomSettings?: outputs.pcs.ComputeNodeGroupSlurmCustomSetting[]; + } + + /** + * Additional configuration when you specify SPOT as the purchase option. + */ + export interface SpotOptionsProperties { + /** + * The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + */ + allocationStrategy?: enums.pcs.ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy; + } + +} + export namespace personalize { /** * Initial DatasetImportJob for the created dataset @@ -64489,6 +64702,26 @@ export namespace quicksight { yAxis: enums.quicksight.AnalysisSingleYAxisOption; } + export interface CustomPermissionsCapabilities { + addOrRunAnomalyDetectionForAnalyses?: enums.quicksight.CustomPermissionsCapabilityState; + createAndUpdateDashboardEmailReports?: enums.quicksight.CustomPermissionsCapabilityState; + createAndUpdateDataSources?: enums.quicksight.CustomPermissionsCapabilityState; + createAndUpdateDatasets?: enums.quicksight.CustomPermissionsCapabilityState; + createAndUpdateThemes?: enums.quicksight.CustomPermissionsCapabilityState; + createAndUpdateThresholdAlerts?: enums.quicksight.CustomPermissionsCapabilityState; + createSharedFolders?: enums.quicksight.CustomPermissionsCapabilityState; + createSpiceDataset?: enums.quicksight.CustomPermissionsCapabilityState; + exportToCsv?: enums.quicksight.CustomPermissionsCapabilityState; + exportToExcel?: enums.quicksight.CustomPermissionsCapabilityState; + renameSharedFolders?: enums.quicksight.CustomPermissionsCapabilityState; + shareAnalyses?: enums.quicksight.CustomPermissionsCapabilityState; + shareDashboards?: enums.quicksight.CustomPermissionsCapabilityState; + shareDataSources?: enums.quicksight.CustomPermissionsCapabilityState; + shareDatasets?: enums.quicksight.CustomPermissionsCapabilityState; + subscribeDashboardEmailReports?: enums.quicksight.CustomPermissionsCapabilityState; + viewAccountSpiceCapacity?: enums.quicksight.CustomPermissionsCapabilityState; + } + /** *

An ad hoc (one-time) filtering option.

*/ @@ -88136,7 +88369,6 @@ export namespace sagemaker { * The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. */ currentCount?: number; - customMetadata?: any; executionRole: string; /** * The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster. diff --git a/sdk/python/pulumi_aws_native/__init__.py b/sdk/python/pulumi_aws_native/__init__.py index e62d8e2abf..73805e8c8a 100644 --- a/sdk/python/pulumi_aws_native/__init__.py +++ b/sdk/python/pulumi_aws_native/__init__.py @@ -338,6 +338,8 @@ pcaconnectorad = __pcaconnectorad import pulumi_aws_native.pcaconnectorscep as __pcaconnectorscep pcaconnectorscep = __pcaconnectorscep + import pulumi_aws_native.pcs as __pcs + pcs = __pcs import pulumi_aws_native.personalize as __personalize personalize = __personalize import pulumi_aws_native.pinpoint as __pinpoint @@ -623,6 +625,7 @@ paymentcryptography = _utilities.lazy_import('pulumi_aws_native.paymentcryptography') pcaconnectorad = _utilities.lazy_import('pulumi_aws_native.pcaconnectorad') pcaconnectorscep = _utilities.lazy_import('pulumi_aws_native.pcaconnectorscep') + pcs = _utilities.lazy_import('pulumi_aws_native.pcs') personalize = _utilities.lazy_import('pulumi_aws_native.personalize') pinpoint = _utilities.lazy_import('pulumi_aws_native.pinpoint') pipes = _utilities.lazy_import('pulumi_aws_native.pipes') @@ -2615,6 +2618,16 @@ "aws-native:pcaconnectorscep:Connector": "Connector" } }, + { + "pkg": "aws-native", + "mod": "pcs", + "fqn": "pulumi_aws_native.pcs", + "classes": { + "aws-native:pcs:Cluster": "Cluster", + "aws-native:pcs:ComputeNodeGroup": "ComputeNodeGroup", + "aws-native:pcs:Queue": "Queue" + } + }, { "pkg": "aws-native", "mod": "personalize", @@ -2681,6 +2694,7 @@ "fqn": "pulumi_aws_native.quicksight", "classes": { "aws-native:quicksight:Analysis": "Analysis", + "aws-native:quicksight:CustomPermissions": "CustomPermissions", "aws-native:quicksight:Dashboard": "Dashboard", "aws-native:quicksight:DataSet": "DataSet", "aws-native:quicksight:DataSource": "DataSource", diff --git a/sdk/python/pulumi_aws_native/cleanrooms/get_id_mapping_table.py b/sdk/python/pulumi_aws_native/cleanrooms/get_id_mapping_table.py index 33be990bb8..6b848a1a6d 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/get_id_mapping_table.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/get_id_mapping_table.py @@ -74,6 +74,9 @@ def collaboration_arn(self) -> Optional[str]: @property @pulumi.getter(name="collaborationIdentifier") def collaboration_identifier(self) -> Optional[str]: + """ + The unique identifier of the collaboration that contains this ID mapping table. + """ return pulumi.get(self, "collaboration_identifier") @property @@ -87,6 +90,9 @@ def description(self) -> Optional[str]: @property @pulumi.getter(name="idMappingTableIdentifier") def id_mapping_table_identifier(self) -> Optional[str]: + """ + The unique identifier of the ID mapping table identifier that you want to retrieve. + """ return pulumi.get(self, "id_mapping_table_identifier") @property @@ -143,6 +149,7 @@ def get_id_mapping_table(id_mapping_table_identifier: Optional[str] = None, Represents an association between an ID mapping workflow and a collaboration + :param str id_mapping_table_identifier: The unique identifier of the ID mapping table identifier that you want to retrieve. :param str membership_identifier: The unique identifier of the membership resource for the ID mapping table. """ __args__ = dict() @@ -168,6 +175,7 @@ def get_id_mapping_table_output(id_mapping_table_identifier: Optional[pulumi.Inp Represents an association between an ID mapping workflow and a collaboration + :param str id_mapping_table_identifier: The unique identifier of the ID mapping table identifier that you want to retrieve. :param str membership_identifier: The unique identifier of the membership resource for the ID mapping table. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/cleanrooms/get_id_namespace_association.py b/sdk/python/pulumi_aws_native/cleanrooms/get_id_namespace_association.py index 5fa1458e39..c67d1b564b 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/get_id_namespace_association.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/get_id_namespace_association.py @@ -77,6 +77,9 @@ def collaboration_arn(self) -> Optional[str]: @property @pulumi.getter(name="collaborationIdentifier") def collaboration_identifier(self) -> Optional[str]: + """ + The unique identifier of the collaboration that contains this ID namespace association. + """ return pulumi.get(self, "collaboration_identifier") @property @@ -98,6 +101,9 @@ def id_mapping_config(self) -> Optional['outputs.IdNamespaceAssociationIdMapping @property @pulumi.getter(name="idNamespaceAssociationIdentifier") def id_namespace_association_identifier(self) -> Optional[str]: + """ + The unique identifier of the ID namespace association that you want to retrieve. + """ return pulumi.get(self, "id_namespace_association_identifier") @property @@ -155,6 +161,7 @@ def get_id_namespace_association(id_namespace_association_identifier: Optional[s Represents an association between an ID namespace and a collaboration + :param str id_namespace_association_identifier: The unique identifier of the ID namespace association that you want to retrieve. :param str membership_identifier: The unique identifier of the membership that contains the ID namespace association. """ __args__ = dict() @@ -181,6 +188,7 @@ def get_id_namespace_association_output(id_namespace_association_identifier: Opt Represents an association between an ID namespace and a collaboration + :param str id_namespace_association_identifier: The unique identifier of the ID namespace association that you want to retrieve. :param str membership_identifier: The unique identifier of the membership that contains the ID namespace association. """ __args__ = dict() diff --git a/sdk/python/pulumi_aws_native/cleanrooms/id_mapping_table.py b/sdk/python/pulumi_aws_native/cleanrooms/id_mapping_table.py index 20ed091d72..251c1b3694 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/id_mapping_table.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/id_mapping_table.py @@ -259,6 +259,9 @@ def collaboration_arn(self) -> pulumi.Output[str]: @property @pulumi.getter(name="collaborationIdentifier") def collaboration_identifier(self) -> pulumi.Output[str]: + """ + The unique identifier of the collaboration that contains this ID mapping table. + """ return pulumi.get(self, "collaboration_identifier") @property @@ -272,6 +275,9 @@ def description(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter(name="idMappingTableIdentifier") def id_mapping_table_identifier(self) -> pulumi.Output[str]: + """ + The unique identifier of the ID mapping table identifier that you want to retrieve. + """ return pulumi.get(self, "id_mapping_table_identifier") @property diff --git a/sdk/python/pulumi_aws_native/cleanrooms/id_namespace_association.py b/sdk/python/pulumi_aws_native/cleanrooms/id_namespace_association.py index 66bba23cd3..a0ab5be4c7 100644 --- a/sdk/python/pulumi_aws_native/cleanrooms/id_namespace_association.py +++ b/sdk/python/pulumi_aws_native/cleanrooms/id_namespace_association.py @@ -259,6 +259,9 @@ def collaboration_arn(self) -> pulumi.Output[str]: @property @pulumi.getter(name="collaborationIdentifier") def collaboration_identifier(self) -> pulumi.Output[str]: + """ + The unique identifier of the collaboration that contains this ID namespace association. + """ return pulumi.get(self, "collaboration_identifier") @property @@ -280,6 +283,9 @@ def id_mapping_config(self) -> pulumi.Output[Optional['outputs.IdNamespaceAssoci @property @pulumi.getter(name="idNamespaceAssociationIdentifier") def id_namespace_association_identifier(self) -> pulumi.Output[str]: + """ + The unique identifier of the ID namespace association that you want to retrieve. + """ return pulumi.get(self, "id_namespace_association_identifier") @property diff --git a/sdk/python/pulumi_aws_native/cloudformation/_enums.py b/sdk/python/pulumi_aws_native/cloudformation/_enums.py index a28f3bfd35..f8ba59ed31 100644 --- a/sdk/python/pulumi_aws_native/cloudformation/_enums.py +++ b/sdk/python/pulumi_aws_native/cloudformation/_enums.py @@ -85,6 +85,7 @@ class GuardHookTargetOperation(str, Enum): RESOURCE = "RESOURCE" STACK = "STACK" CHANGE_SET = "CHANGE_SET" + CLOUD_CONTROL = "CLOUD_CONTROL" class HookTypeConfigConfigurationAlias(str, Enum): @@ -155,6 +156,7 @@ class LambdaHookTargetOperation(str, Enum): RESOURCE = "RESOURCE" STACK = "STACK" CHANGE_SET = "CHANGE_SET" + CLOUD_CONTROL = "CLOUD_CONTROL" class ModuleVersionVisibility(str, Enum): diff --git a/sdk/python/pulumi_aws_native/cognito/_inputs.py b/sdk/python/pulumi_aws_native/cognito/_inputs.py index 909d7b932b..67d4bfeabc 100644 --- a/sdk/python/pulumi_aws_native/cognito/_inputs.py +++ b/sdk/python/pulumi_aws_native/cognito/_inputs.py @@ -1878,7 +1878,7 @@ class UserPoolPasswordPolicyArgsDict(TypedDict): """ The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . - Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. """ require_lowercase: NotRequired[pulumi.Input[bool]] """ @@ -1919,7 +1919,7 @@ def __init__(__self__, *, :param pulumi.Input[int] minimum_length: The minimum length of the password in the policy that you have set. This value can't be less than 6. :param pulumi.Input[int] password_history_size: The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . - Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. :param pulumi.Input[bool] require_lowercase: The requirement in a password policy that users must include at least one lowercase letter in their password. :param pulumi.Input[bool] require_numbers: The requirement in a password policy that users must include at least one number in their password. :param pulumi.Input[bool] require_symbols: The requirement in a password policy that users must include at least one symbol in their password. @@ -1961,7 +1961,7 @@ def password_history_size(self) -> Optional[pulumi.Input[int]]: """ The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . - Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. """ return pulumi.get(self, "password_history_size") @@ -2040,7 +2040,7 @@ class UserPoolPoliciesArgsDict(TypedDict): """ sign_in_policy: NotRequired[pulumi.Input['UserPoolSignInPolicyArgsDict']] """ - The policy for allowed types of authentication in a user pool. + The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ @@ -2054,7 +2054,7 @@ def __init__(__self__, *, sign_in_policy: Optional[pulumi.Input['UserPoolSignInPolicyArgs']] = None): """ :param pulumi.Input['UserPoolPasswordPolicyArgs'] password_policy: The password policy settings for a user pool, including complexity, history, and length requirements. - :param pulumi.Input['UserPoolSignInPolicyArgs'] sign_in_policy: The policy for allowed types of authentication in a user pool. + :param pulumi.Input['UserPoolSignInPolicyArgs'] sign_in_policy: The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ @@ -2079,7 +2079,7 @@ def password_policy(self, value: Optional[pulumi.Input['UserPoolPasswordPolicyAr @pulumi.getter(name="signInPolicy") def sign_in_policy(self) -> Optional[pulumi.Input['UserPoolSignInPolicyArgs']]: """ - The policy for allowed types of authentication in a user pool. + The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py index e00e92d8fb..b882c5c5bf 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool.py @@ -313,9 +313,9 @@ def user_attribute_update_settings(self) -> Optional['outputs.UserPoolUserAttrib @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> Optional['outputs.UserPoolAddOns']: """ - User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . - For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . """ return pulumi.get(self, "user_pool_add_ons") diff --git a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py index 0c42465acb..4309493e6c 100644 --- a/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/get_user_pool_client.py @@ -244,6 +244,8 @@ def explicit_auth_flows(self) -> Optional[Sequence[str]]: Valid values include: - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + + To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/python/pulumi_aws_native/cognito/outputs.py b/sdk/python/pulumi_aws_native/cognito/outputs.py index fb39a6b6be..ee9d62da63 100644 --- a/sdk/python/pulumi_aws_native/cognito/outputs.py +++ b/sdk/python/pulumi_aws_native/cognito/outputs.py @@ -1656,7 +1656,7 @@ def __init__(__self__, *, :param int minimum_length: The minimum length of the password in the policy that you have set. This value can't be less than 6. :param int password_history_size: The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . - Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. :param bool require_lowercase: The requirement in a password policy that users must include at least one lowercase letter in their password. :param bool require_numbers: The requirement in a password policy that users must include at least one number in their password. :param bool require_symbols: The requirement in a password policy that users must include at least one symbol in their password. @@ -1694,7 +1694,7 @@ def password_history_size(self) -> Optional[int]: """ The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of `n` previous passwords, where `n` is the value of `PasswordHistorySize` . - Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, [advanced security features](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) must be active in your user pool. + Password history isn't enforced and isn't displayed in [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) responses when you set this value to `0` or don't provide it. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. """ return pulumi.get(self, "password_history_size") @@ -1767,7 +1767,7 @@ def __init__(__self__, *, sign_in_policy: Optional['outputs.UserPoolSignInPolicy'] = None): """ :param 'UserPoolPasswordPolicy' password_policy: The password policy settings for a user pool, including complexity, history, and length requirements. - :param 'UserPoolSignInPolicy' sign_in_policy: The policy for allowed types of authentication in a user pool. + :param 'UserPoolSignInPolicy' sign_in_policy: The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ @@ -1788,7 +1788,7 @@ def password_policy(self) -> Optional['outputs.UserPoolPasswordPolicy']: @pulumi.getter(name="signInPolicy") def sign_in_policy(self) -> Optional['outputs.UserPoolSignInPolicy']: """ - The policy for allowed types of authentication in a user pool. + The policy for allowed types of authentication in a user pool. To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. This data type is a request and response parameter of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) and [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) , and a response parameter of [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html) . """ diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool.py b/sdk/python/pulumi_aws_native/cognito/user_pool.py index 7b697e43dc..b2f6e79f91 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool.py @@ -93,9 +93,9 @@ def __init__(__self__, *, :param pulumi.Input['UserPoolUserAttributeUpdateSettingsArgs'] user_attribute_update_settings: The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . - :param pulumi.Input['UserPoolAddOnsArgs'] user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + :param pulumi.Input['UserPoolAddOnsArgs'] user_pool_add_ons: User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . - For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . :param pulumi.Input[str] user_pool_name: A friendlhy name for your user pool. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. :param pulumi.Input['UserPoolTier'] user_pool_tier: The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` . @@ -436,9 +436,9 @@ def user_attribute_update_settings(self, value: Optional[pulumi.Input['UserPoolU @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> Optional[pulumi.Input['UserPoolAddOnsArgs']]: """ - User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . - For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . """ return pulumi.get(self, "user_pool_add_ons") @@ -635,9 +635,9 @@ def __init__(__self__, :param pulumi.Input[Union['UserPoolUserAttributeUpdateSettingsArgs', 'UserPoolUserAttributeUpdateSettingsArgsDict']] user_attribute_update_settings: The settings for updates to user attributes. These settings include the property `AttributesRequireVerificationBeforeUpdate` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see [Verifying updates to email addresses and phone numbers](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates) . - :param pulumi.Input[Union['UserPoolAddOnsArgs', 'UserPoolAddOnsArgsDict']] user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + :param pulumi.Input[Union['UserPoolAddOnsArgs', 'UserPoolAddOnsArgsDict']] user_pool_add_ons: User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . - For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . :param pulumi.Input[str] user_pool_name: A friendlhy name for your user pool. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. :param pulumi.Input['UserPoolTier'] user_pool_tier: The user pool [feature plan](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html) , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to `ESSENTIALS` . @@ -1015,9 +1015,9 @@ def user_attribute_update_settings(self) -> pulumi.Output[Optional['outputs.User @pulumi.getter(name="userPoolAddOns") def user_pool_add_ons(self) -> pulumi.Output[Optional['outputs.UserPoolAddOns']]: """ - User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . + User pool add-ons. Contains settings for activation of threat protection. To log user security information but take no action, set to `AUDIT` . To configure automatic security responses to risky traffic to your user pool, set to `ENFORCED` . - For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . + For more information, see [Adding advanced security to a user pool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) . To activate this setting, your user pool must be on the [Plus tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html) . """ return pulumi.get(self, "user_pool_add_ons") diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py index ba7099a8ca..921e23e8bf 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_client.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_client.py @@ -101,6 +101,8 @@ def __init__(__self__, *, Valid values include: - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + + To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -385,6 +387,8 @@ def explicit_auth_flows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str Valid values include: - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + + To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -627,6 +631,8 @@ def __init__(__self__, Valid values include: - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + + To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. @@ -958,6 +964,8 @@ def explicit_auth_flows(self) -> pulumi.Output[Optional[Sequence[str]]]: Valid values include: - `ALLOW_USER_AUTH` : Enable selection-based sign-in with `USER_AUTH` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other `ExplicitAuthFlows` permitting them. For example users can complete an SRP challenge through `USER_AUTH` without the flow `USER_SRP_AUTH` being active for the app client. This flow doesn't include `CUSTOM_AUTH` . + + To activate this setting, your user pool must be in the [Essentials tier](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-essentials.html) or higher. - `ALLOW_ADMIN_USER_PASSWORD_AUTH` : Enable admin based user password authentication flow `ADMIN_USER_PASSWORD_AUTH` . This setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - `ALLOW_CUSTOM_AUTH` : Enable Lambda trigger based authentication. - `ALLOW_USER_PASSWORD_AUTH` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. diff --git a/sdk/python/pulumi_aws_native/cognito/user_pool_user.py b/sdk/python/pulumi_aws_native/cognito/user_pool_user.py index 5a6406f0fb..db7ef4cdb6 100644 --- a/sdk/python/pulumi_aws_native/cognito/user_pool_user.py +++ b/sdk/python/pulumi_aws_native/cognito/user_pool_user.py @@ -36,7 +36,7 @@ def __init__(__self__, *, You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. - For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: > @@ -109,7 +109,7 @@ def client_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. - For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: > @@ -242,7 +242,7 @@ def __init__(__self__, You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. - For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: > @@ -373,7 +373,7 @@ def client_metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]: You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a `ClientMetadata` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the `clientMetadata` value to enhance your workflow for your specific needs. - For more information, see [Customizing user pool Workflows with Lambda Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . + For more information, see [Using Lambda triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) in the *Amazon Cognito Developer Guide* . > When you use the `ClientMetadata` parameter, note that Amazon Cognito won't do the following: > diff --git a/sdk/python/pulumi_aws_native/databrew/_enums.py b/sdk/python/pulumi_aws_native/databrew/_enums.py index 489f76a596..03915f6d95 100644 --- a/sdk/python/pulumi_aws_native/databrew/_enums.py +++ b/sdk/python/pulumi_aws_native/databrew/_enums.py @@ -9,6 +9,7 @@ 'DatasetFilesLimitOrderedBy', 'DatasetFormat', 'DatasetParameterType', + 'DatasetSource', 'JobDatabaseOutputDatabaseOutputMode', 'JobEncryptionMode', 'JobLogSubscription', @@ -58,6 +59,15 @@ class DatasetParameterType(str, Enum): DATETIME = "Datetime" +class DatasetSource(str, Enum): + """ + Source type of the dataset + """ + S3 = "S3" + DATA_CATALOG = "DATA-CATALOG" + DATABASE = "DATABASE" + + class JobDatabaseOutputDatabaseOutputMode(str, Enum): """ Database table name diff --git a/sdk/python/pulumi_aws_native/databrew/_inputs.py b/sdk/python/pulumi_aws_native/databrew/_inputs.py index 5a517c1e28..25cfa0dbfd 100644 --- a/sdk/python/pulumi_aws_native/databrew/_inputs.py +++ b/sdk/python/pulumi_aws_native/databrew/_inputs.py @@ -1162,6 +1162,7 @@ class DatasetS3LocationArgsDict(TypedDict): """ The Amazon S3 bucket name. """ + bucket_owner: NotRequired[pulumi.Input[str]] key: NotRequired[pulumi.Input[str]] """ The unique name of the object in the bucket. @@ -1173,6 +1174,7 @@ class DatasetS3LocationArgsDict(TypedDict): class DatasetS3LocationArgs: def __init__(__self__, *, bucket: pulumi.Input[str], + bucket_owner: Optional[pulumi.Input[str]] = None, key: Optional[pulumi.Input[str]] = None): """ Input location @@ -1180,6 +1182,8 @@ def __init__(__self__, *, :param pulumi.Input[str] key: The unique name of the object in the bucket. """ pulumi.set(__self__, "bucket", bucket) + if bucket_owner is not None: + pulumi.set(__self__, "bucket_owner", bucket_owner) if key is not None: pulumi.set(__self__, "key", key) @@ -1195,6 +1199,15 @@ def bucket(self) -> pulumi.Input[str]: def bucket(self, value: pulumi.Input[str]): pulumi.set(self, "bucket", value) + @property + @pulumi.getter(name="bucketOwner") + def bucket_owner(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "bucket_owner") + + @bucket_owner.setter + def bucket_owner(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bucket_owner", value) + @property @pulumi.getter def key(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws_native/databrew/dataset.py b/sdk/python/pulumi_aws_native/databrew/dataset.py index 55055c620a..24e3159bc7 100644 --- a/sdk/python/pulumi_aws_native/databrew/dataset.py +++ b/sdk/python/pulumi_aws_native/databrew/dataset.py @@ -29,6 +29,7 @@ def __init__(__self__, *, format_options: Optional[pulumi.Input['DatasetFormatOptionsArgs']] = None, name: Optional[pulumi.Input[str]] = None, path_options: Optional[pulumi.Input['DatasetPathOptionsArgs']] = None, + source: Optional[pulumi.Input['DatasetSource']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]] = None): """ The set of arguments for constructing a Dataset resource. @@ -37,6 +38,7 @@ def __init__(__self__, *, :param pulumi.Input['DatasetFormatOptionsArgs'] format_options: Format options for dataset :param pulumi.Input[str] name: Dataset name :param pulumi.Input['DatasetPathOptionsArgs'] path_options: PathOptions + :param pulumi.Input['DatasetSource'] source: Source type of the dataset :param pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]] tags: Metadata tags that have been applied to the dataset. """ pulumi.set(__self__, "input", input) @@ -48,6 +50,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if path_options is not None: pulumi.set(__self__, "path_options", path_options) + if source is not None: + pulumi.set(__self__, "source", source) if tags is not None: pulumi.set(__self__, "tags", tags) @@ -111,6 +115,18 @@ def path_options(self) -> Optional[pulumi.Input['DatasetPathOptionsArgs']]: def path_options(self, value: Optional[pulumi.Input['DatasetPathOptionsArgs']]): pulumi.set(self, "path_options", value) + @property + @pulumi.getter + def source(self) -> Optional[pulumi.Input['DatasetSource']]: + """ + Source type of the dataset + """ + return pulumi.get(self, "source") + + @source.setter + def source(self, value: Optional[pulumi.Input['DatasetSource']]): + pulumi.set(self, "source", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.CreateOnlyTagArgs']]]]: @@ -134,6 +150,7 @@ def __init__(__self__, input: Optional[pulumi.Input[Union['DatasetInputArgs', 'DatasetInputArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, path_options: Optional[pulumi.Input[Union['DatasetPathOptionsArgs', 'DatasetPathOptionsArgsDict']]] = None, + source: Optional[pulumi.Input['DatasetSource']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = None, __props__=None): """ @@ -173,6 +190,7 @@ def __init__(__self__, :param pulumi.Input[Union['DatasetInputArgs', 'DatasetInputArgsDict']] input: Input :param pulumi.Input[str] name: Dataset name :param pulumi.Input[Union['DatasetPathOptionsArgs', 'DatasetPathOptionsArgsDict']] path_options: PathOptions + :param pulumi.Input['DatasetSource'] source: Source type of the dataset :param pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]] tags: Metadata tags that have been applied to the dataset. """ ... @@ -231,6 +249,7 @@ def _internal_init(__self__, input: Optional[pulumi.Input[Union['DatasetInputArgs', 'DatasetInputArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, path_options: Optional[pulumi.Input[Union['DatasetPathOptionsArgs', 'DatasetPathOptionsArgsDict']]] = None, + source: Optional[pulumi.Input['DatasetSource']] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.CreateOnlyTagArgs', '_root_inputs.CreateOnlyTagArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -248,6 +267,7 @@ def _internal_init(__self__, __props__.__dict__["input"] = input __props__.__dict__["name"] = name __props__.__dict__["path_options"] = path_options + __props__.__dict__["source"] = source __props__.__dict__["tags"] = tags replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "tags[*]"]) opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) @@ -278,6 +298,7 @@ def get(resource_name: str, __props__.__dict__["input"] = None __props__.__dict__["name"] = None __props__.__dict__["path_options"] = None + __props__.__dict__["source"] = None __props__.__dict__["tags"] = None return Dataset(resource_name, opts=opts, __props__=__props__) @@ -321,6 +342,14 @@ def path_options(self) -> pulumi.Output[Optional['outputs.DatasetPathOptions']]: """ return pulumi.get(self, "path_options") + @property + @pulumi.getter + def source(self) -> pulumi.Output[Optional['DatasetSource']]: + """ + Source type of the dataset + """ + return pulumi.get(self, "source") + @property @pulumi.getter def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.CreateOnlyTag']]]: diff --git a/sdk/python/pulumi_aws_native/databrew/get_dataset.py b/sdk/python/pulumi_aws_native/databrew/get_dataset.py index de70d21511..589293e65a 100644 --- a/sdk/python/pulumi_aws_native/databrew/get_dataset.py +++ b/sdk/python/pulumi_aws_native/databrew/get_dataset.py @@ -25,7 +25,7 @@ @pulumi.output_type class GetDatasetResult: - def __init__(__self__, format=None, format_options=None, input=None, path_options=None): + def __init__(__self__, format=None, format_options=None, input=None, path_options=None, source=None): if format and not isinstance(format, str): raise TypeError("Expected argument 'format' to be a str") pulumi.set(__self__, "format", format) @@ -38,6 +38,9 @@ def __init__(__self__, format=None, format_options=None, input=None, path_option if path_options and not isinstance(path_options, dict): raise TypeError("Expected argument 'path_options' to be a dict") pulumi.set(__self__, "path_options", path_options) + if source and not isinstance(source, str): + raise TypeError("Expected argument 'source' to be a str") + pulumi.set(__self__, "source", source) @property @pulumi.getter @@ -71,6 +74,14 @@ def path_options(self) -> Optional['outputs.DatasetPathOptions']: """ return pulumi.get(self, "path_options") + @property + @pulumi.getter + def source(self) -> Optional['DatasetSource']: + """ + Source type of the dataset + """ + return pulumi.get(self, "source") + class AwaitableGetDatasetResult(GetDatasetResult): # pylint: disable=using-constant-test @@ -81,7 +92,8 @@ def __await__(self): format=self.format, format_options=self.format_options, input=self.input, - path_options=self.path_options) + path_options=self.path_options, + source=self.source) def get_dataset(name: Optional[str] = None, @@ -101,7 +113,8 @@ def get_dataset(name: Optional[str] = None, format=pulumi.get(__ret__, 'format'), format_options=pulumi.get(__ret__, 'format_options'), input=pulumi.get(__ret__, 'input'), - path_options=pulumi.get(__ret__, 'path_options')) + path_options=pulumi.get(__ret__, 'path_options'), + source=pulumi.get(__ret__, 'source')) def get_dataset_output(name: Optional[pulumi.Input[str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatasetResult]: """ @@ -118,4 +131,5 @@ def get_dataset_output(name: Optional[pulumi.Input[str]] = None, format=pulumi.get(__response__, 'format'), format_options=pulumi.get(__response__, 'format_options'), input=pulumi.get(__response__, 'input'), - path_options=pulumi.get(__response__, 'path_options'))) + path_options=pulumi.get(__response__, 'path_options'), + source=pulumi.get(__response__, 'source'))) diff --git a/sdk/python/pulumi_aws_native/databrew/outputs.py b/sdk/python/pulumi_aws_native/databrew/outputs.py index 81d1588d9e..578d69a99a 100644 --- a/sdk/python/pulumi_aws_native/databrew/outputs.py +++ b/sdk/python/pulumi_aws_native/databrew/outputs.py @@ -966,8 +966,26 @@ class DatasetS3Location(dict): """ Input location """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bucketOwner": + suggest = "bucket_owner" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DatasetS3Location. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DatasetS3Location.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DatasetS3Location.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, bucket: str, + bucket_owner: Optional[str] = None, key: Optional[str] = None): """ Input location @@ -975,6 +993,8 @@ def __init__(__self__, *, :param str key: The unique name of the object in the bucket. """ pulumi.set(__self__, "bucket", bucket) + if bucket_owner is not None: + pulumi.set(__self__, "bucket_owner", bucket_owner) if key is not None: pulumi.set(__self__, "key", key) @@ -986,6 +1006,11 @@ def bucket(self) -> str: """ return pulumi.get(self, "bucket") + @property + @pulumi.getter(name="bucketOwner") + def bucket_owner(self) -> Optional[str]: + return pulumi.get(self, "bucket_owner") + @property @pulumi.getter def key(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws_native/datazone/_enums.py b/sdk/python/pulumi_aws_native/datazone/_enums.py index fe64b16cf4..1420257115 100644 --- a/sdk/python/pulumi_aws_native/datazone/_enums.py +++ b/sdk/python/pulumi_aws_native/datazone/_enums.py @@ -108,6 +108,9 @@ class GroupProfileStatus(str, Enum): class ProjectMembershipUserDesignation(str, Enum): PROJECT_OWNER = "PROJECT_OWNER" PROJECT_CONTRIBUTOR = "PROJECT_CONTRIBUTOR" + PROJECT_CATALOG_VIEWER = "PROJECT_CATALOG_VIEWER" + PROJECT_CATALOG_CONSUMER = "PROJECT_CATALOG_CONSUMER" + PROJECT_CATALOG_STEWARD = "PROJECT_CATALOG_STEWARD" class UserProfileStatus(str, Enum): diff --git a/sdk/python/pulumi_aws_native/datazone/subscription_target.py b/sdk/python/pulumi_aws_native/datazone/subscription_target.py index 379d9a51b2..66502ed496 100644 --- a/sdk/python/pulumi_aws_native/datazone/subscription_target.py +++ b/sdk/python/pulumi_aws_native/datazone/subscription_target.py @@ -25,9 +25,9 @@ def __init__(__self__, *, authorized_principals: pulumi.Input[Sequence[pulumi.Input[str]]], domain_identifier: pulumi.Input[str], environment_identifier: pulumi.Input[str], - manage_access_role: pulumi.Input[str], subscription_target_config: pulumi.Input[Sequence[pulumi.Input['SubscriptionTargetFormArgs']]], type: pulumi.Input[str], + manage_access_role: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, provider: Optional[pulumi.Input[str]] = None): """ @@ -36,9 +36,9 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] authorized_principals: The authorized principals of the subscription target. :param pulumi.Input[str] domain_identifier: The ID of the Amazon DataZone domain in which subscription target would be created. :param pulumi.Input[str] environment_identifier: The ID of the environment in which subscription target would be created. - :param pulumi.Input[str] manage_access_role: The manage access role that is used to create the subscription target. :param pulumi.Input[Sequence[pulumi.Input['SubscriptionTargetFormArgs']]] subscription_target_config: The configuration of the subscription target. :param pulumi.Input[str] type: The type of the subscription target. + :param pulumi.Input[str] manage_access_role: The manage access role that is used to create the subscription target. :param pulumi.Input[str] name: The name of the subscription target. :param pulumi.Input[str] provider: The provider of the subscription target. """ @@ -46,9 +46,10 @@ def __init__(__self__, *, pulumi.set(__self__, "authorized_principals", authorized_principals) pulumi.set(__self__, "domain_identifier", domain_identifier) pulumi.set(__self__, "environment_identifier", environment_identifier) - pulumi.set(__self__, "manage_access_role", manage_access_role) pulumi.set(__self__, "subscription_target_config", subscription_target_config) pulumi.set(__self__, "type", type) + if manage_access_role is not None: + pulumi.set(__self__, "manage_access_role", manage_access_role) if name is not None: pulumi.set(__self__, "name", name) if provider is not None: @@ -102,18 +103,6 @@ def environment_identifier(self) -> pulumi.Input[str]: def environment_identifier(self, value: pulumi.Input[str]): pulumi.set(self, "environment_identifier", value) - @property - @pulumi.getter(name="manageAccessRole") - def manage_access_role(self) -> pulumi.Input[str]: - """ - The manage access role that is used to create the subscription target. - """ - return pulumi.get(self, "manage_access_role") - - @manage_access_role.setter - def manage_access_role(self, value: pulumi.Input[str]): - pulumi.set(self, "manage_access_role", value) - @property @pulumi.getter(name="subscriptionTargetConfig") def subscription_target_config(self) -> pulumi.Input[Sequence[pulumi.Input['SubscriptionTargetFormArgs']]]: @@ -138,6 +127,18 @@ def type(self) -> pulumi.Input[str]: def type(self, value: pulumi.Input[str]): pulumi.set(self, "type", value) + @property + @pulumi.getter(name="manageAccessRole") + def manage_access_role(self) -> Optional[pulumi.Input[str]]: + """ + The manage access role that is used to create the subscription target. + """ + return pulumi.get(self, "manage_access_role") + + @manage_access_role.setter + def manage_access_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "manage_access_role", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -247,8 +248,6 @@ def _internal_init(__self__, if environment_identifier is None and not opts.urn: raise TypeError("Missing required property 'environment_identifier'") __props__.__dict__["environment_identifier"] = environment_identifier - if manage_access_role is None and not opts.urn: - raise TypeError("Missing required property 'manage_access_role'") __props__.__dict__["manage_access_role"] = manage_access_role __props__.__dict__["name"] = name __props__.__dict__["provider"] = provider @@ -383,7 +382,7 @@ def environment_identifier(self) -> pulumi.Output[str]: @property @pulumi.getter(name="manageAccessRole") - def manage_access_role(self) -> pulumi.Output[str]: + def manage_access_role(self) -> pulumi.Output[Optional[str]]: """ The manage access role that is used to create the subscription target. """ diff --git a/sdk/python/pulumi_aws_native/ec2/_inputs.py b/sdk/python/pulumi_aws_native/ec2/_inputs.py index c6894b3c79..a2faacafe9 100644 --- a/sdk/python/pulumi_aws_native/ec2/_inputs.py +++ b/sdk/python/pulumi_aws_native/ec2/_inputs.py @@ -38,10 +38,14 @@ 'Ec2FleetAcceleratorTotalMemoryMiBRequestArgsDict', 'Ec2FleetBaselineEbsBandwidthMbpsRequestArgs', 'Ec2FleetBaselineEbsBandwidthMbpsRequestArgsDict', + 'Ec2FleetBaselinePerformanceFactorsRequestArgs', + 'Ec2FleetBaselinePerformanceFactorsRequestArgsDict', 'Ec2FleetCapacityRebalanceArgs', 'Ec2FleetCapacityRebalanceArgsDict', 'Ec2FleetCapacityReservationOptionsRequestArgs', 'Ec2FleetCapacityReservationOptionsRequestArgsDict', + 'Ec2FleetCpuPerformanceFactorRequestArgs', + 'Ec2FleetCpuPerformanceFactorRequestArgsDict', 'Ec2FleetFleetLaunchTemplateConfigRequestArgs', 'Ec2FleetFleetLaunchTemplateConfigRequestArgsDict', 'Ec2FleetFleetLaunchTemplateOverridesRequestArgs', @@ -62,6 +66,8 @@ 'Ec2FleetNetworkInterfaceCountRequestArgsDict', 'Ec2FleetOnDemandOptionsRequestArgs', 'Ec2FleetOnDemandOptionsRequestArgsDict', + 'Ec2FleetPerformanceFactorReferenceRequestArgs', + 'Ec2FleetPerformanceFactorReferenceRequestArgsDict', 'Ec2FleetPlacementArgs', 'Ec2FleetPlacementArgsDict', 'Ec2FleetSpotOptionsRequestArgs', @@ -246,12 +252,16 @@ 'SpotFleetAcceleratorTotalMemoryMiBRequestArgsDict', 'SpotFleetBaselineEbsBandwidthMbpsRequestArgs', 'SpotFleetBaselineEbsBandwidthMbpsRequestArgsDict', + 'SpotFleetBaselinePerformanceFactorsRequestArgs', + 'SpotFleetBaselinePerformanceFactorsRequestArgsDict', 'SpotFleetBlockDeviceMappingArgs', 'SpotFleetBlockDeviceMappingArgsDict', 'SpotFleetClassicLoadBalancersConfigArgs', 'SpotFleetClassicLoadBalancersConfigArgsDict', 'SpotFleetClassicLoadBalancerArgs', 'SpotFleetClassicLoadBalancerArgsDict', + 'SpotFleetCpuPerformanceFactorRequestArgs', + 'SpotFleetCpuPerformanceFactorRequestArgsDict', 'SpotFleetEbsBlockDeviceArgs', 'SpotFleetEbsBlockDeviceArgsDict', 'SpotFleetFleetLaunchTemplateSpecificationArgs', @@ -284,6 +294,8 @@ 'SpotFleetNetworkBandwidthGbpsRequestArgsDict', 'SpotFleetNetworkInterfaceCountRequestArgs', 'SpotFleetNetworkInterfaceCountRequestArgsDict', + 'SpotFleetPerformanceFactorReferenceRequestArgs', + 'SpotFleetPerformanceFactorReferenceRequestArgsDict', 'SpotFleetPrivateIpAddressSpecificationArgs', 'SpotFleetPrivateIpAddressSpecificationArgsDict', 'SpotFleetRequestConfigDataArgs', @@ -1061,6 +1073,29 @@ def min(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min", value) +if not MYPY: + class Ec2FleetBaselinePerformanceFactorsRequestArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input['Ec2FleetCpuPerformanceFactorRequestArgsDict']] +elif False: + Ec2FleetBaselinePerformanceFactorsRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class Ec2FleetBaselinePerformanceFactorsRequestArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input['Ec2FleetCpuPerformanceFactorRequestArgs']] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input['Ec2FleetCpuPerformanceFactorRequestArgs']]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input['Ec2FleetCpuPerformanceFactorRequestArgs']]): + pulumi.set(self, "cpu", value) + + if not MYPY: class Ec2FleetCapacityRebalanceArgsDict(TypedDict): replacement_strategy: NotRequired[pulumi.Input['Ec2FleetCapacityRebalanceReplacementStrategy']] @@ -1187,6 +1222,29 @@ def usage_strategy(self, value: Optional[pulumi.Input['Ec2FleetCapacityReservati pulumi.set(self, "usage_strategy", value) +if not MYPY: + class Ec2FleetCpuPerformanceFactorRequestArgsDict(TypedDict): + references: NotRequired[pulumi.Input[Sequence[pulumi.Input['Ec2FleetPerformanceFactorReferenceRequestArgsDict']]]] +elif False: + Ec2FleetCpuPerformanceFactorRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class Ec2FleetCpuPerformanceFactorRequestArgs: + def __init__(__self__, *, + references: Optional[pulumi.Input[Sequence[pulumi.Input['Ec2FleetPerformanceFactorReferenceRequestArgs']]]] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['Ec2FleetPerformanceFactorReferenceRequestArgs']]]]: + return pulumi.get(self, "references") + + @references.setter + def references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['Ec2FleetPerformanceFactorReferenceRequestArgs']]]]): + pulumi.set(self, "references", value) + + if not MYPY: class Ec2FleetFleetLaunchTemplateConfigRequestArgsDict(TypedDict): launch_template_specification: NotRequired[pulumi.Input['Ec2FleetFleetLaunchTemplateSpecificationRequestArgsDict']] @@ -1650,6 +1708,7 @@ class Ec2FleetInstanceRequirementsRequestArgsDict(TypedDict): Default: No minimum or maximum limits """ + baseline_performance_factors: NotRequired[pulumi.Input['Ec2FleetBaselinePerformanceFactorsRequestArgsDict']] burstable_performance: NotRequired[pulumi.Input['Ec2FleetInstanceRequirementsRequestBurstablePerformance']] """ Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . @@ -1806,6 +1865,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bare_metal: Optional[pulumi.Input['Ec2FleetInstanceRequirementsRequestBareMetal']] = None, baseline_ebs_bandwidth_mbps: Optional[pulumi.Input['Ec2FleetBaselineEbsBandwidthMbpsRequestArgs']] = None, + baseline_performance_factors: Optional[pulumi.Input['Ec2FleetBaselinePerformanceFactorsRequestArgs']] = None, burstable_performance: Optional[pulumi.Input['Ec2FleetInstanceRequirementsRequestBurstablePerformance']] = None, cpu_manufacturers: Optional[pulumi.Input[Sequence[pulumi.Input['Ec2FleetInstanceRequirementsRequestCpuManufacturersItem']]]] = None, excluded_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1992,6 +2052,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -2171,6 +2233,15 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional[pulumi.Input['Ec2FleetBaseline def baseline_ebs_bandwidth_mbps(self, value: Optional[pulumi.Input['Ec2FleetBaselineEbsBandwidthMbpsRequestArgs']]): pulumi.set(self, "baseline_ebs_bandwidth_mbps", value) + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional[pulumi.Input['Ec2FleetBaselinePerformanceFactorsRequestArgs']]: + return pulumi.get(self, "baseline_performance_factors") + + @baseline_performance_factors.setter + def baseline_performance_factors(self, value: Optional[pulumi.Input['Ec2FleetBaselinePerformanceFactorsRequestArgs']]): + pulumi.set(self, "baseline_performance_factors", value) + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional[pulumi.Input['Ec2FleetInstanceRequirementsRequestBurstablePerformance']]: @@ -2868,6 +2939,29 @@ def single_instance_type(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "single_instance_type", value) +if not MYPY: + class Ec2FleetPerformanceFactorReferenceRequestArgsDict(TypedDict): + instance_family: NotRequired[pulumi.Input[str]] +elif False: + Ec2FleetPerformanceFactorReferenceRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class Ec2FleetPerformanceFactorReferenceRequestArgs: + def __init__(__self__, *, + instance_family: Optional[pulumi.Input[str]] = None): + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "instance_family") + + @instance_family.setter + def instance_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_family", value) + + if not MYPY: class Ec2FleetPlacementArgsDict(TypedDict): affinity: NotRequired[pulumi.Input[str]] @@ -11251,6 +11345,29 @@ def min(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min", value) +if not MYPY: + class SpotFleetBaselinePerformanceFactorsRequestArgsDict(TypedDict): + cpu: NotRequired[pulumi.Input['SpotFleetCpuPerformanceFactorRequestArgsDict']] +elif False: + SpotFleetBaselinePerformanceFactorsRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SpotFleetBaselinePerformanceFactorsRequestArgs: + def __init__(__self__, *, + cpu: Optional[pulumi.Input['SpotFleetCpuPerformanceFactorRequestArgs']] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional[pulumi.Input['SpotFleetCpuPerformanceFactorRequestArgs']]: + return pulumi.get(self, "cpu") + + @cpu.setter + def cpu(self, value: Optional[pulumi.Input['SpotFleetCpuPerformanceFactorRequestArgs']]): + pulumi.set(self, "cpu", value) + + if not MYPY: class SpotFleetBlockDeviceMappingArgsDict(TypedDict): device_name: pulumi.Input[str] @@ -11416,6 +11533,29 @@ def name(self, value: pulumi.Input[str]): pulumi.set(self, "name", value) +if not MYPY: + class SpotFleetCpuPerformanceFactorRequestArgsDict(TypedDict): + references: NotRequired[pulumi.Input[Sequence[pulumi.Input['SpotFleetPerformanceFactorReferenceRequestArgsDict']]]] +elif False: + SpotFleetCpuPerformanceFactorRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SpotFleetCpuPerformanceFactorRequestArgs: + def __init__(__self__, *, + references: Optional[pulumi.Input[Sequence[pulumi.Input['SpotFleetPerformanceFactorReferenceRequestArgs']]]] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SpotFleetPerformanceFactorReferenceRequestArgs']]]]: + return pulumi.get(self, "references") + + @references.setter + def references(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SpotFleetPerformanceFactorReferenceRequestArgs']]]]): + pulumi.set(self, "references", value) + + if not MYPY: class SpotFleetEbsBlockDeviceArgsDict(TypedDict): delete_on_termination: NotRequired[pulumi.Input[bool]] @@ -12137,6 +12277,7 @@ class SpotFleetInstanceRequirementsRequestArgsDict(TypedDict): Default: No minimum or maximum limits """ + baseline_performance_factors: NotRequired[pulumi.Input['SpotFleetBaselinePerformanceFactorsRequestArgsDict']] burstable_performance: NotRequired[pulumi.Input['SpotFleetInstanceRequirementsRequestBurstablePerformance']] """ Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see [Burstable performance instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html) . @@ -12293,6 +12434,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, bare_metal: Optional[pulumi.Input['SpotFleetInstanceRequirementsRequestBareMetal']] = None, baseline_ebs_bandwidth_mbps: Optional[pulumi.Input['SpotFleetBaselineEbsBandwidthMbpsRequestArgs']] = None, + baseline_performance_factors: Optional[pulumi.Input['SpotFleetBaselinePerformanceFactorsRequestArgs']] = None, burstable_performance: Optional[pulumi.Input['SpotFleetInstanceRequirementsRequestBurstablePerformance']] = None, cpu_manufacturers: Optional[pulumi.Input[Sequence[pulumi.Input['SpotFleetInstanceRequirementsRequestCpuManufacturersItem']]]] = None, excluded_instance_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -12479,6 +12621,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -12658,6 +12802,15 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional[pulumi.Input['SpotFleetBaselin def baseline_ebs_bandwidth_mbps(self, value: Optional[pulumi.Input['SpotFleetBaselineEbsBandwidthMbpsRequestArgs']]): pulumi.set(self, "baseline_ebs_bandwidth_mbps", value) + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional[pulumi.Input['SpotFleetBaselinePerformanceFactorsRequestArgs']]: + return pulumi.get(self, "baseline_performance_factors") + + @baseline_performance_factors.setter + def baseline_performance_factors(self, value: Optional[pulumi.Input['SpotFleetBaselinePerformanceFactorsRequestArgs']]): + pulumi.set(self, "baseline_performance_factors", value) + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional[pulumi.Input['SpotFleetInstanceRequirementsRequestBurstablePerformance']]: @@ -13886,6 +14039,29 @@ def min(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "min", value) +if not MYPY: + class SpotFleetPerformanceFactorReferenceRequestArgsDict(TypedDict): + instance_family: NotRequired[pulumi.Input[str]] +elif False: + SpotFleetPerformanceFactorReferenceRequestArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SpotFleetPerformanceFactorReferenceRequestArgs: + def __init__(__self__, *, + instance_family: Optional[pulumi.Input[str]] = None): + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "instance_family") + + @instance_family.setter + def instance_family(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_family", value) + + if not MYPY: class SpotFleetPrivateIpAddressSpecificationArgsDict(TypedDict): private_ip_address: pulumi.Input[str] diff --git a/sdk/python/pulumi_aws_native/ec2/get_network_acl.py b/sdk/python/pulumi_aws_native/ec2/get_network_acl.py index c2ceb27cca..94026ad38b 100644 --- a/sdk/python/pulumi_aws_native/ec2/get_network_acl.py +++ b/sdk/python/pulumi_aws_native/ec2/get_network_acl.py @@ -63,6 +63,7 @@ def get_network_acl(id: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkAclResult: """ Specifies a network ACL for your VPC. + To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). :param str id: The ID of the network ACL. @@ -79,6 +80,7 @@ def get_network_acl_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetNetworkAclResult]: """ Specifies a network ACL for your VPC. + To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). :param str id: The ID of the network ACL. diff --git a/sdk/python/pulumi_aws_native/ec2/get_vpc_endpoint.py b/sdk/python/pulumi_aws_native/ec2/get_vpc_endpoint.py index 3589116356..03c6d0e6f4 100644 --- a/sdk/python/pulumi_aws_native/ec2/get_vpc_endpoint.py +++ b/sdk/python/pulumi_aws_native/ec2/get_vpc_endpoint.py @@ -14,6 +14,7 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs +from .. import outputs as _root_outputs from ._enums import * __all__ = [ @@ -25,7 +26,7 @@ @pulumi.output_type class GetVpcEndpointResult: - def __init__(__self__, creation_timestamp=None, dns_entries=None, dns_options=None, id=None, ip_address_type=None, network_interface_ids=None, policy_document=None, private_dns_enabled=None, route_table_ids=None, security_group_ids=None, subnet_ids=None): + def __init__(__self__, creation_timestamp=None, dns_entries=None, dns_options=None, id=None, ip_address_type=None, network_interface_ids=None, policy_document=None, private_dns_enabled=None, route_table_ids=None, security_group_ids=None, subnet_ids=None, tags=None): if creation_timestamp and not isinstance(creation_timestamp, str): raise TypeError("Expected argument 'creation_timestamp' to be a str") pulumi.set(__self__, "creation_timestamp", creation_timestamp) @@ -59,6 +60,9 @@ def __init__(__self__, creation_timestamp=None, dns_entries=None, dns_options=No 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 tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) @property @pulumi.getter(name="creationTimestamp") @@ -155,6 +159,11 @@ def subnet_ids(self) -> Optional[Sequence[str]]: """ return pulumi.get(self, "subnet_ids") + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + return pulumi.get(self, "tags") + class AwaitableGetVpcEndpointResult(GetVpcEndpointResult): # pylint: disable=using-constant-test @@ -172,7 +181,8 @@ def __await__(self): private_dns_enabled=self.private_dns_enabled, route_table_ids=self.route_table_ids, security_group_ids=self.security_group_ids, - subnet_ids=self.subnet_ids) + subnet_ids=self.subnet_ids, + tags=self.tags) def get_vpc_endpoint(id: Optional[str] = None, @@ -205,7 +215,8 @@ def get_vpc_endpoint(id: Optional[str] = None, private_dns_enabled=pulumi.get(__ret__, 'private_dns_enabled'), route_table_ids=pulumi.get(__ret__, 'route_table_ids'), security_group_ids=pulumi.get(__ret__, 'security_group_ids'), - subnet_ids=pulumi.get(__ret__, 'subnet_ids')) + subnet_ids=pulumi.get(__ret__, 'subnet_ids'), + tags=pulumi.get(__ret__, 'tags')) def get_vpc_endpoint_output(id: Optional[pulumi.Input[str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcEndpointResult]: """ @@ -235,4 +246,5 @@ def get_vpc_endpoint_output(id: Optional[pulumi.Input[str]] = None, private_dns_enabled=pulumi.get(__response__, 'private_dns_enabled'), route_table_ids=pulumi.get(__response__, 'route_table_ids'), security_group_ids=pulumi.get(__response__, 'security_group_ids'), - subnet_ids=pulumi.get(__response__, 'subnet_ids'))) + subnet_ids=pulumi.get(__response__, 'subnet_ids'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/ec2/network_acl.py b/sdk/python/pulumi_aws_native/ec2/network_acl.py index f3619b1139..31969a0855 100644 --- a/sdk/python/pulumi_aws_native/ec2/network_acl.py +++ b/sdk/python/pulumi_aws_native/ec2/network_acl.py @@ -67,6 +67,7 @@ def __init__(__self__, __props__=None): """ Specifies a network ACL for your VPC. + To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. @@ -81,6 +82,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None): """ Specifies a network ACL for your VPC. + To add a network ACL entry, see [AWS::EC2::NetworkAclEntry](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html). :param str resource_name: The name of the resource. :param NetworkAclArgs args: The arguments to use to populate this resource's properties. diff --git a/sdk/python/pulumi_aws_native/ec2/outputs.py b/sdk/python/pulumi_aws_native/ec2/outputs.py index 0deee8ead8..4c75a5e9c5 100644 --- a/sdk/python/pulumi_aws_native/ec2/outputs.py +++ b/sdk/python/pulumi_aws_native/ec2/outputs.py @@ -28,8 +28,10 @@ 'Ec2FleetAcceleratorCountRequest', 'Ec2FleetAcceleratorTotalMemoryMiBRequest', 'Ec2FleetBaselineEbsBandwidthMbpsRequest', + 'Ec2FleetBaselinePerformanceFactorsRequest', 'Ec2FleetCapacityRebalance', 'Ec2FleetCapacityReservationOptionsRequest', + 'Ec2FleetCpuPerformanceFactorRequest', 'Ec2FleetFleetLaunchTemplateConfigRequest', 'Ec2FleetFleetLaunchTemplateOverridesRequest', 'Ec2FleetFleetLaunchTemplateSpecificationRequest', @@ -40,6 +42,7 @@ 'Ec2FleetNetworkBandwidthGbpsRequest', 'Ec2FleetNetworkInterfaceCountRequest', 'Ec2FleetOnDemandOptionsRequest', + 'Ec2FleetPerformanceFactorReferenceRequest', 'Ec2FleetPlacement', 'Ec2FleetSpotOptionsRequest', 'Ec2FleetTag', @@ -146,9 +149,11 @@ 'SpotFleetAcceleratorCountRequest', 'SpotFleetAcceleratorTotalMemoryMiBRequest', 'SpotFleetBaselineEbsBandwidthMbpsRequest', + 'SpotFleetBaselinePerformanceFactorsRequest', 'SpotFleetBlockDeviceMapping', 'SpotFleetClassicLoadBalancer', 'SpotFleetClassicLoadBalancersConfig', + 'SpotFleetCpuPerformanceFactorRequest', 'SpotFleetEbsBlockDevice', 'SpotFleetFleetLaunchTemplateSpecification', 'SpotFleetGroupIdentifier', @@ -165,6 +170,7 @@ 'SpotFleetMonitoring', 'SpotFleetNetworkBandwidthGbpsRequest', 'SpotFleetNetworkInterfaceCountRequest', + 'SpotFleetPerformanceFactorReferenceRequest', 'SpotFleetPrivateIpAddressSpecification', 'SpotFleetRequestConfigData', 'SpotFleetSpotCapacityRebalance', @@ -742,6 +748,19 @@ def min(self) -> Optional[int]: return pulumi.get(self, "min") +@pulumi.output_type +class Ec2FleetBaselinePerformanceFactorsRequest(dict): + def __init__(__self__, *, + cpu: Optional['outputs.Ec2FleetCpuPerformanceFactorRequest'] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional['outputs.Ec2FleetCpuPerformanceFactorRequest']: + return pulumi.get(self, "cpu") + + @pulumi.output_type class Ec2FleetCapacityRebalance(dict): @staticmethod @@ -856,6 +875,19 @@ def usage_strategy(self) -> Optional['Ec2FleetCapacityReservationOptionsRequestU return pulumi.get(self, "usage_strategy") +@pulumi.output_type +class Ec2FleetCpuPerformanceFactorRequest(dict): + def __init__(__self__, *, + references: Optional[Sequence['outputs.Ec2FleetPerformanceFactorReferenceRequest']] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[Sequence['outputs.Ec2FleetPerformanceFactorReferenceRequest']]: + return pulumi.get(self, "references") + + @pulumi.output_type class Ec2FleetFleetLaunchTemplateConfigRequest(dict): @staticmethod @@ -1172,6 +1204,8 @@ def __key_warning(key: str): suggest = "bare_metal" elif key == "baselineEbsBandwidthMbps": suggest = "baseline_ebs_bandwidth_mbps" + elif key == "baselinePerformanceFactors": + suggest = "baseline_performance_factors" elif key == "burstablePerformance": suggest = "burstable_performance" elif key == "cpuManufacturers": @@ -1225,6 +1259,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[Sequence[str]] = None, bare_metal: Optional['Ec2FleetInstanceRequirementsRequestBareMetal'] = None, baseline_ebs_bandwidth_mbps: Optional['outputs.Ec2FleetBaselineEbsBandwidthMbpsRequest'] = None, + baseline_performance_factors: Optional['outputs.Ec2FleetBaselinePerformanceFactorsRequest'] = None, burstable_performance: Optional['Ec2FleetInstanceRequirementsRequestBurstablePerformance'] = None, cpu_manufacturers: Optional[Sequence['Ec2FleetInstanceRequirementsRequestCpuManufacturersItem']] = None, excluded_instance_types: Optional[Sequence[str]] = None, @@ -1411,6 +1446,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -1558,6 +1595,11 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional['outputs.Ec2FleetBaselineEbsBa """ return pulumi.get(self, "baseline_ebs_bandwidth_mbps") + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional['outputs.Ec2FleetBaselinePerformanceFactorsRequest']: + return pulumi.get(self, "baseline_performance_factors") + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional['Ec2FleetInstanceRequirementsRequestBurstablePerformance']: @@ -2067,6 +2109,36 @@ def single_instance_type(self) -> Optional[bool]: return pulumi.get(self, "single_instance_type") +@pulumi.output_type +class Ec2FleetPerformanceFactorReferenceRequest(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceFamily": + suggest = "instance_family" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in Ec2FleetPerformanceFactorReferenceRequest. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + Ec2FleetPerformanceFactorReferenceRequest.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + Ec2FleetPerformanceFactorReferenceRequest.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_family: Optional[str] = None): + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[str]: + return pulumi.get(self, "instance_family") + + @pulumi.output_type class Ec2FleetPlacement(dict): @staticmethod @@ -10532,6 +10604,19 @@ def min(self) -> Optional[int]: return pulumi.get(self, "min") +@pulumi.output_type +class SpotFleetBaselinePerformanceFactorsRequest(dict): + def __init__(__self__, *, + cpu: Optional['outputs.SpotFleetCpuPerformanceFactorRequest'] = None): + if cpu is not None: + pulumi.set(__self__, "cpu", cpu) + + @property + @pulumi.getter + def cpu(self) -> Optional['outputs.SpotFleetCpuPerformanceFactorRequest']: + return pulumi.get(self, "cpu") + + @pulumi.output_type class SpotFleetBlockDeviceMapping(dict): @staticmethod @@ -10668,6 +10753,19 @@ def classic_load_balancers(self) -> Sequence['outputs.SpotFleetClassicLoadBalanc return pulumi.get(self, "classic_load_balancers") +@pulumi.output_type +class SpotFleetCpuPerformanceFactorRequest(dict): + def __init__(__self__, *, + references: Optional[Sequence['outputs.SpotFleetPerformanceFactorReferenceRequest']] = None): + if references is not None: + pulumi.set(__self__, "references", references) + + @property + @pulumi.getter + def references(self) -> Optional[Sequence['outputs.SpotFleetPerformanceFactorReferenceRequest']]: + return pulumi.get(self, "references") + + @pulumi.output_type class SpotFleetEbsBlockDevice(dict): @staticmethod @@ -11185,6 +11283,8 @@ def __key_warning(key: str): suggest = "bare_metal" elif key == "baselineEbsBandwidthMbps": suggest = "baseline_ebs_bandwidth_mbps" + elif key == "baselinePerformanceFactors": + suggest = "baseline_performance_factors" elif key == "burstablePerformance": suggest = "burstable_performance" elif key == "cpuManufacturers": @@ -11238,6 +11338,7 @@ def __init__(__self__, *, allowed_instance_types: Optional[Sequence[str]] = None, bare_metal: Optional['SpotFleetInstanceRequirementsRequestBareMetal'] = None, baseline_ebs_bandwidth_mbps: Optional['outputs.SpotFleetBaselineEbsBandwidthMbpsRequest'] = None, + baseline_performance_factors: Optional['outputs.SpotFleetBaselinePerformanceFactorsRequest'] = None, burstable_performance: Optional['SpotFleetInstanceRequirementsRequestBurstablePerformance'] = None, cpu_manufacturers: Optional[Sequence['SpotFleetInstanceRequirementsRequestCpuManufacturersItem']] = None, excluded_instance_types: Optional[Sequence[str]] = None, @@ -11424,6 +11525,8 @@ def __init__(__self__, *, pulumi.set(__self__, "bare_metal", bare_metal) if baseline_ebs_bandwidth_mbps is not None: pulumi.set(__self__, "baseline_ebs_bandwidth_mbps", baseline_ebs_bandwidth_mbps) + if baseline_performance_factors is not None: + pulumi.set(__self__, "baseline_performance_factors", baseline_performance_factors) if burstable_performance is not None: pulumi.set(__self__, "burstable_performance", burstable_performance) if cpu_manufacturers is not None: @@ -11571,6 +11674,11 @@ def baseline_ebs_bandwidth_mbps(self) -> Optional['outputs.SpotFleetBaselineEbsB """ return pulumi.get(self, "baseline_ebs_bandwidth_mbps") + @property + @pulumi.getter(name="baselinePerformanceFactors") + def baseline_performance_factors(self) -> Optional['outputs.SpotFleetBaselinePerformanceFactorsRequest']: + return pulumi.get(self, "baseline_performance_factors") + @property @pulumi.getter(name="burstablePerformance") def burstable_performance(self) -> Optional['SpotFleetInstanceRequirementsRequestBurstablePerformance']: @@ -12466,6 +12574,36 @@ def min(self) -> Optional[int]: return pulumi.get(self, "min") +@pulumi.output_type +class SpotFleetPerformanceFactorReferenceRequest(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceFamily": + suggest = "instance_family" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SpotFleetPerformanceFactorReferenceRequest. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SpotFleetPerformanceFactorReferenceRequest.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SpotFleetPerformanceFactorReferenceRequest.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_family: Optional[str] = None): + if instance_family is not None: + pulumi.set(__self__, "instance_family", instance_family) + + @property + @pulumi.getter(name="instanceFamily") + def instance_family(self) -> Optional[str]: + return pulumi.get(self, "instance_family") + + @pulumi.output_type class SpotFleetPrivateIpAddressSpecification(dict): @staticmethod diff --git a/sdk/python/pulumi_aws_native/ec2/vpc_endpoint.py b/sdk/python/pulumi_aws_native/ec2/vpc_endpoint.py index 4dd44b24fd..bd1842aaf5 100644 --- a/sdk/python/pulumi_aws_native/ec2/vpc_endpoint.py +++ b/sdk/python/pulumi_aws_native/ec2/vpc_endpoint.py @@ -14,6 +14,8 @@ from typing_extensions import NotRequired, TypedDict, TypeAlias from .. import _utilities from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs from ._enums import * from ._inputs import * @@ -33,6 +35,7 @@ def __init__(__self__, *, service_name: Optional[pulumi.Input[str]] = None, service_network_arn: Optional[pulumi.Input[str]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None, vpc_endpoint_type: Optional[pulumi.Input['VpcEndpointType']] = None): """ The set of arguments for constructing a VpcEndpoint resource. @@ -74,6 +77,8 @@ def __init__(__self__, *, pulumi.set(__self__, "service_network_arn", service_network_arn) if subnet_ids is not None: pulumi.set(__self__, "subnet_ids", subnet_ids) + if tags is not None: + pulumi.set(__self__, "tags", tags) if vpc_endpoint_type is not None: pulumi.set(__self__, "vpc_endpoint_type", vpc_endpoint_type) @@ -204,6 +209,15 @@ def subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: def subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "subnet_ids", value) + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + @property @pulumi.getter(name="vpcEndpointType") def vpc_endpoint_type(self) -> Optional[pulumi.Input['VpcEndpointType']]: @@ -233,6 +247,7 @@ def __init__(__self__, service_name: Optional[pulumi.Input[str]] = None, service_network_arn: Optional[pulumi.Input[str]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, vpc_endpoint_type: Optional[pulumi.Input['VpcEndpointType']] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -304,6 +319,7 @@ def _internal_init(__self__, service_name: Optional[pulumi.Input[str]] = None, service_network_arn: Optional[pulumi.Input[str]] = None, subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, vpc_endpoint_type: Optional[pulumi.Input['VpcEndpointType']] = None, vpc_id: Optional[pulumi.Input[str]] = None, __props__=None): @@ -325,6 +341,7 @@ def _internal_init(__self__, __props__.__dict__["service_name"] = service_name __props__.__dict__["service_network_arn"] = service_network_arn __props__.__dict__["subnet_ids"] = subnet_ids + __props__.__dict__["tags"] = tags __props__.__dict__["vpc_endpoint_type"] = vpc_endpoint_type if vpc_id is None and not opts.urn: raise TypeError("Missing required property 'vpc_id'") @@ -371,6 +388,7 @@ def get(resource_name: str, __props__.__dict__["service_name"] = None __props__.__dict__["service_network_arn"] = None __props__.__dict__["subnet_ids"] = None + __props__.__dict__["tags"] = None __props__.__dict__["vpc_endpoint_type"] = None __props__.__dict__["vpc_id"] = None return VpcEndpoint(resource_name, opts=opts, __props__=__props__) @@ -488,6 +506,11 @@ def subnet_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: """ return pulumi.get(self, "subnet_ids") + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + return pulumi.get(self, "tags") + @property @pulumi.getter(name="vpcEndpointType") def vpc_endpoint_type(self) -> pulumi.Output[Optional['VpcEndpointType']]: diff --git a/sdk/python/pulumi_aws_native/efs/_inputs.py b/sdk/python/pulumi_aws_native/efs/_inputs.py index a3f96a83e7..d0d3d200d1 100644 --- a/sdk/python/pulumi_aws_native/efs/_inputs.py +++ b/sdk/python/pulumi_aws_native/efs/_inputs.py @@ -479,8 +479,17 @@ class FileSystemReplicationDestinationArgsDict(TypedDict): For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. """ role_arn: NotRequired[pulumi.Input[str]] + """ + The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + """ status: NotRequired[pulumi.Input[str]] + """ + Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ status_message: NotRequired[pulumi.Input[str]] + """ + Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ elif False: FileSystemReplicationDestinationArgsDict: TypeAlias = Mapping[str, Any] @@ -503,6 +512,9 @@ def __init__(__self__, *, :param pulumi.Input[str] kms_key_id: The ID of an kms-key-long used to protect the encrypted file system. :param pulumi.Input[str] region: The AWS-Region in which the destination file system is located. For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. + :param pulumi.Input[str] role_arn: The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + :param pulumi.Input[str] status: Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + :param pulumi.Input[str] status_message: Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . """ if availability_zone_name is not None: pulumi.set(__self__, "availability_zone_name", availability_zone_name) @@ -573,6 +585,9 @@ def region(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + """ return pulumi.get(self, "role_arn") @role_arn.setter @@ -582,6 +597,9 @@ def role_arn(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter def status(self) -> Optional[pulumi.Input[str]]: + """ + Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ return pulumi.get(self, "status") @status.setter @@ -591,6 +609,9 @@ def status(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter(name="statusMessage") def status_message(self) -> Optional[pulumi.Input[str]]: + """ + Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ return pulumi.get(self, "status_message") @status_message.setter diff --git a/sdk/python/pulumi_aws_native/efs/outputs.py b/sdk/python/pulumi_aws_native/efs/outputs.py index 443fbe4de1..6939ceab3c 100644 --- a/sdk/python/pulumi_aws_native/efs/outputs.py +++ b/sdk/python/pulumi_aws_native/efs/outputs.py @@ -428,6 +428,9 @@ def __init__(__self__, *, :param str kms_key_id: The ID of an kms-key-long used to protect the encrypted file system. :param str region: The AWS-Region in which the destination file system is located. For One Zone file systems, the replication configuration must specify the AWS-Region in which the destination file system is located. + :param str role_arn: The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + :param str status: Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + :param str status_message: Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . """ if availability_zone_name is not None: pulumi.set(__self__, "availability_zone_name", availability_zone_name) @@ -482,16 +485,25 @@ def region(self) -> Optional[str]: @property @pulumi.getter(name="roleArn") def role_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the current source file system in the replication configuration. + """ return pulumi.get(self, "role_arn") @property @pulumi.getter def status(self) -> Optional[str]: + """ + Describes the status of the replication configuration. For more information about replication status, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ return pulumi.get(self, "status") @property @pulumi.getter(name="statusMessage") def status_message(self) -> Optional[str]: + """ + Message that provides details about the `PAUSED` or `ERRROR` state of the replication destination configuration. For more information about replication status messages, see [Viewing replication details](https://docs.aws.amazon.com//efs/latest/ug/awsbackup.html#restoring-backup-efsmonitoring-replication-status.html) in the *Amazon EFS User Guide* . + """ return pulumi.get(self, "status_message") diff --git a/sdk/python/pulumi_aws_native/logs/_inputs.py b/sdk/python/pulumi_aws_native/logs/_inputs.py index 4111344e54..1cb5de8171 100644 --- a/sdk/python/pulumi_aws_native/logs/_inputs.py +++ b/sdk/python/pulumi_aws_native/logs/_inputs.py @@ -146,11 +146,11 @@ class IntegrationOpenSearchResourceConfigArgsDict(TypedDict): """ Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. - > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . """ data_source_role_arn: pulumi.Input[str] """ - Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. """ application_arn: NotRequired[pulumi.Input[str]] """ @@ -178,8 +178,8 @@ def __init__(__self__, *, """ :param pulumi.Input[Sequence[pulumi.Input[str]]] dashboard_viewer_principals: Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. - > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see - :param pulumi.Input[str] data_source_role_arn: Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . + :param pulumi.Input[str] data_source_role_arn: Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. :param pulumi.Input[str] application_arn: If you want to use an existing OpenSearch Service application for your integration with OpenSearch Service, specify it here. If you omit this, a new application will be created. :param pulumi.Input[str] kms_key_arn: To have the vended dashboard data encrypted with AWS KMS instead of the CloudWatch Logs default encryption method, specify the ARN of the AWS KMS key that you want to use. :param pulumi.Input[int] retention_days: Specify how many days that you want the data derived by OpenSearch Service to be retained in the index that the dashboard refers to. This also sets the maximum time period that you can choose when viewing data in the dashboard. Choosing a longer time frame will incur additional costs. @@ -199,7 +199,7 @@ def dashboard_viewer_principals(self) -> pulumi.Input[Sequence[pulumi.Input[str] """ Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. - > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . """ return pulumi.get(self, "dashboard_viewer_principals") @@ -211,7 +211,7 @@ def dashboard_viewer_principals(self, value: pulumi.Input[Sequence[pulumi.Input[ @pulumi.getter(name="dataSourceRoleArn") def data_source_role_arn(self) -> pulumi.Input[str]: """ - Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. """ return pulumi.get(self, "data_source_role_arn") diff --git a/sdk/python/pulumi_aws_native/logs/outputs.py b/sdk/python/pulumi_aws_native/logs/outputs.py index 28781341bb..a19d578ab3 100644 --- a/sdk/python/pulumi_aws_native/logs/outputs.py +++ b/sdk/python/pulumi_aws_native/logs/outputs.py @@ -138,8 +138,8 @@ def __init__(__self__, *, """ :param Sequence[str] dashboard_viewer_principals: Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. - > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see - :param str data_source_role_arn: Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . + :param str data_source_role_arn: Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. :param str application_arn: If you want to use an existing OpenSearch Service application for your integration with OpenSearch Service, specify it here. If you omit this, a new application will be created. :param str kms_key_arn: To have the vended dashboard data encrypted with AWS KMS instead of the CloudWatch Logs default encryption method, specify the ARN of the AWS KMS key that you want to use. :param int retention_days: Specify how many days that you want the data derived by OpenSearch Service to be retained in the index that the dashboard refers to. This also sets the maximum time period that you can choose when viewing data in the dashboard. Choosing a longer time frame will incur additional costs. @@ -159,7 +159,7 @@ def dashboard_viewer_principals(self) -> Sequence[str]: """ Specify the ARNs of IAM roles and IAM users who you want to grant permission to for viewing the dashboards. - > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see + > In addition to specifying these users here, you must also grant them the *CloudWatchOpenSearchDashboardsAccess* IAM policy. For more information, see [IAM policies for users](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-UserRoles.html) . """ return pulumi.get(self, "dashboard_viewer_principals") @@ -167,7 +167,7 @@ def dashboard_viewer_principals(self) -> Sequence[str]: @pulumi.getter(name="dataSourceRoleArn") def data_source_role_arn(self) -> str: """ - Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Create an IAM role to access the OpenSearch Service collection](https://docs.aws.amazon.com/OpenSearch-Dashboards-CreateRole) in the CloudWatch Logs User Guide. + Specify the ARN of an IAM role that CloudWatch Logs will use to create the integration. This role must have the permissions necessary to access the OpenSearch Service collection to be able to create the dashboards. For more information about the permissions needed, see [Permissions that the integration needs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-CreateRole.html) in the CloudWatch Logs User Guide. """ return pulumi.get(self, "data_source_role_arn") diff --git a/sdk/python/pulumi_aws_native/pcs/__init__.py b/sdk/python/pulumi_aws_native/pcs/__init__.py new file mode 100644 index 0000000000..6c9cda9cfa --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from ._enums import * +from .cluster import * +from .compute_node_group import * +from .get_cluster import * +from .get_compute_node_group import * +from .get_queue import * +from .queue import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws_native/pcs/_enums.py b/sdk/python/pulumi_aws_native/pcs/_enums.py new file mode 100644 index 0000000000..d0a97198f4 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/_enums.py @@ -0,0 +1,96 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from enum import Enum + +__all__ = [ + 'ClusterEndpointType', + 'ClusterSchedulerPropertiesType', + 'ClusterSize', + 'ClusterStatus', + 'ComputeNodeGroupPurchaseOption', + 'ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy', + 'ComputeNodeGroupStatus', + 'QueueStatus', +] + + +class ClusterEndpointType(str, Enum): + """ + Indicates the type of endpoint running at the specific IP address. + """ + SLURMCTLD = "SLURMCTLD" + SLURMDBD = "SLURMDBD" + + +class ClusterSchedulerPropertiesType(str, Enum): + """ + The software AWS PCS uses to manage cluster scaling and job scheduling. + """ + SLURM = "SLURM" + + +class ClusterSize(str, Enum): + """ + The size of the cluster. + """ + SMALL = "SMALL" + MEDIUM = "MEDIUM" + LARGE = "LARGE" + + +class ClusterStatus(str, Enum): + """ + The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + """ + CREATING = "CREATING" + ACTIVE = "ACTIVE" + UPDATING = "UPDATING" + DELETING = "DELETING" + CREATE_FAILED = "CREATE_FAILED" + DELETE_FAILED = "DELETE_FAILED" + UPDATE_FAILED = "UPDATE_FAILED" + + +class ComputeNodeGroupPurchaseOption(str, Enum): + """ + Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + """ + ONDEMAND = "ONDEMAND" + SPOT = "SPOT" + + +class ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy(str, Enum): + """ + The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ + LOWEST_PRICE = "lowest-price" + CAPACITY_OPTIMIZED = "capacity-optimized" + PRICE_CAPACITY_OPTIMIZED = "price-capacity-optimized" + + +class ComputeNodeGroupStatus(str, Enum): + """ + The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + """ + CREATING = "CREATING" + ACTIVE = "ACTIVE" + UPDATING = "UPDATING" + DELETING = "DELETING" + CREATE_FAILED = "CREATE_FAILED" + DELETE_FAILED = "DELETE_FAILED" + UPDATE_FAILED = "UPDATE_FAILED" + + +class QueueStatus(str, Enum): + """ + The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + """ + CREATING = "CREATING" + ACTIVE = "ACTIVE" + UPDATING = "UPDATING" + DELETING = "DELETING" + CREATE_FAILED = "CREATE_FAILED" + DELETE_FAILED = "DELETE_FAILED" + UPDATE_FAILED = "UPDATE_FAILED" diff --git a/sdk/python/pulumi_aws_native/pcs/_inputs.py b/sdk/python/pulumi_aws_native/pcs/_inputs.py new file mode 100644 index 0000000000..30aff69d91 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/_inputs.py @@ -0,0 +1,456 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from ._enums import * + +__all__ = [ + 'ComputeNodeGroupInstanceConfigArgs', + 'ComputeNodeGroupInstanceConfigArgsDict', + 'ComputeNodeGroupSlurmCustomSettingArgs', + 'ComputeNodeGroupSlurmCustomSettingArgsDict', + 'CustomLaunchTemplatePropertiesArgs', + 'CustomLaunchTemplatePropertiesArgsDict', + 'NetworkingPropertiesArgs', + 'NetworkingPropertiesArgsDict', + 'QueueComputeNodeGroupConfigurationArgs', + 'QueueComputeNodeGroupConfigurationArgsDict', + 'ScalingConfigurationPropertiesArgs', + 'ScalingConfigurationPropertiesArgsDict', + 'SchedulerPropertiesArgs', + 'SchedulerPropertiesArgsDict', + 'SlurmConfigurationPropertiesArgs', + 'SlurmConfigurationPropertiesArgsDict', + 'SpotOptionsPropertiesArgs', + 'SpotOptionsPropertiesArgsDict', +] + +MYPY = False + +if not MYPY: + class ComputeNodeGroupInstanceConfigArgsDict(TypedDict): + """ + An EC2 instance configuration AWS PCS uses to launch compute nodes. + """ + instance_type: NotRequired[pulumi.Input[str]] + """ + The EC2 instance type that AWS PCS can provision in the compute node group. + """ +elif False: + ComputeNodeGroupInstanceConfigArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ComputeNodeGroupInstanceConfigArgs: + def __init__(__self__, *, + instance_type: Optional[pulumi.Input[str]] = None): + """ + An EC2 instance configuration AWS PCS uses to launch compute nodes. + :param pulumi.Input[str] instance_type: The EC2 instance type that AWS PCS can provision in the compute node group. + """ + if instance_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[pulumi.Input[str]]: + """ + The EC2 instance type that AWS PCS can provision in the compute node group. + """ + return pulumi.get(self, "instance_type") + + @instance_type.setter + def instance_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instance_type", value) + + +if not MYPY: + class ComputeNodeGroupSlurmCustomSettingArgsDict(TypedDict): + """ + Additional settings that directly map to Slurm settings. + """ + parameter_name: pulumi.Input[str] + """ + AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + """ + parameter_value: pulumi.Input[str] + """ + The value for the configured Slurm setting. + """ +elif False: + ComputeNodeGroupSlurmCustomSettingArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ComputeNodeGroupSlurmCustomSettingArgs: + def __init__(__self__, *, + parameter_name: pulumi.Input[str], + parameter_value: pulumi.Input[str]): + """ + Additional settings that directly map to Slurm settings. + :param pulumi.Input[str] parameter_name: AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + :param pulumi.Input[str] parameter_value: The value for the configured Slurm setting. + """ + pulumi.set(__self__, "parameter_name", parameter_name) + pulumi.set(__self__, "parameter_value", parameter_value) + + @property + @pulumi.getter(name="parameterName") + def parameter_name(self) -> pulumi.Input[str]: + """ + AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + """ + return pulumi.get(self, "parameter_name") + + @parameter_name.setter + def parameter_name(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_name", value) + + @property + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> pulumi.Input[str]: + """ + The value for the configured Slurm setting. + """ + return pulumi.get(self, "parameter_value") + + @parameter_value.setter + def parameter_value(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_value", value) + + +if not MYPY: + class CustomLaunchTemplatePropertiesArgsDict(TypedDict): + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + """ + id: pulumi.Input[str] + """ + The ID of the EC2 launch template to use to provision instances. + """ + version: pulumi.Input[str] + """ + The version of the EC2 launch template to use to provision instances. + """ +elif False: + CustomLaunchTemplatePropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CustomLaunchTemplatePropertiesArgs: + def __init__(__self__, *, + id: pulumi.Input[str], + version: pulumi.Input[str]): + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + :param pulumi.Input[str] id: The ID of the EC2 launch template to use to provision instances. + :param pulumi.Input[str] version: The version of the EC2 launch template to use to provision instances. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def id(self) -> pulumi.Input[str]: + """ + The ID of the EC2 launch template to use to provision instances. + """ + return pulumi.get(self, "id") + + @id.setter + def id(self, value: pulumi.Input[str]): + pulumi.set(self, "id", value) + + @property + @pulumi.getter + def version(self) -> pulumi.Input[str]: + """ + The version of the EC2 launch template to use to provision instances. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[str]): + pulumi.set(self, "version", value) + + +if not MYPY: + class NetworkingPropertiesArgsDict(TypedDict): + """ + The networking configuration for the cluster's control plane. + """ + security_group_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + """ + subnet_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]] + """ + The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + """ +elif False: + NetworkingPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkingPropertiesArgs: + def __init__(__self__, *, + security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + The networking configuration for the cluster's control plane. + :param pulumi.Input[Sequence[pulumi.Input[str]]] security_group_ids: The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + """ + 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[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + """ + return pulumi.get(self, "security_group_ids") + + @security_group_ids.setter + 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]]]]: + """ + The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + """ + 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) + + +if not MYPY: + class QueueComputeNodeGroupConfigurationArgsDict(TypedDict): + """ + The compute node group configuration for a queue. + """ + compute_node_group_id: NotRequired[pulumi.Input[str]] + """ + The compute node group ID for the compute node group configuration. + """ +elif False: + QueueComputeNodeGroupConfigurationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class QueueComputeNodeGroupConfigurationArgs: + def __init__(__self__, *, + compute_node_group_id: Optional[pulumi.Input[str]] = None): + """ + The compute node group configuration for a queue. + :param pulumi.Input[str] compute_node_group_id: The compute node group ID for the compute node group configuration. + """ + if compute_node_group_id is not None: + pulumi.set(__self__, "compute_node_group_id", compute_node_group_id) + + @property + @pulumi.getter(name="computeNodeGroupId") + def compute_node_group_id(self) -> Optional[pulumi.Input[str]]: + """ + The compute node group ID for the compute node group configuration. + """ + return pulumi.get(self, "compute_node_group_id") + + @compute_node_group_id.setter + def compute_node_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "compute_node_group_id", value) + + +if not MYPY: + class ScalingConfigurationPropertiesArgsDict(TypedDict): + """ + Specifies the boundaries of the compute node group auto scaling. + """ + max_instance_count: pulumi.Input[int] + """ + The upper bound of the number of instances allowed in the compute fleet. + """ + min_instance_count: pulumi.Input[int] + """ + The lower bound of the number of instances allowed in the compute fleet. + """ +elif False: + ScalingConfigurationPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class ScalingConfigurationPropertiesArgs: + def __init__(__self__, *, + max_instance_count: pulumi.Input[int], + min_instance_count: pulumi.Input[int]): + """ + Specifies the boundaries of the compute node group auto scaling. + :param pulumi.Input[int] max_instance_count: The upper bound of the number of instances allowed in the compute fleet. + :param pulumi.Input[int] min_instance_count: The lower bound of the number of instances allowed in the compute fleet. + """ + pulumi.set(__self__, "max_instance_count", max_instance_count) + pulumi.set(__self__, "min_instance_count", min_instance_count) + + @property + @pulumi.getter(name="maxInstanceCount") + def max_instance_count(self) -> pulumi.Input[int]: + """ + The upper bound of the number of instances allowed in the compute fleet. + """ + return pulumi.get(self, "max_instance_count") + + @max_instance_count.setter + def max_instance_count(self, value: pulumi.Input[int]): + pulumi.set(self, "max_instance_count", value) + + @property + @pulumi.getter(name="minInstanceCount") + def min_instance_count(self) -> pulumi.Input[int]: + """ + The lower bound of the number of instances allowed in the compute fleet. + """ + return pulumi.get(self, "min_instance_count") + + @min_instance_count.setter + def min_instance_count(self, value: pulumi.Input[int]): + pulumi.set(self, "min_instance_count", value) + + +if not MYPY: + class SchedulerPropertiesArgsDict(TypedDict): + """ + The cluster management and job scheduling software associated with the cluster. + """ + type: pulumi.Input['ClusterSchedulerPropertiesType'] + """ + The software AWS PCS uses to manage cluster scaling and job scheduling. + """ + version: pulumi.Input[str] + """ + The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + """ +elif False: + SchedulerPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SchedulerPropertiesArgs: + def __init__(__self__, *, + type: pulumi.Input['ClusterSchedulerPropertiesType'], + version: pulumi.Input[str]): + """ + The cluster management and job scheduling software associated with the cluster. + :param pulumi.Input['ClusterSchedulerPropertiesType'] type: The software AWS PCS uses to manage cluster scaling and job scheduling. + :param pulumi.Input[str] version: The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def type(self) -> pulumi.Input['ClusterSchedulerPropertiesType']: + """ + The software AWS PCS uses to manage cluster scaling and job scheduling. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input['ClusterSchedulerPropertiesType']): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def version(self) -> pulumi.Input[str]: + """ + The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + """ + return pulumi.get(self, "version") + + @version.setter + def version(self, value: pulumi.Input[str]): + pulumi.set(self, "version", value) + + +if not MYPY: + class SlurmConfigurationPropertiesArgsDict(TypedDict): + """ + Additional options related to the Slurm scheduler. + """ + slurm_custom_settings: NotRequired[pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupSlurmCustomSettingArgsDict']]]] + """ + Additional Slurm-specific configuration that directly maps to Slurm settings. + """ +elif False: + SlurmConfigurationPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SlurmConfigurationPropertiesArgs: + def __init__(__self__, *, + slurm_custom_settings: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupSlurmCustomSettingArgs']]]] = None): + """ + Additional options related to the Slurm scheduler. + :param pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupSlurmCustomSettingArgs']]] slurm_custom_settings: Additional Slurm-specific configuration that directly maps to Slurm settings. + """ + if slurm_custom_settings is not None: + pulumi.set(__self__, "slurm_custom_settings", slurm_custom_settings) + + @property + @pulumi.getter(name="slurmCustomSettings") + def slurm_custom_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupSlurmCustomSettingArgs']]]]: + """ + Additional Slurm-specific configuration that directly maps to Slurm settings. + """ + return pulumi.get(self, "slurm_custom_settings") + + @slurm_custom_settings.setter + def slurm_custom_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupSlurmCustomSettingArgs']]]]): + pulumi.set(self, "slurm_custom_settings", value) + + +if not MYPY: + class SpotOptionsPropertiesArgsDict(TypedDict): + """ + Additional configuration when you specify SPOT as the purchase option. + """ + allocation_strategy: NotRequired[pulumi.Input['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy']] + """ + The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ +elif False: + SpotOptionsPropertiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SpotOptionsPropertiesArgs: + def __init__(__self__, *, + allocation_strategy: Optional[pulumi.Input['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy']] = None): + """ + Additional configuration when you specify SPOT as the purchase option. + :param pulumi.Input['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy'] allocation_strategy: The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ + if allocation_strategy is not None: + pulumi.set(__self__, "allocation_strategy", allocation_strategy) + + @property + @pulumi.getter(name="allocationStrategy") + def allocation_strategy(self) -> Optional[pulumi.Input['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy']]: + """ + The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ + return pulumi.get(self, "allocation_strategy") + + @allocation_strategy.setter + def allocation_strategy(self, value: Optional[pulumi.Input['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy']]): + pulumi.set(self, "allocation_strategy", value) + + diff --git a/sdk/python/pulumi_aws_native/pcs/cluster.py b/sdk/python/pulumi_aws_native/pcs/cluster.py new file mode 100644 index 0000000000..49470dfe12 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/cluster.py @@ -0,0 +1,327 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ClusterArgs', 'Cluster'] + +@pulumi.input_type +class ClusterArgs: + def __init__(__self__, *, + networking: pulumi.Input['NetworkingPropertiesArgs'], + scheduler: pulumi.Input['SchedulerPropertiesArgs'], + size: pulumi.Input['ClusterSize'], + name: Optional[pulumi.Input[str]] = None, + slurm_configuration: Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Cluster resource. + :param pulumi.Input['NetworkingPropertiesArgs'] networking: The networking configuration for the cluster's control plane. + :param pulumi.Input['SchedulerPropertiesArgs'] scheduler: The cluster management and job scheduling software associated with the cluster. + :param pulumi.Input['ClusterSize'] size: The size of the cluster. + :param pulumi.Input[str] name: The name that identifies the cluster. + :param pulumi.Input['SlurmConfigurationPropertiesArgs'] slurm_configuration: Additional options related to the Slurm scheduler. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + pulumi.set(__self__, "networking", networking) + pulumi.set(__self__, "scheduler", scheduler) + pulumi.set(__self__, "size", size) + if name is not None: + pulumi.set(__self__, "name", name) + if slurm_configuration is not None: + pulumi.set(__self__, "slurm_configuration", slurm_configuration) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def networking(self) -> pulumi.Input['NetworkingPropertiesArgs']: + """ + The networking configuration for the cluster's control plane. + """ + return pulumi.get(self, "networking") + + @networking.setter + def networking(self, value: pulumi.Input['NetworkingPropertiesArgs']): + pulumi.set(self, "networking", value) + + @property + @pulumi.getter + def scheduler(self) -> pulumi.Input['SchedulerPropertiesArgs']: + """ + The cluster management and job scheduling software associated with the cluster. + """ + return pulumi.get(self, "scheduler") + + @scheduler.setter + def scheduler(self, value: pulumi.Input['SchedulerPropertiesArgs']): + pulumi.set(self, "scheduler", value) + + @property + @pulumi.getter + def size(self) -> pulumi.Input['ClusterSize']: + """ + The size of the cluster. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: pulumi.Input['ClusterSize']): + pulumi.set(self, "size", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name that identifies the cluster. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="slurmConfiguration") + def slurm_configuration(self) -> Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']]: + """ + Additional options related to the Slurm scheduler. + """ + return pulumi.get(self, "slurm_configuration") + + @slurm_configuration.setter + def slurm_configuration(self, value: Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']]): + pulumi.set(self, "slurm_configuration", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Cluster(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + networking: Optional[pulumi.Input[Union['NetworkingPropertiesArgs', 'NetworkingPropertiesArgsDict']]] = None, + scheduler: Optional[pulumi.Input[Union['SchedulerPropertiesArgs', 'SchedulerPropertiesArgsDict']]] = None, + size: Optional[pulumi.Input['ClusterSize']] = None, + slurm_configuration: Optional[pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + AWS::PCS::Cluster resource creates an AWS PCS cluster. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] name: The name that identifies the cluster. + :param pulumi.Input[Union['NetworkingPropertiesArgs', 'NetworkingPropertiesArgsDict']] networking: The networking configuration for the cluster's control plane. + :param pulumi.Input[Union['SchedulerPropertiesArgs', 'SchedulerPropertiesArgsDict']] scheduler: The cluster management and job scheduling software associated with the cluster. + :param pulumi.Input['ClusterSize'] size: The size of the cluster. + :param pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']] slurm_configuration: Additional options related to the Slurm scheduler. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ClusterArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AWS::PCS::Cluster resource creates an AWS PCS cluster. + + :param str resource_name: The name of the resource. + :param ClusterArgs 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(ClusterArgs, 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, + name: Optional[pulumi.Input[str]] = None, + networking: Optional[pulumi.Input[Union['NetworkingPropertiesArgs', 'NetworkingPropertiesArgsDict']]] = None, + scheduler: Optional[pulumi.Input[Union['SchedulerPropertiesArgs', 'SchedulerPropertiesArgsDict']]] = None, + size: Optional[pulumi.Input['ClusterSize']] = None, + slurm_configuration: Optional[pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']]] = None, + tags: Optional[pulumi.Input[Mapping[str, 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__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["name"] = name + if networking is None and not opts.urn: + raise TypeError("Missing required property 'networking'") + __props__.__dict__["networking"] = networking + if scheduler is None and not opts.urn: + raise TypeError("Missing required property 'scheduler'") + __props__.__dict__["scheduler"] = scheduler + if size is None and not opts.urn: + raise TypeError("Missing required property 'size'") + __props__.__dict__["size"] = size + __props__.__dict__["slurm_configuration"] = slurm_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["endpoints"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["name", "networking", "scheduler", "size", "slurmConfiguration"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Cluster, __self__).__init__( + 'aws-native:pcs:Cluster', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Cluster': + """ + Get an existing Cluster 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__ = ClusterArgs.__new__(ClusterArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["endpoints"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["name"] = None + __props__.__dict__["networking"] = None + __props__.__dict__["scheduler"] = None + __props__.__dict__["size"] = None + __props__.__dict__["slurm_configuration"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags"] = None + return Cluster(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The unique Amazon Resource Name (ARN) of the cluster. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The generated unique ID of the cluster. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter + def endpoints(self) -> pulumi.Output[Sequence['outputs.ClusterEndpoint']]: + """ + The list of endpoints available for interaction with the scheduler. + """ + return pulumi.get(self, "endpoints") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> pulumi.Output[Sequence['outputs.ClusterErrorInfo']]: + """ + The list of errors that occurred during cluster provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name that identifies the cluster. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def networking(self) -> pulumi.Output['outputs.NetworkingProperties']: + """ + The networking configuration for the cluster's control plane. + """ + return pulumi.get(self, "networking") + + @property + @pulumi.getter + def scheduler(self) -> pulumi.Output['outputs.SchedulerProperties']: + """ + The cluster management and job scheduling software associated with the cluster. + """ + return pulumi.get(self, "scheduler") + + @property + @pulumi.getter + def size(self) -> pulumi.Output['ClusterSize']: + """ + The size of the cluster. + """ + return pulumi.get(self, "size") + + @property + @pulumi.getter(name="slurmConfiguration") + def slurm_configuration(self) -> pulumi.Output[Optional['outputs.SlurmConfigurationProperties']]: + """ + Additional options related to the Slurm scheduler. + """ + return pulumi.get(self, "slurm_configuration") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['ClusterStatus']: + """ + The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/pcs/compute_node_group.py b/sdk/python/pulumi_aws_native/pcs/compute_node_group.py new file mode 100644 index 0000000000..430f11c0e8 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/compute_node_group.py @@ -0,0 +1,494 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['ComputeNodeGroupArgs', 'ComputeNodeGroup'] + +@pulumi.input_type +class ComputeNodeGroupArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + custom_launch_template: pulumi.Input['CustomLaunchTemplatePropertiesArgs'], + iam_instance_profile_arn: pulumi.Input[str], + instance_configs: pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupInstanceConfigArgs']]], + scaling_configuration: pulumi.Input['ScalingConfigurationPropertiesArgs'], + subnet_ids: pulumi.Input[Sequence[pulumi.Input[str]]], + ami_id: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + purchase_option: Optional[pulumi.Input['ComputeNodeGroupPurchaseOption']] = None, + slurm_configuration: Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']] = None, + spot_options: Optional[pulumi.Input['SpotOptionsPropertiesArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ComputeNodeGroup resource. + :param pulumi.Input[str] cluster_id: The ID of the cluster of the compute node group. + :param pulumi.Input['CustomLaunchTemplatePropertiesArgs'] custom_launch_template: An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + :param pulumi.Input[str] iam_instance_profile_arn: The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + :param pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupInstanceConfigArgs']]] instance_configs: A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + :param pulumi.Input['ScalingConfigurationPropertiesArgs'] scaling_configuration: Specifies the boundaries of the compute node group auto scaling. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + :param pulumi.Input[str] ami_id: The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + :param pulumi.Input[str] name: The name that identifies the compute node group. + :param pulumi.Input['ComputeNodeGroupPurchaseOption'] purchase_option: Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + :param pulumi.Input['SlurmConfigurationPropertiesArgs'] slurm_configuration: Additional options related to the Slurm scheduler. + :param pulumi.Input['SpotOptionsPropertiesArgs'] spot_options: Additional configuration when you specify SPOT as the purchase option. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + pulumi.set(__self__, "custom_launch_template", custom_launch_template) + pulumi.set(__self__, "iam_instance_profile_arn", iam_instance_profile_arn) + pulumi.set(__self__, "instance_configs", instance_configs) + pulumi.set(__self__, "scaling_configuration", scaling_configuration) + pulumi.set(__self__, "subnet_ids", subnet_ids) + if ami_id is not None: + pulumi.set(__self__, "ami_id", ami_id) + if name is not None: + pulumi.set(__self__, "name", name) + if purchase_option is not None: + pulumi.set(__self__, "purchase_option", purchase_option) + if slurm_configuration is not None: + pulumi.set(__self__, "slurm_configuration", slurm_configuration) + if spot_options is not None: + pulumi.set(__self__, "spot_options", spot_options) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + """ + The ID of the cluster of the compute node group. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="customLaunchTemplate") + def custom_launch_template(self) -> pulumi.Input['CustomLaunchTemplatePropertiesArgs']: + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + """ + return pulumi.get(self, "custom_launch_template") + + @custom_launch_template.setter + def custom_launch_template(self, value: pulumi.Input['CustomLaunchTemplatePropertiesArgs']): + pulumi.set(self, "custom_launch_template", value) + + @property + @pulumi.getter(name="iamInstanceProfileArn") + def iam_instance_profile_arn(self) -> pulumi.Input[str]: + """ + The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + """ + return pulumi.get(self, "iam_instance_profile_arn") + + @iam_instance_profile_arn.setter + def iam_instance_profile_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "iam_instance_profile_arn", value) + + @property + @pulumi.getter(name="instanceConfigs") + def instance_configs(self) -> pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupInstanceConfigArgs']]]: + """ + A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + """ + return pulumi.get(self, "instance_configs") + + @instance_configs.setter + def instance_configs(self, value: pulumi.Input[Sequence[pulumi.Input['ComputeNodeGroupInstanceConfigArgs']]]): + pulumi.set(self, "instance_configs", value) + + @property + @pulumi.getter(name="scalingConfiguration") + def scaling_configuration(self) -> pulumi.Input['ScalingConfigurationPropertiesArgs']: + """ + Specifies the boundaries of the compute node group auto scaling. + """ + return pulumi.get(self, "scaling_configuration") + + @scaling_configuration.setter + def scaling_configuration(self, value: pulumi.Input['ScalingConfigurationPropertiesArgs']): + pulumi.set(self, "scaling_configuration", value) + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: + """ + The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + """ + 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="amiId") + def ami_id(self) -> Optional[pulumi.Input[str]]: + """ + The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + """ + return pulumi.get(self, "ami_id") + + @ami_id.setter + def ami_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ami_id", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name that identifies the compute node group. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="purchaseOption") + def purchase_option(self) -> Optional[pulumi.Input['ComputeNodeGroupPurchaseOption']]: + """ + Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + """ + return pulumi.get(self, "purchase_option") + + @purchase_option.setter + def purchase_option(self, value: Optional[pulumi.Input['ComputeNodeGroupPurchaseOption']]): + pulumi.set(self, "purchase_option", value) + + @property + @pulumi.getter(name="slurmConfiguration") + def slurm_configuration(self) -> Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']]: + """ + Additional options related to the Slurm scheduler. + """ + return pulumi.get(self, "slurm_configuration") + + @slurm_configuration.setter + def slurm_configuration(self, value: Optional[pulumi.Input['SlurmConfigurationPropertiesArgs']]): + pulumi.set(self, "slurm_configuration", value) + + @property + @pulumi.getter(name="spotOptions") + def spot_options(self) -> Optional[pulumi.Input['SpotOptionsPropertiesArgs']]: + """ + Additional configuration when you specify SPOT as the purchase option. + """ + return pulumi.get(self, "spot_options") + + @spot_options.setter + def spot_options(self, value: Optional[pulumi.Input['SpotOptionsPropertiesArgs']]): + pulumi.set(self, "spot_options", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class ComputeNodeGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ami_id: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + custom_launch_template: Optional[pulumi.Input[Union['CustomLaunchTemplatePropertiesArgs', 'CustomLaunchTemplatePropertiesArgsDict']]] = None, + iam_instance_profile_arn: Optional[pulumi.Input[str]] = None, + instance_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeNodeGroupInstanceConfigArgs', 'ComputeNodeGroupInstanceConfigArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + purchase_option: Optional[pulumi.Input['ComputeNodeGroupPurchaseOption']] = None, + scaling_configuration: Optional[pulumi.Input[Union['ScalingConfigurationPropertiesArgs', 'ScalingConfigurationPropertiesArgsDict']]] = None, + slurm_configuration: Optional[pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']]] = None, + spot_options: Optional[pulumi.Input[Union['SpotOptionsPropertiesArgs', 'SpotOptionsPropertiesArgsDict']]] = None, + subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] ami_id: The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + :param pulumi.Input[str] cluster_id: The ID of the cluster of the compute node group. + :param pulumi.Input[Union['CustomLaunchTemplatePropertiesArgs', 'CustomLaunchTemplatePropertiesArgsDict']] custom_launch_template: An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + :param pulumi.Input[str] iam_instance_profile_arn: The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + :param pulumi.Input[Sequence[pulumi.Input[Union['ComputeNodeGroupInstanceConfigArgs', 'ComputeNodeGroupInstanceConfigArgsDict']]]] instance_configs: A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + :param pulumi.Input[str] name: The name that identifies the compute node group. + :param pulumi.Input['ComputeNodeGroupPurchaseOption'] purchase_option: Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + :param pulumi.Input[Union['ScalingConfigurationPropertiesArgs', 'ScalingConfigurationPropertiesArgsDict']] scaling_configuration: Specifies the boundaries of the compute node group auto scaling. + :param pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']] slurm_configuration: Additional options related to the Slurm scheduler. + :param pulumi.Input[Union['SpotOptionsPropertiesArgs', 'SpotOptionsPropertiesArgsDict']] spot_options: Additional configuration when you specify SPOT as the purchase option. + :param pulumi.Input[Sequence[pulumi.Input[str]]] subnet_ids: The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ComputeNodeGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + + :param str resource_name: The name of the resource. + :param ComputeNodeGroupArgs 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(ComputeNodeGroupArgs, 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, + ami_id: Optional[pulumi.Input[str]] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + custom_launch_template: Optional[pulumi.Input[Union['CustomLaunchTemplatePropertiesArgs', 'CustomLaunchTemplatePropertiesArgsDict']]] = None, + iam_instance_profile_arn: Optional[pulumi.Input[str]] = None, + instance_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ComputeNodeGroupInstanceConfigArgs', 'ComputeNodeGroupInstanceConfigArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + purchase_option: Optional[pulumi.Input['ComputeNodeGroupPurchaseOption']] = None, + scaling_configuration: Optional[pulumi.Input[Union['ScalingConfigurationPropertiesArgs', 'ScalingConfigurationPropertiesArgsDict']]] = None, + slurm_configuration: Optional[pulumi.Input[Union['SlurmConfigurationPropertiesArgs', 'SlurmConfigurationPropertiesArgsDict']]] = None, + spot_options: Optional[pulumi.Input[Union['SpotOptionsPropertiesArgs', 'SpotOptionsPropertiesArgsDict']]] = None, + subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, 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__ = ComputeNodeGroupArgs.__new__(ComputeNodeGroupArgs) + + __props__.__dict__["ami_id"] = ami_id + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + if custom_launch_template is None and not opts.urn: + raise TypeError("Missing required property 'custom_launch_template'") + __props__.__dict__["custom_launch_template"] = custom_launch_template + if iam_instance_profile_arn is None and not opts.urn: + raise TypeError("Missing required property 'iam_instance_profile_arn'") + __props__.__dict__["iam_instance_profile_arn"] = iam_instance_profile_arn + if instance_configs is None and not opts.urn: + raise TypeError("Missing required property 'instance_configs'") + __props__.__dict__["instance_configs"] = instance_configs + __props__.__dict__["name"] = name + __props__.__dict__["purchase_option"] = purchase_option + if scaling_configuration is None and not opts.urn: + raise TypeError("Missing required property 'scaling_configuration'") + __props__.__dict__["scaling_configuration"] = scaling_configuration + __props__.__dict__["slurm_configuration"] = slurm_configuration + __props__.__dict__["spot_options"] = spot_options + if subnet_ids is None and not opts.urn: + raise TypeError("Missing required property 'subnet_ids'") + __props__.__dict__["subnet_ids"] = subnet_ids + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clusterId", "instanceConfigs[*]", "name"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(ComputeNodeGroup, __self__).__init__( + 'aws-native:pcs:ComputeNodeGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'ComputeNodeGroup': + """ + Get an existing ComputeNodeGroup 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__ = ComputeNodeGroupArgs.__new__(ComputeNodeGroupArgs) + + __props__.__dict__["ami_id"] = None + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["cluster_id"] = None + __props__.__dict__["custom_launch_template"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["iam_instance_profile_arn"] = None + __props__.__dict__["instance_configs"] = None + __props__.__dict__["name"] = None + __props__.__dict__["purchase_option"] = None + __props__.__dict__["scaling_configuration"] = None + __props__.__dict__["slurm_configuration"] = None + __props__.__dict__["spot_options"] = None + __props__.__dict__["status"] = None + __props__.__dict__["subnet_ids"] = None + __props__.__dict__["tags"] = None + return ComputeNodeGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="amiId") + def ami_id(self) -> pulumi.Output[Optional[str]]: + """ + The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + """ + return pulumi.get(self, "ami_id") + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The unique Amazon Resource Name (ARN) of the compute node group. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The generated unique ID of the compute node group. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[str]: + """ + The ID of the cluster of the compute node group. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="customLaunchTemplate") + def custom_launch_template(self) -> pulumi.Output['outputs.CustomLaunchTemplateProperties']: + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + """ + return pulumi.get(self, "custom_launch_template") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> pulumi.Output[Sequence['outputs.ComputeNodeGroupErrorInfo']]: + """ + The list of errors that occurred during compute node group provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter(name="iamInstanceProfileArn") + def iam_instance_profile_arn(self) -> pulumi.Output[str]: + """ + The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + """ + return pulumi.get(self, "iam_instance_profile_arn") + + @property + @pulumi.getter(name="instanceConfigs") + def instance_configs(self) -> pulumi.Output[Sequence['outputs.ComputeNodeGroupInstanceConfig']]: + """ + A list of EC2 instance configurations that AWS PCS can provision in the compute node group. + """ + return pulumi.get(self, "instance_configs") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name that identifies the compute node group. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="purchaseOption") + def purchase_option(self) -> pulumi.Output[Optional['ComputeNodeGroupPurchaseOption']]: + """ + Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + """ + return pulumi.get(self, "purchase_option") + + @property + @pulumi.getter(name="scalingConfiguration") + def scaling_configuration(self) -> pulumi.Output['outputs.ScalingConfigurationProperties']: + """ + Specifies the boundaries of the compute node group auto scaling. + """ + return pulumi.get(self, "scaling_configuration") + + @property + @pulumi.getter(name="slurmConfiguration") + def slurm_configuration(self) -> pulumi.Output[Optional['outputs.SlurmConfigurationProperties']]: + """ + Additional options related to the Slurm scheduler. + """ + return pulumi.get(self, "slurm_configuration") + + @property + @pulumi.getter(name="spotOptions") + def spot_options(self) -> pulumi.Output[Optional['outputs.SpotOptionsProperties']]: + """ + Additional configuration when you specify SPOT as the purchase option. + """ + return pulumi.get(self, "spot_options") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['ComputeNodeGroupStatus']: + """ + The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> pulumi.Output[Sequence[str]]: + """ + The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/pcs/get_cluster.py b/sdk/python/pulumi_aws_native/pcs/get_cluster.py new file mode 100644 index 0000000000..d65b84b50b --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/get_cluster.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetClusterResult', + 'AwaitableGetClusterResult', + 'get_cluster', + 'get_cluster_output', +] + +@pulumi.output_type +class GetClusterResult: + def __init__(__self__, arn=None, endpoints=None, error_info=None, id=None, 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) + if endpoints and not isinstance(endpoints, list): + raise TypeError("Expected argument 'endpoints' to be a list") + pulumi.set(__self__, "endpoints", endpoints) + if error_info and not isinstance(error_info, list): + raise TypeError("Expected argument 'error_info' to be a list") + pulumi.set(__self__, "error_info", error_info) + 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) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The unique Amazon Resource Name (ARN) of the cluster. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def endpoints(self) -> Optional[Sequence['outputs.ClusterEndpoint']]: + """ + The list of endpoints available for interaction with the scheduler. + """ + return pulumi.get(self, "endpoints") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> Optional[Sequence['outputs.ClusterErrorInfo']]: + """ + The list of errors that occurred during cluster provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The generated unique ID of the cluster. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def status(self) -> Optional['ClusterStatus']: + """ + The provisioning status of the cluster. The provisioning status doesn't indicate the overall health of the cluster. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetClusterResult(GetClusterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetClusterResult( + arn=self.arn, + endpoints=self.endpoints, + error_info=self.error_info, + id=self.id, + status=self.status, + tags=self.tags) + + +def get_cluster(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterResult: + """ + AWS::PCS::Cluster resource creates an AWS PCS cluster. + + + :param str arn: The unique Amazon Resource Name (ARN) of the cluster. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:pcs:getCluster', __args__, opts=opts, typ=GetClusterResult).value + + return AwaitableGetClusterResult( + arn=pulumi.get(__ret__, 'arn'), + endpoints=pulumi.get(__ret__, 'endpoints'), + error_info=pulumi.get(__ret__, 'error_info'), + id=pulumi.get(__ret__, 'id'), + status=pulumi.get(__ret__, 'status'), + tags=pulumi.get(__ret__, 'tags')) +def get_cluster_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterResult]: + """ + AWS::PCS::Cluster resource creates an AWS PCS cluster. + + + :param str arn: The unique Amazon Resource Name (ARN) of the cluster. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:pcs:getCluster', __args__, opts=opts, typ=GetClusterResult) + return __ret__.apply(lambda __response__: GetClusterResult( + arn=pulumi.get(__response__, 'arn'), + endpoints=pulumi.get(__response__, 'endpoints'), + error_info=pulumi.get(__response__, 'error_info'), + id=pulumi.get(__response__, 'id'), + status=pulumi.get(__response__, 'status'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/pcs/get_compute_node_group.py b/sdk/python/pulumi_aws_native/pcs/get_compute_node_group.py new file mode 100644 index 0000000000..00620d38f6 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/get_compute_node_group.py @@ -0,0 +1,247 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetComputeNodeGroupResult', + 'AwaitableGetComputeNodeGroupResult', + 'get_compute_node_group', + 'get_compute_node_group_output', +] + +@pulumi.output_type +class GetComputeNodeGroupResult: + def __init__(__self__, ami_id=None, arn=None, custom_launch_template=None, error_info=None, iam_instance_profile_arn=None, id=None, purchase_option=None, scaling_configuration=None, slurm_configuration=None, spot_options=None, status=None, subnet_ids=None, tags=None): + if ami_id and not isinstance(ami_id, str): + raise TypeError("Expected argument 'ami_id' to be a str") + pulumi.set(__self__, "ami_id", ami_id) + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if custom_launch_template and not isinstance(custom_launch_template, dict): + raise TypeError("Expected argument 'custom_launch_template' to be a dict") + pulumi.set(__self__, "custom_launch_template", custom_launch_template) + if error_info and not isinstance(error_info, list): + raise TypeError("Expected argument 'error_info' to be a list") + pulumi.set(__self__, "error_info", error_info) + if iam_instance_profile_arn and not isinstance(iam_instance_profile_arn, str): + raise TypeError("Expected argument 'iam_instance_profile_arn' to be a str") + pulumi.set(__self__, "iam_instance_profile_arn", iam_instance_profile_arn) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if purchase_option and not isinstance(purchase_option, str): + raise TypeError("Expected argument 'purchase_option' to be a str") + pulumi.set(__self__, "purchase_option", purchase_option) + if scaling_configuration and not isinstance(scaling_configuration, dict): + raise TypeError("Expected argument 'scaling_configuration' to be a dict") + pulumi.set(__self__, "scaling_configuration", scaling_configuration) + if slurm_configuration and not isinstance(slurm_configuration, dict): + raise TypeError("Expected argument 'slurm_configuration' to be a dict") + pulumi.set(__self__, "slurm_configuration", slurm_configuration) + if spot_options and not isinstance(spot_options, dict): + raise TypeError("Expected argument 'spot_options' to be a dict") + pulumi.set(__self__, "spot_options", spot_options) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + 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 tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="amiId") + def ami_id(self) -> Optional[str]: + """ + The ID of the Amazon Machine Image (AMI) that AWS PCS uses to launch instances. If not provided, AWS PCS uses the AMI ID specified in the custom launch template. + """ + return pulumi.get(self, "ami_id") + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The unique Amazon Resource Name (ARN) of the compute node group. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="customLaunchTemplate") + def custom_launch_template(self) -> Optional['outputs.CustomLaunchTemplateProperties']: + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + """ + return pulumi.get(self, "custom_launch_template") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> Optional[Sequence['outputs.ComputeNodeGroupErrorInfo']]: + """ + The list of errors that occurred during compute node group provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter(name="iamInstanceProfileArn") + def iam_instance_profile_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the IAM instance profile used to pass an IAM role when launching EC2 instances. The role contained in your instance profile must have pcs:RegisterComputeNodeGroupInstance permissions attached to provision instances correctly. + """ + return pulumi.get(self, "iam_instance_profile_arn") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The generated unique ID of the compute node group. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="purchaseOption") + def purchase_option(self) -> Optional['ComputeNodeGroupPurchaseOption']: + """ + Specifies how EC2 instances are purchased on your behalf. AWS PCS supports On-Demand and Spot instances. For more information, see Instance purchasing options in the Amazon Elastic Compute Cloud User Guide. If you don't provide this option, it defaults to On-Demand. + """ + return pulumi.get(self, "purchase_option") + + @property + @pulumi.getter(name="scalingConfiguration") + def scaling_configuration(self) -> Optional['outputs.ScalingConfigurationProperties']: + """ + Specifies the boundaries of the compute node group auto scaling. + """ + return pulumi.get(self, "scaling_configuration") + + @property + @pulumi.getter(name="slurmConfiguration") + def slurm_configuration(self) -> Optional['outputs.SlurmConfigurationProperties']: + """ + Additional options related to the Slurm scheduler. + """ + return pulumi.get(self, "slurm_configuration") + + @property + @pulumi.getter(name="spotOptions") + def spot_options(self) -> Optional['outputs.SpotOptionsProperties']: + """ + Additional configuration when you specify SPOT as the purchase option. + """ + return pulumi.get(self, "spot_options") + + @property + @pulumi.getter + def status(self) -> Optional['ComputeNodeGroupStatus']: + """ + The provisioning status of the compute node group. The provisioning status doesn't indicate the overall health of the compute node group. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[Sequence[str]]: + """ + The list of subnet IDs where instances are provisioned by the compute node group. The subnets must be in the same VPC as the cluster. + """ + return pulumi.get(self, "subnet_ids") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetComputeNodeGroupResult(GetComputeNodeGroupResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetComputeNodeGroupResult( + ami_id=self.ami_id, + arn=self.arn, + custom_launch_template=self.custom_launch_template, + error_info=self.error_info, + iam_instance_profile_arn=self.iam_instance_profile_arn, + id=self.id, + purchase_option=self.purchase_option, + scaling_configuration=self.scaling_configuration, + slurm_configuration=self.slurm_configuration, + spot_options=self.spot_options, + status=self.status, + subnet_ids=self.subnet_ids, + tags=self.tags) + + +def get_compute_node_group(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetComputeNodeGroupResult: + """ + AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + + + :param str arn: The unique Amazon Resource Name (ARN) of the compute node group. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:pcs:getComputeNodeGroup', __args__, opts=opts, typ=GetComputeNodeGroupResult).value + + return AwaitableGetComputeNodeGroupResult( + ami_id=pulumi.get(__ret__, 'ami_id'), + arn=pulumi.get(__ret__, 'arn'), + custom_launch_template=pulumi.get(__ret__, 'custom_launch_template'), + error_info=pulumi.get(__ret__, 'error_info'), + iam_instance_profile_arn=pulumi.get(__ret__, 'iam_instance_profile_arn'), + id=pulumi.get(__ret__, 'id'), + purchase_option=pulumi.get(__ret__, 'purchase_option'), + scaling_configuration=pulumi.get(__ret__, 'scaling_configuration'), + slurm_configuration=pulumi.get(__ret__, 'slurm_configuration'), + spot_options=pulumi.get(__ret__, 'spot_options'), + status=pulumi.get(__ret__, 'status'), + subnet_ids=pulumi.get(__ret__, 'subnet_ids'), + tags=pulumi.get(__ret__, 'tags')) +def get_compute_node_group_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetComputeNodeGroupResult]: + """ + AWS::PCS::ComputeNodeGroup resource creates an AWS PCS compute node group. + + + :param str arn: The unique Amazon Resource Name (ARN) of the compute node group. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:pcs:getComputeNodeGroup', __args__, opts=opts, typ=GetComputeNodeGroupResult) + return __ret__.apply(lambda __response__: GetComputeNodeGroupResult( + ami_id=pulumi.get(__response__, 'ami_id'), + arn=pulumi.get(__response__, 'arn'), + custom_launch_template=pulumi.get(__response__, 'custom_launch_template'), + error_info=pulumi.get(__response__, 'error_info'), + iam_instance_profile_arn=pulumi.get(__response__, 'iam_instance_profile_arn'), + id=pulumi.get(__response__, 'id'), + purchase_option=pulumi.get(__response__, 'purchase_option'), + scaling_configuration=pulumi.get(__response__, 'scaling_configuration'), + slurm_configuration=pulumi.get(__response__, 'slurm_configuration'), + spot_options=pulumi.get(__response__, 'spot_options'), + status=pulumi.get(__response__, 'status'), + subnet_ids=pulumi.get(__response__, 'subnet_ids'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/pcs/get_queue.py b/sdk/python/pulumi_aws_native/pcs/get_queue.py new file mode 100644 index 0000000000..3a86d7e397 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/get_queue.py @@ -0,0 +1,149 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'GetQueueResult', + 'AwaitableGetQueueResult', + 'get_queue', + 'get_queue_output', +] + +@pulumi.output_type +class GetQueueResult: + def __init__(__self__, arn=None, compute_node_group_configurations=None, error_info=None, id=None, 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) + if compute_node_group_configurations and not isinstance(compute_node_group_configurations, list): + raise TypeError("Expected argument 'compute_node_group_configurations' to be a list") + pulumi.set(__self__, "compute_node_group_configurations", compute_node_group_configurations) + if error_info and not isinstance(error_info, list): + raise TypeError("Expected argument 'error_info' to be a list") + pulumi.set(__self__, "error_info", error_info) + 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) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + """ + The unique Amazon Resource Name (ARN) of the queue. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="computeNodeGroupConfigurations") + def compute_node_group_configurations(self) -> Optional[Sequence['outputs.QueueComputeNodeGroupConfiguration']]: + """ + The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + """ + return pulumi.get(self, "compute_node_group_configurations") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> Optional[Sequence['outputs.QueueErrorInfo']]: + """ + The list of errors that occurred during queue provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter + def id(self) -> Optional[str]: + """ + The generated unique ID of the queue. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def status(self) -> Optional['QueueStatus']: + """ + The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> Optional[Mapping[str, str]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetQueueResult(GetQueueResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetQueueResult( + arn=self.arn, + compute_node_group_configurations=self.compute_node_group_configurations, + error_info=self.error_info, + id=self.id, + status=self.status, + tags=self.tags) + + +def get_queue(arn: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetQueueResult: + """ + AWS::PCS::Queue resource creates an AWS PCS queue. + + + :param str arn: The unique Amazon Resource Name (ARN) of the queue. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:pcs:getQueue', __args__, opts=opts, typ=GetQueueResult).value + + return AwaitableGetQueueResult( + arn=pulumi.get(__ret__, 'arn'), + compute_node_group_configurations=pulumi.get(__ret__, 'compute_node_group_configurations'), + error_info=pulumi.get(__ret__, 'error_info'), + id=pulumi.get(__ret__, 'id'), + status=pulumi.get(__ret__, 'status'), + tags=pulumi.get(__ret__, 'tags')) +def get_queue_output(arn: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetQueueResult]: + """ + AWS::PCS::Queue resource creates an AWS PCS queue. + + + :param str arn: The unique Amazon Resource Name (ARN) of the queue. + """ + __args__ = dict() + __args__['arn'] = arn + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:pcs:getQueue', __args__, opts=opts, typ=GetQueueResult) + return __ret__.apply(lambda __response__: GetQueueResult( + arn=pulumi.get(__response__, 'arn'), + compute_node_group_configurations=pulumi.get(__response__, 'compute_node_group_configurations'), + error_info=pulumi.get(__response__, 'error_info'), + id=pulumi.get(__response__, 'id'), + status=pulumi.get(__response__, 'status'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/pcs/outputs.py b/sdk/python/pulumi_aws_native/pcs/outputs.py new file mode 100644 index 0000000000..eab994cd74 --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/outputs.py @@ -0,0 +1,598 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * + +__all__ = [ + 'ClusterEndpoint', + 'ClusterErrorInfo', + 'ComputeNodeGroupErrorInfo', + 'ComputeNodeGroupInstanceConfig', + 'ComputeNodeGroupSlurmCustomSetting', + 'CustomLaunchTemplateProperties', + 'NetworkingProperties', + 'QueueComputeNodeGroupConfiguration', + 'QueueErrorInfo', + 'ScalingConfigurationProperties', + 'SchedulerProperties', + 'SlurmConfigurationProperties', + 'SpotOptionsProperties', +] + +@pulumi.output_type +class ClusterEndpoint(dict): + """ + An endpoint available for interaction with the scheduler. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privateIpAddress": + suggest = "private_ip_address" + elif key == "publicIpAddress": + suggest = "public_ip_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterEndpoint. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterEndpoint.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterEndpoint.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + port: str, + private_ip_address: str, + type: 'ClusterEndpointType', + public_ip_address: Optional[str] = None): + """ + An endpoint available for interaction with the scheduler. + :param str port: The endpoint's connection port number. + :param str private_ip_address: The endpoint's private IP address. + :param 'ClusterEndpointType' type: Indicates the type of endpoint running at the specific IP address. + :param str public_ip_address: The endpoint's public IP address. + """ + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "private_ip_address", private_ip_address) + pulumi.set(__self__, "type", type) + if public_ip_address is not None: + pulumi.set(__self__, "public_ip_address", public_ip_address) + + @property + @pulumi.getter + def port(self) -> str: + """ + The endpoint's connection port number. + """ + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="privateIpAddress") + def private_ip_address(self) -> str: + """ + The endpoint's private IP address. + """ + return pulumi.get(self, "private_ip_address") + + @property + @pulumi.getter + def type(self) -> 'ClusterEndpointType': + """ + Indicates the type of endpoint running at the specific IP address. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="publicIpAddress") + def public_ip_address(self) -> Optional[str]: + """ + The endpoint's public IP address. + """ + return pulumi.get(self, "public_ip_address") + + +@pulumi.output_type +class ClusterErrorInfo(dict): + """ + An error that occurred during resource provisioning. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None): + """ + An error that occurred during resource provisioning. + :param str code: The short-form error code. + :param str message: The detailed error information. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The short-form error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The detailed error information. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class ComputeNodeGroupErrorInfo(dict): + """ + An error that occurred during resource provisioning. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None): + """ + An error that occurred during resource provisioning. + :param str code: The short-form error code. + :param str message: The detailed error information. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The short-form error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The detailed error information. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class ComputeNodeGroupInstanceConfig(dict): + """ + An EC2 instance configuration AWS PCS uses to launch compute nodes. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "instanceType": + suggest = "instance_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ComputeNodeGroupInstanceConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ComputeNodeGroupInstanceConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ComputeNodeGroupInstanceConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + instance_type: Optional[str] = None): + """ + An EC2 instance configuration AWS PCS uses to launch compute nodes. + :param str instance_type: The EC2 instance type that AWS PCS can provision in the compute node group. + """ + if instance_type is not None: + pulumi.set(__self__, "instance_type", instance_type) + + @property + @pulumi.getter(name="instanceType") + def instance_type(self) -> Optional[str]: + """ + The EC2 instance type that AWS PCS can provision in the compute node group. + """ + return pulumi.get(self, "instance_type") + + +@pulumi.output_type +class ComputeNodeGroupSlurmCustomSetting(dict): + """ + Additional settings that directly map to Slurm settings. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "parameterName": + suggest = "parameter_name" + elif key == "parameterValue": + suggest = "parameter_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ComputeNodeGroupSlurmCustomSetting. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ComputeNodeGroupSlurmCustomSetting.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ComputeNodeGroupSlurmCustomSetting.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + parameter_name: str, + parameter_value: str): + """ + Additional settings that directly map to Slurm settings. + :param str parameter_name: AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + :param str parameter_value: The value for the configured Slurm setting. + """ + pulumi.set(__self__, "parameter_name", parameter_name) + pulumi.set(__self__, "parameter_value", parameter_value) + + @property + @pulumi.getter(name="parameterName") + def parameter_name(self) -> str: + """ + AWS PCS supports configuration of the following Slurm parameters for compute node groups: Weight and RealMemory. + """ + return pulumi.get(self, "parameter_name") + + @property + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> str: + """ + The value for the configured Slurm setting. + """ + return pulumi.get(self, "parameter_value") + + +@pulumi.output_type +class CustomLaunchTemplateProperties(dict): + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + """ + def __init__(__self__, *, + id: str, + version: str): + """ + An Amazon EC2 launch template AWS PCS uses to launch compute nodes. + :param str id: The ID of the EC2 launch template to use to provision instances. + :param str version: The version of the EC2 launch template to use to provision instances. + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def id(self) -> str: + """ + The ID of the EC2 launch template to use to provision instances. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def version(self) -> str: + """ + The version of the EC2 launch template to use to provision instances. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class NetworkingProperties(dict): + """ + The networking configuration for the cluster's control plane. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "securityGroupIds": + suggest = "security_group_ids" + elif key == "subnetIds": + suggest = "subnet_ids" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkingProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkingProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkingProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + security_group_ids: Optional[Sequence[str]] = None, + subnet_ids: Optional[Sequence[str]] = None): + """ + The networking configuration for the cluster's control plane. + :param Sequence[str] security_group_ids: The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + :param Sequence[str] subnet_ids: The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + """ + 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]]: + """ + The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets. + """ + return pulumi.get(self, "security_group_ids") + + @property + @pulumi.getter(name="subnetIds") + def subnet_ids(self) -> Optional[Sequence[str]]: + """ + The list of subnet IDs where AWS PCS creates an Elastic Network Interface (ENI) to enable communication between managed controllers and AWS PCS resources. The subnet must have an available IP address, cannot reside in AWS Outposts, AWS Wavelength, or an AWS Local Zone. AWS PCS currently supports only 1 subnet in this list. + """ + return pulumi.get(self, "subnet_ids") + + +@pulumi.output_type +class QueueComputeNodeGroupConfiguration(dict): + """ + The compute node group configuration for a queue. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "computeNodeGroupId": + suggest = "compute_node_group_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in QueueComputeNodeGroupConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + QueueComputeNodeGroupConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + QueueComputeNodeGroupConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + compute_node_group_id: Optional[str] = None): + """ + The compute node group configuration for a queue. + :param str compute_node_group_id: The compute node group ID for the compute node group configuration. + """ + if compute_node_group_id is not None: + pulumi.set(__self__, "compute_node_group_id", compute_node_group_id) + + @property + @pulumi.getter(name="computeNodeGroupId") + def compute_node_group_id(self) -> Optional[str]: + """ + The compute node group ID for the compute node group configuration. + """ + return pulumi.get(self, "compute_node_group_id") + + +@pulumi.output_type +class QueueErrorInfo(dict): + """ + An error that occurred during resource provisioning. + """ + def __init__(__self__, *, + code: Optional[str] = None, + message: Optional[str] = None): + """ + An error that occurred during resource provisioning. + :param str code: The short-form error code. + :param str message: The detailed error information. + """ + if code is not None: + pulumi.set(__self__, "code", code) + if message is not None: + pulumi.set(__self__, "message", message) + + @property + @pulumi.getter + def code(self) -> Optional[str]: + """ + The short-form error code. + """ + return pulumi.get(self, "code") + + @property + @pulumi.getter + def message(self) -> Optional[str]: + """ + The detailed error information. + """ + return pulumi.get(self, "message") + + +@pulumi.output_type +class ScalingConfigurationProperties(dict): + """ + Specifies the boundaries of the compute node group auto scaling. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "maxInstanceCount": + suggest = "max_instance_count" + elif key == "minInstanceCount": + suggest = "min_instance_count" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ScalingConfigurationProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ScalingConfigurationProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ScalingConfigurationProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + max_instance_count: int, + min_instance_count: int): + """ + Specifies the boundaries of the compute node group auto scaling. + :param int max_instance_count: The upper bound of the number of instances allowed in the compute fleet. + :param int min_instance_count: The lower bound of the number of instances allowed in the compute fleet. + """ + pulumi.set(__self__, "max_instance_count", max_instance_count) + pulumi.set(__self__, "min_instance_count", min_instance_count) + + @property + @pulumi.getter(name="maxInstanceCount") + def max_instance_count(self) -> int: + """ + The upper bound of the number of instances allowed in the compute fleet. + """ + return pulumi.get(self, "max_instance_count") + + @property + @pulumi.getter(name="minInstanceCount") + def min_instance_count(self) -> int: + """ + The lower bound of the number of instances allowed in the compute fleet. + """ + return pulumi.get(self, "min_instance_count") + + +@pulumi.output_type +class SchedulerProperties(dict): + """ + The cluster management and job scheduling software associated with the cluster. + """ + def __init__(__self__, *, + type: 'ClusterSchedulerPropertiesType', + version: str): + """ + The cluster management and job scheduling software associated with the cluster. + :param 'ClusterSchedulerPropertiesType' type: The software AWS PCS uses to manage cluster scaling and job scheduling. + :param str version: The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "version", version) + + @property + @pulumi.getter + def type(self) -> 'ClusterSchedulerPropertiesType': + """ + The software AWS PCS uses to manage cluster scaling and job scheduling. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def version(self) -> str: + """ + The version of the specified scheduling software that AWS PCS uses to manage cluster scaling and job scheduling. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class SlurmConfigurationProperties(dict): + """ + Additional options related to the Slurm scheduler. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "slurmCustomSettings": + suggest = "slurm_custom_settings" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SlurmConfigurationProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SlurmConfigurationProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SlurmConfigurationProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + slurm_custom_settings: Optional[Sequence['outputs.ComputeNodeGroupSlurmCustomSetting']] = None): + """ + Additional options related to the Slurm scheduler. + :param Sequence['ComputeNodeGroupSlurmCustomSetting'] slurm_custom_settings: Additional Slurm-specific configuration that directly maps to Slurm settings. + """ + if slurm_custom_settings is not None: + pulumi.set(__self__, "slurm_custom_settings", slurm_custom_settings) + + @property + @pulumi.getter(name="slurmCustomSettings") + def slurm_custom_settings(self) -> Optional[Sequence['outputs.ComputeNodeGroupSlurmCustomSetting']]: + """ + Additional Slurm-specific configuration that directly maps to Slurm settings. + """ + return pulumi.get(self, "slurm_custom_settings") + + +@pulumi.output_type +class SpotOptionsProperties(dict): + """ + Additional configuration when you specify SPOT as the purchase option. + """ + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "allocationStrategy": + suggest = "allocation_strategy" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SpotOptionsProperties. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SpotOptionsProperties.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SpotOptionsProperties.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + allocation_strategy: Optional['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy'] = None): + """ + Additional configuration when you specify SPOT as the purchase option. + :param 'ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy' allocation_strategy: The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ + if allocation_strategy is not None: + pulumi.set(__self__, "allocation_strategy", allocation_strategy) + + @property + @pulumi.getter(name="allocationStrategy") + def allocation_strategy(self) -> Optional['ComputeNodeGroupSpotOptionsPropertiesAllocationStrategy']: + """ + The Amazon EC2 allocation strategy AWS PCS uses to provision EC2 instances. AWS PCS supports lowest price, capacity optimized, and price capacity optimized. If you don't provide this option, it defaults to price capacity optimized. + """ + return pulumi.get(self, "allocation_strategy") + + diff --git a/sdk/python/pulumi_aws_native/pcs/queue.py b/sdk/python/pulumi_aws_native/pcs/queue.py new file mode 100644 index 0000000000..ddcc2114ee --- /dev/null +++ b/sdk/python/pulumi_aws_native/pcs/queue.py @@ -0,0 +1,257 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from ._enums import * +from ._inputs import * + +__all__ = ['QueueArgs', 'Queue'] + +@pulumi.input_type +class QueueArgs: + def __init__(__self__, *, + cluster_id: pulumi.Input[str], + compute_node_group_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeGroupConfigurationArgs']]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Queue resource. + :param pulumi.Input[str] cluster_id: The ID of the cluster of the queue. + :param pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeGroupConfigurationArgs']]] compute_node_group_configurations: The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + :param pulumi.Input[str] name: The name that identifies the queue. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + pulumi.set(__self__, "cluster_id", cluster_id) + if compute_node_group_configurations is not None: + pulumi.set(__self__, "compute_node_group_configurations", compute_node_group_configurations) + if name is not None: + pulumi.set(__self__, "name", name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Input[str]: + """ + The ID of the cluster of the queue. + """ + return pulumi.get(self, "cluster_id") + + @cluster_id.setter + def cluster_id(self, value: pulumi.Input[str]): + pulumi.set(self, "cluster_id", value) + + @property + @pulumi.getter(name="computeNodeGroupConfigurations") + def compute_node_group_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeGroupConfigurationArgs']]]]: + """ + The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + """ + return pulumi.get(self, "compute_node_group_configurations") + + @compute_node_group_configurations.setter + def compute_node_group_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['QueueComputeNodeGroupConfigurationArgs']]]]): + pulumi.set(self, "compute_node_group_configurations", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + The name that identifies the queue. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +class Queue(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + cluster_id: Optional[pulumi.Input[str]] = None, + compute_node_group_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeGroupConfigurationArgs', 'QueueComputeNodeGroupConfigurationArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + AWS::PCS::Queue resource creates an AWS PCS queue. + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] cluster_id: The ID of the cluster of the queue. + :param pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeGroupConfigurationArgs', 'QueueComputeNodeGroupConfigurationArgsDict']]]] compute_node_group_configurations: The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + :param pulumi.Input[str] name: The name that identifies the queue. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: QueueArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + AWS::PCS::Queue resource creates an AWS PCS queue. + + :param str resource_name: The name of the resource. + :param QueueArgs 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(QueueArgs, 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, + cluster_id: Optional[pulumi.Input[str]] = None, + compute_node_group_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QueueComputeNodeGroupConfigurationArgs', 'QueueComputeNodeGroupConfigurationArgsDict']]]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, 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__ = QueueArgs.__new__(QueueArgs) + + if cluster_id is None and not opts.urn: + raise TypeError("Missing required property 'cluster_id'") + __props__.__dict__["cluster_id"] = cluster_id + __props__.__dict__["compute_node_group_configurations"] = compute_node_group_configurations + __props__.__dict__["name"] = name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["status"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["clusterId", "name"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(Queue, __self__).__init__( + 'aws-native:pcs:Queue', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'Queue': + """ + Get an existing Queue 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__ = QueueArgs.__new__(QueueArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_id"] = None + __props__.__dict__["cluster_id"] = None + __props__.__dict__["compute_node_group_configurations"] = None + __props__.__dict__["error_info"] = None + __props__.__dict__["name"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags"] = None + return Queue(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The unique Amazon Resource Name (ARN) of the queue. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsId") + def aws_id(self) -> pulumi.Output[str]: + """ + The generated unique ID of the queue. + """ + return pulumi.get(self, "aws_id") + + @property + @pulumi.getter(name="clusterId") + def cluster_id(self) -> pulumi.Output[str]: + """ + The ID of the cluster of the queue. + """ + return pulumi.get(self, "cluster_id") + + @property + @pulumi.getter(name="computeNodeGroupConfigurations") + def compute_node_group_configurations(self) -> pulumi.Output[Optional[Sequence['outputs.QueueComputeNodeGroupConfiguration']]]: + """ + The list of compute node group configurations associated with the queue. Queues assign jobs to associated compute node groups. + """ + return pulumi.get(self, "compute_node_group_configurations") + + @property + @pulumi.getter(name="errorInfo") + def error_info(self) -> pulumi.Output[Sequence['outputs.QueueErrorInfo']]: + """ + The list of errors that occurred during queue provisioning. + """ + return pulumi.get(self, "error_info") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[Optional[str]]: + """ + The name that identifies the queue. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> pulumi.Output['QueueStatus']: + """ + The provisioning status of the queue. The provisioning status doesn't indicate the overall health of the queue. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + 1 or more tags added to the resource. Each tag consists of a tag key and tag value. The tag value is optional and can be an empty string. + """ + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/quicksight/__init__.py b/sdk/python/pulumi_aws_native/quicksight/__init__.py index f5de908276..d36b6d307a 100644 --- a/sdk/python/pulumi_aws_native/quicksight/__init__.py +++ b/sdk/python/pulumi_aws_native/quicksight/__init__.py @@ -7,11 +7,13 @@ # Export this package's modules as members: from ._enums import * from .analysis import * +from .custom_permissions import * from .dashboard import * from .data_set import * from .data_source import * from .folder import * from .get_analysis import * +from .get_custom_permissions import * from .get_dashboard import * from .get_data_set import * from .get_data_source import * diff --git a/sdk/python/pulumi_aws_native/quicksight/_enums.py b/sdk/python/pulumi_aws_native/quicksight/_enums.py index 7f5af21135..ab03345591 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_enums.py +++ b/sdk/python/pulumi_aws_native/quicksight/_enums.py @@ -131,6 +131,7 @@ 'AnalysisWordCloudWordOrientation', 'AnalysisWordCloudWordPadding', 'AnalysisWordCloudWordScaling', + 'CustomPermissionsCapabilityState', 'DashboardAnchorOption', 'DashboardArcThickness', 'DashboardArcThicknessOptions', @@ -1210,6 +1211,10 @@ class AnalysisWordCloudWordScaling(str, Enum): NORMAL = "NORMAL" +class CustomPermissionsCapabilityState(str, Enum): + DENY = "DENY" + + class DashboardAnchorOption(str, Enum): NOW = "NOW" diff --git a/sdk/python/pulumi_aws_native/quicksight/_inputs.py b/sdk/python/pulumi_aws_native/quicksight/_inputs.py index 5ec3226a7e..222451a9f9 100644 --- a/sdk/python/pulumi_aws_native/quicksight/_inputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/_inputs.py @@ -1108,6 +1108,8 @@ 'AnalysisWordCloudVisualArgsDict', 'AnalysisYAxisOptionsArgs', 'AnalysisYAxisOptionsArgsDict', + 'CustomPermissionsCapabilitiesArgs', + 'CustomPermissionsCapabilitiesArgsDict', 'DashboardAdHocFilteringOptionArgs', 'DashboardAdHocFilteringOptionArgsDict', 'DashboardAggregationFunctionArgs', @@ -45127,6 +45129,237 @@ def y_axis(self, value: pulumi.Input['AnalysisSingleYAxisOption']): pulumi.set(self, "y_axis", value) +if not MYPY: + class CustomPermissionsCapabilitiesArgsDict(TypedDict): + add_or_run_anomaly_detection_for_analyses: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_and_update_dashboard_email_reports: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_and_update_data_sources: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_and_update_datasets: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_and_update_themes: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_and_update_threshold_alerts: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_shared_folders: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + create_spice_dataset: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + export_to_csv: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + export_to_excel: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + rename_shared_folders: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + share_analyses: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + share_dashboards: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + share_data_sources: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + share_datasets: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + subscribe_dashboard_email_reports: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] + view_account_spice_capacity: NotRequired[pulumi.Input['CustomPermissionsCapabilityState']] +elif False: + CustomPermissionsCapabilitiesArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class CustomPermissionsCapabilitiesArgs: + def __init__(__self__, *, + add_or_run_anomaly_detection_for_analyses: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_and_update_dashboard_email_reports: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_and_update_data_sources: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_and_update_datasets: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_and_update_themes: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_and_update_threshold_alerts: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_shared_folders: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + create_spice_dataset: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + export_to_csv: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + export_to_excel: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + rename_shared_folders: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + share_analyses: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + share_dashboards: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + share_data_sources: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + share_datasets: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + subscribe_dashboard_email_reports: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None, + view_account_spice_capacity: Optional[pulumi.Input['CustomPermissionsCapabilityState']] = None): + if add_or_run_anomaly_detection_for_analyses is not None: + pulumi.set(__self__, "add_or_run_anomaly_detection_for_analyses", add_or_run_anomaly_detection_for_analyses) + if create_and_update_dashboard_email_reports is not None: + pulumi.set(__self__, "create_and_update_dashboard_email_reports", create_and_update_dashboard_email_reports) + if create_and_update_data_sources is not None: + pulumi.set(__self__, "create_and_update_data_sources", create_and_update_data_sources) + if create_and_update_datasets is not None: + pulumi.set(__self__, "create_and_update_datasets", create_and_update_datasets) + if create_and_update_themes is not None: + pulumi.set(__self__, "create_and_update_themes", create_and_update_themes) + if create_and_update_threshold_alerts is not None: + pulumi.set(__self__, "create_and_update_threshold_alerts", create_and_update_threshold_alerts) + if create_shared_folders is not None: + pulumi.set(__self__, "create_shared_folders", create_shared_folders) + if create_spice_dataset is not None: + pulumi.set(__self__, "create_spice_dataset", create_spice_dataset) + if export_to_csv is not None: + pulumi.set(__self__, "export_to_csv", export_to_csv) + if export_to_excel is not None: + pulumi.set(__self__, "export_to_excel", export_to_excel) + if rename_shared_folders is not None: + pulumi.set(__self__, "rename_shared_folders", rename_shared_folders) + if share_analyses is not None: + pulumi.set(__self__, "share_analyses", share_analyses) + if share_dashboards is not None: + pulumi.set(__self__, "share_dashboards", share_dashboards) + if share_data_sources is not None: + pulumi.set(__self__, "share_data_sources", share_data_sources) + if share_datasets is not None: + pulumi.set(__self__, "share_datasets", share_datasets) + if subscribe_dashboard_email_reports is not None: + pulumi.set(__self__, "subscribe_dashboard_email_reports", subscribe_dashboard_email_reports) + if view_account_spice_capacity is not None: + pulumi.set(__self__, "view_account_spice_capacity", view_account_spice_capacity) + + @property + @pulumi.getter(name="addOrRunAnomalyDetectionForAnalyses") + def add_or_run_anomaly_detection_for_analyses(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "add_or_run_anomaly_detection_for_analyses") + + @add_or_run_anomaly_detection_for_analyses.setter + def add_or_run_anomaly_detection_for_analyses(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "add_or_run_anomaly_detection_for_analyses", value) + + @property + @pulumi.getter(name="createAndUpdateDashboardEmailReports") + def create_and_update_dashboard_email_reports(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_and_update_dashboard_email_reports") + + @create_and_update_dashboard_email_reports.setter + def create_and_update_dashboard_email_reports(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_and_update_dashboard_email_reports", value) + + @property + @pulumi.getter(name="createAndUpdateDataSources") + def create_and_update_data_sources(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_and_update_data_sources") + + @create_and_update_data_sources.setter + def create_and_update_data_sources(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_and_update_data_sources", value) + + @property + @pulumi.getter(name="createAndUpdateDatasets") + def create_and_update_datasets(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_and_update_datasets") + + @create_and_update_datasets.setter + def create_and_update_datasets(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_and_update_datasets", value) + + @property + @pulumi.getter(name="createAndUpdateThemes") + def create_and_update_themes(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_and_update_themes") + + @create_and_update_themes.setter + def create_and_update_themes(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_and_update_themes", value) + + @property + @pulumi.getter(name="createAndUpdateThresholdAlerts") + def create_and_update_threshold_alerts(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_and_update_threshold_alerts") + + @create_and_update_threshold_alerts.setter + def create_and_update_threshold_alerts(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_and_update_threshold_alerts", value) + + @property + @pulumi.getter(name="createSharedFolders") + def create_shared_folders(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_shared_folders") + + @create_shared_folders.setter + def create_shared_folders(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_shared_folders", value) + + @property + @pulumi.getter(name="createSpiceDataset") + def create_spice_dataset(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "create_spice_dataset") + + @create_spice_dataset.setter + def create_spice_dataset(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "create_spice_dataset", value) + + @property + @pulumi.getter(name="exportToCsv") + def export_to_csv(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "export_to_csv") + + @export_to_csv.setter + def export_to_csv(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "export_to_csv", value) + + @property + @pulumi.getter(name="exportToExcel") + def export_to_excel(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "export_to_excel") + + @export_to_excel.setter + def export_to_excel(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "export_to_excel", value) + + @property + @pulumi.getter(name="renameSharedFolders") + def rename_shared_folders(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "rename_shared_folders") + + @rename_shared_folders.setter + def rename_shared_folders(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "rename_shared_folders", value) + + @property + @pulumi.getter(name="shareAnalyses") + def share_analyses(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "share_analyses") + + @share_analyses.setter + def share_analyses(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "share_analyses", value) + + @property + @pulumi.getter(name="shareDashboards") + def share_dashboards(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "share_dashboards") + + @share_dashboards.setter + def share_dashboards(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "share_dashboards", value) + + @property + @pulumi.getter(name="shareDataSources") + def share_data_sources(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "share_data_sources") + + @share_data_sources.setter + def share_data_sources(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "share_data_sources", value) + + @property + @pulumi.getter(name="shareDatasets") + def share_datasets(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "share_datasets") + + @share_datasets.setter + def share_datasets(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "share_datasets", value) + + @property + @pulumi.getter(name="subscribeDashboardEmailReports") + def subscribe_dashboard_email_reports(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "subscribe_dashboard_email_reports") + + @subscribe_dashboard_email_reports.setter + def subscribe_dashboard_email_reports(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "subscribe_dashboard_email_reports", value) + + @property + @pulumi.getter(name="viewAccountSpiceCapacity") + def view_account_spice_capacity(self) -> Optional[pulumi.Input['CustomPermissionsCapabilityState']]: + return pulumi.get(self, "view_account_spice_capacity") + + @view_account_spice_capacity.setter + def view_account_spice_capacity(self, value: Optional[pulumi.Input['CustomPermissionsCapabilityState']]): + pulumi.set(self, "view_account_spice_capacity", value) + + if not MYPY: class DashboardAdHocFilteringOptionArgsDict(TypedDict): """ diff --git a/sdk/python/pulumi_aws_native/quicksight/custom_permissions.py b/sdk/python/pulumi_aws_native/quicksight/custom_permissions.py new file mode 100644 index 0000000000..367a7b0cfd --- /dev/null +++ b/sdk/python/pulumi_aws_native/quicksight/custom_permissions.py @@ -0,0 +1,194 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import _inputs as _root_inputs +from .. import outputs as _root_outputs +from ._enums import * +from ._inputs import * + +__all__ = ['CustomPermissionsArgs', 'CustomPermissions'] + +@pulumi.input_type +class CustomPermissionsArgs: + def __init__(__self__, *, + aws_account_id: pulumi.Input[str], + capabilities: Optional[pulumi.Input['CustomPermissionsCapabilitiesArgs']] = None, + custom_permissions_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]] = None): + """ + The set of arguments for constructing a CustomPermissions resource. + """ + pulumi.set(__self__, "aws_account_id", aws_account_id) + if capabilities is not None: + pulumi.set(__self__, "capabilities", capabilities) + if custom_permissions_name is not None: + pulumi.set(__self__, "custom_permissions_name", custom_permissions_name) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> pulumi.Input[str]: + return pulumi.get(self, "aws_account_id") + + @aws_account_id.setter + def aws_account_id(self, value: pulumi.Input[str]): + pulumi.set(self, "aws_account_id", value) + + @property + @pulumi.getter + def capabilities(self) -> Optional[pulumi.Input['CustomPermissionsCapabilitiesArgs']]: + return pulumi.get(self, "capabilities") + + @capabilities.setter + def capabilities(self, value: Optional[pulumi.Input['CustomPermissionsCapabilitiesArgs']]): + pulumi.set(self, "capabilities", value) + + @property + @pulumi.getter(name="customPermissionsName") + def custom_permissions_name(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "custom_permissions_name") + + @custom_permissions_name.setter + def custom_permissions_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "custom_permissions_name", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_root_inputs.TagArgs']]]]): + pulumi.set(self, "tags", value) + + +class CustomPermissions(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + aws_account_id: Optional[pulumi.Input[str]] = None, + capabilities: Optional[pulumi.Input[Union['CustomPermissionsCapabilitiesArgs', 'CustomPermissionsCapabilitiesArgsDict']]] = None, + custom_permissions_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = None, + __props__=None): + """ + Definition of the AWS::QuickSight::CustomPermissions Resource Type. + + :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: CustomPermissionsArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Definition of the AWS::QuickSight::CustomPermissions Resource Type. + + :param str resource_name: The name of the resource. + :param CustomPermissionsArgs 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(CustomPermissionsArgs, 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, + aws_account_id: Optional[pulumi.Input[str]] = None, + capabilities: Optional[pulumi.Input[Union['CustomPermissionsCapabilitiesArgs', 'CustomPermissionsCapabilitiesArgsDict']]] = None, + custom_permissions_name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['_root_inputs.TagArgs', '_root_inputs.TagArgsDict']]]]] = 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__ = CustomPermissionsArgs.__new__(CustomPermissionsArgs) + + if aws_account_id is None and not opts.urn: + raise TypeError("Missing required property 'aws_account_id'") + __props__.__dict__["aws_account_id"] = aws_account_id + __props__.__dict__["capabilities"] = capabilities + __props__.__dict__["custom_permissions_name"] = custom_permissions_name + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + replace_on_changes = pulumi.ResourceOptions(replace_on_changes=["awsAccountId", "customPermissionsName"]) + opts = pulumi.ResourceOptions.merge(opts, replace_on_changes) + super(CustomPermissions, __self__).__init__( + 'aws-native:quicksight:CustomPermissions', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None) -> 'CustomPermissions': + """ + Get an existing CustomPermissions 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__ = CustomPermissionsArgs.__new__(CustomPermissionsArgs) + + __props__.__dict__["arn"] = None + __props__.__dict__["aws_account_id"] = None + __props__.__dict__["capabilities"] = None + __props__.__dict__["custom_permissions_name"] = None + __props__.__dict__["tags"] = None + return CustomPermissions(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="awsAccountId") + def aws_account_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "aws_account_id") + + @property + @pulumi.getter + def capabilities(self) -> pulumi.Output[Optional['outputs.CustomPermissionsCapabilities']]: + return pulumi.get(self, "capabilities") + + @property + @pulumi.getter(name="customPermissionsName") + def custom_permissions_name(self) -> pulumi.Output[str]: + return pulumi.get(self, "custom_permissions_name") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Sequence['_root_outputs.Tag']]]: + return pulumi.get(self, "tags") + diff --git a/sdk/python/pulumi_aws_native/quicksight/get_custom_permissions.py b/sdk/python/pulumi_aws_native/quicksight/get_custom_permissions.py new file mode 100644 index 0000000000..d09a8edcff --- /dev/null +++ b/sdk/python/pulumi_aws_native/quicksight/get_custom_permissions.py @@ -0,0 +1,97 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from .. import _utilities +from . import outputs +from .. import outputs as _root_outputs +from ._enums import * + +__all__ = [ + 'GetCustomPermissionsResult', + 'AwaitableGetCustomPermissionsResult', + 'get_custom_permissions', + 'get_custom_permissions_output', +] + +@pulumi.output_type +class GetCustomPermissionsResult: + def __init__(__self__, arn=None, capabilities=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if capabilities and not isinstance(capabilities, dict): + raise TypeError("Expected argument 'capabilities' to be a dict") + pulumi.set(__self__, "capabilities", capabilities) + if tags and not isinstance(tags, list): + raise TypeError("Expected argument 'tags' to be a list") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> Optional[str]: + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def capabilities(self) -> Optional['outputs.CustomPermissionsCapabilities']: + return pulumi.get(self, "capabilities") + + @property + @pulumi.getter + def tags(self) -> Optional[Sequence['_root_outputs.Tag']]: + return pulumi.get(self, "tags") + + +class AwaitableGetCustomPermissionsResult(GetCustomPermissionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetCustomPermissionsResult( + arn=self.arn, + capabilities=self.capabilities, + tags=self.tags) + + +def get_custom_permissions(aws_account_id: Optional[str] = None, + custom_permissions_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCustomPermissionsResult: + """ + Definition of the AWS::QuickSight::CustomPermissions Resource Type. + """ + __args__ = dict() + __args__['awsAccountId'] = aws_account_id + __args__['customPermissionsName'] = custom_permissions_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws-native:quicksight:getCustomPermissions', __args__, opts=opts, typ=GetCustomPermissionsResult).value + + return AwaitableGetCustomPermissionsResult( + arn=pulumi.get(__ret__, 'arn'), + capabilities=pulumi.get(__ret__, 'capabilities'), + tags=pulumi.get(__ret__, 'tags')) +def get_custom_permissions_output(aws_account_id: Optional[pulumi.Input[str]] = None, + custom_permissions_name: Optional[pulumi.Input[str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCustomPermissionsResult]: + """ + Definition of the AWS::QuickSight::CustomPermissions Resource Type. + """ + __args__ = dict() + __args__['awsAccountId'] = aws_account_id + __args__['customPermissionsName'] = custom_permissions_name + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('aws-native:quicksight:getCustomPermissions', __args__, opts=opts, typ=GetCustomPermissionsResult) + return __ret__.apply(lambda __response__: GetCustomPermissionsResult( + arn=pulumi.get(__response__, 'arn'), + capabilities=pulumi.get(__response__, 'capabilities'), + tags=pulumi.get(__response__, 'tags'))) diff --git a/sdk/python/pulumi_aws_native/quicksight/outputs.py b/sdk/python/pulumi_aws_native/quicksight/outputs.py index 70bf0054cc..528377a4f0 100644 --- a/sdk/python/pulumi_aws_native/quicksight/outputs.py +++ b/sdk/python/pulumi_aws_native/quicksight/outputs.py @@ -563,6 +563,7 @@ 'AnalysisWordCloudSortConfiguration', 'AnalysisWordCloudVisual', 'AnalysisYAxisOptions', + 'CustomPermissionsCapabilities', 'DashboardAdHocFilteringOption', 'DashboardAggregationFunction', 'DashboardAggregationSortConfiguration', @@ -36049,6 +36050,196 @@ def y_axis(self) -> 'AnalysisSingleYAxisOption': return pulumi.get(self, "y_axis") +@pulumi.output_type +class CustomPermissionsCapabilities(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "addOrRunAnomalyDetectionForAnalyses": + suggest = "add_or_run_anomaly_detection_for_analyses" + elif key == "createAndUpdateDashboardEmailReports": + suggest = "create_and_update_dashboard_email_reports" + elif key == "createAndUpdateDataSources": + suggest = "create_and_update_data_sources" + elif key == "createAndUpdateDatasets": + suggest = "create_and_update_datasets" + elif key == "createAndUpdateThemes": + suggest = "create_and_update_themes" + elif key == "createAndUpdateThresholdAlerts": + suggest = "create_and_update_threshold_alerts" + elif key == "createSharedFolders": + suggest = "create_shared_folders" + elif key == "createSpiceDataset": + suggest = "create_spice_dataset" + elif key == "exportToCsv": + suggest = "export_to_csv" + elif key == "exportToExcel": + suggest = "export_to_excel" + elif key == "renameSharedFolders": + suggest = "rename_shared_folders" + elif key == "shareAnalyses": + suggest = "share_analyses" + elif key == "shareDashboards": + suggest = "share_dashboards" + elif key == "shareDataSources": + suggest = "share_data_sources" + elif key == "shareDatasets": + suggest = "share_datasets" + elif key == "subscribeDashboardEmailReports": + suggest = "subscribe_dashboard_email_reports" + elif key == "viewAccountSpiceCapacity": + suggest = "view_account_spice_capacity" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CustomPermissionsCapabilities. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CustomPermissionsCapabilities.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CustomPermissionsCapabilities.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + add_or_run_anomaly_detection_for_analyses: Optional['CustomPermissionsCapabilityState'] = None, + create_and_update_dashboard_email_reports: Optional['CustomPermissionsCapabilityState'] = None, + create_and_update_data_sources: Optional['CustomPermissionsCapabilityState'] = None, + create_and_update_datasets: Optional['CustomPermissionsCapabilityState'] = None, + create_and_update_themes: Optional['CustomPermissionsCapabilityState'] = None, + create_and_update_threshold_alerts: Optional['CustomPermissionsCapabilityState'] = None, + create_shared_folders: Optional['CustomPermissionsCapabilityState'] = None, + create_spice_dataset: Optional['CustomPermissionsCapabilityState'] = None, + export_to_csv: Optional['CustomPermissionsCapabilityState'] = None, + export_to_excel: Optional['CustomPermissionsCapabilityState'] = None, + rename_shared_folders: Optional['CustomPermissionsCapabilityState'] = None, + share_analyses: Optional['CustomPermissionsCapabilityState'] = None, + share_dashboards: Optional['CustomPermissionsCapabilityState'] = None, + share_data_sources: Optional['CustomPermissionsCapabilityState'] = None, + share_datasets: Optional['CustomPermissionsCapabilityState'] = None, + subscribe_dashboard_email_reports: Optional['CustomPermissionsCapabilityState'] = None, + view_account_spice_capacity: Optional['CustomPermissionsCapabilityState'] = None): + if add_or_run_anomaly_detection_for_analyses is not None: + pulumi.set(__self__, "add_or_run_anomaly_detection_for_analyses", add_or_run_anomaly_detection_for_analyses) + if create_and_update_dashboard_email_reports is not None: + pulumi.set(__self__, "create_and_update_dashboard_email_reports", create_and_update_dashboard_email_reports) + if create_and_update_data_sources is not None: + pulumi.set(__self__, "create_and_update_data_sources", create_and_update_data_sources) + if create_and_update_datasets is not None: + pulumi.set(__self__, "create_and_update_datasets", create_and_update_datasets) + if create_and_update_themes is not None: + pulumi.set(__self__, "create_and_update_themes", create_and_update_themes) + if create_and_update_threshold_alerts is not None: + pulumi.set(__self__, "create_and_update_threshold_alerts", create_and_update_threshold_alerts) + if create_shared_folders is not None: + pulumi.set(__self__, "create_shared_folders", create_shared_folders) + if create_spice_dataset is not None: + pulumi.set(__self__, "create_spice_dataset", create_spice_dataset) + if export_to_csv is not None: + pulumi.set(__self__, "export_to_csv", export_to_csv) + if export_to_excel is not None: + pulumi.set(__self__, "export_to_excel", export_to_excel) + if rename_shared_folders is not None: + pulumi.set(__self__, "rename_shared_folders", rename_shared_folders) + if share_analyses is not None: + pulumi.set(__self__, "share_analyses", share_analyses) + if share_dashboards is not None: + pulumi.set(__self__, "share_dashboards", share_dashboards) + if share_data_sources is not None: + pulumi.set(__self__, "share_data_sources", share_data_sources) + if share_datasets is not None: + pulumi.set(__self__, "share_datasets", share_datasets) + if subscribe_dashboard_email_reports is not None: + pulumi.set(__self__, "subscribe_dashboard_email_reports", subscribe_dashboard_email_reports) + if view_account_spice_capacity is not None: + pulumi.set(__self__, "view_account_spice_capacity", view_account_spice_capacity) + + @property + @pulumi.getter(name="addOrRunAnomalyDetectionForAnalyses") + def add_or_run_anomaly_detection_for_analyses(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "add_or_run_anomaly_detection_for_analyses") + + @property + @pulumi.getter(name="createAndUpdateDashboardEmailReports") + def create_and_update_dashboard_email_reports(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_and_update_dashboard_email_reports") + + @property + @pulumi.getter(name="createAndUpdateDataSources") + def create_and_update_data_sources(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_and_update_data_sources") + + @property + @pulumi.getter(name="createAndUpdateDatasets") + def create_and_update_datasets(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_and_update_datasets") + + @property + @pulumi.getter(name="createAndUpdateThemes") + def create_and_update_themes(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_and_update_themes") + + @property + @pulumi.getter(name="createAndUpdateThresholdAlerts") + def create_and_update_threshold_alerts(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_and_update_threshold_alerts") + + @property + @pulumi.getter(name="createSharedFolders") + def create_shared_folders(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_shared_folders") + + @property + @pulumi.getter(name="createSpiceDataset") + def create_spice_dataset(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "create_spice_dataset") + + @property + @pulumi.getter(name="exportToCsv") + def export_to_csv(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "export_to_csv") + + @property + @pulumi.getter(name="exportToExcel") + def export_to_excel(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "export_to_excel") + + @property + @pulumi.getter(name="renameSharedFolders") + def rename_shared_folders(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "rename_shared_folders") + + @property + @pulumi.getter(name="shareAnalyses") + def share_analyses(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "share_analyses") + + @property + @pulumi.getter(name="shareDashboards") + def share_dashboards(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "share_dashboards") + + @property + @pulumi.getter(name="shareDataSources") + def share_data_sources(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "share_data_sources") + + @property + @pulumi.getter(name="shareDatasets") + def share_datasets(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "share_datasets") + + @property + @pulumi.getter(name="subscribeDashboardEmailReports") + def subscribe_dashboard_email_reports(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "subscribe_dashboard_email_reports") + + @property + @pulumi.getter(name="viewAccountSpiceCapacity") + def view_account_spice_capacity(self) -> Optional['CustomPermissionsCapabilityState']: + return pulumi.get(self, "view_account_spice_capacity") + + @pulumi.output_type class DashboardAdHocFilteringOption(dict): """ diff --git a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py index 5814f57266..822ff5d930 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/_inputs.py @@ -1043,7 +1043,6 @@ class ClusterInstanceGroupArgsDict(TypedDict): """ The number of instances that are currently in the instance group of a SageMaker HyperPod cluster. """ - custom_metadata: NotRequired[Any] instance_storage_configs: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgsDict']]]] on_start_deep_health_checks: NotRequired[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]] override_vpc_config: NotRequired[pulumi.Input['ClusterVpcConfigArgsDict']] @@ -1063,7 +1062,6 @@ def __init__(__self__, *, instance_type: pulumi.Input[str], life_cycle_config: pulumi.Input['ClusterLifeCycleConfigArgs'], current_count: Optional[pulumi.Input[int]] = None, - custom_metadata: Optional[Any] = None, instance_storage_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]] = None, on_start_deep_health_checks: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDeepHealthCheckType']]]] = None, override_vpc_config: Optional[pulumi.Input['ClusterVpcConfigArgs']] = None, @@ -1081,8 +1079,6 @@ def __init__(__self__, *, pulumi.set(__self__, "life_cycle_config", life_cycle_config) if current_count is not None: pulumi.set(__self__, "current_count", current_count) - if custom_metadata is not None: - pulumi.set(__self__, "custom_metadata", custom_metadata) if instance_storage_configs is not None: pulumi.set(__self__, "instance_storage_configs", instance_storage_configs) if on_start_deep_health_checks is not None: @@ -1152,15 +1148,6 @@ def current_count(self) -> Optional[pulumi.Input[int]]: def current_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "current_count", value) - @property - @pulumi.getter(name="customMetadata") - def custom_metadata(self) -> Optional[Any]: - return pulumi.get(self, "custom_metadata") - - @custom_metadata.setter - def custom_metadata(self, value: Optional[Any]): - pulumi.set(self, "custom_metadata", value) - @property @pulumi.getter(name="instanceStorageConfigs") def instance_storage_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterInstanceStorageConfigArgs']]]]: diff --git a/sdk/python/pulumi_aws_native/sagemaker/outputs.py b/sdk/python/pulumi_aws_native/sagemaker/outputs.py index 51d16f4191..83c1c609f5 100644 --- a/sdk/python/pulumi_aws_native/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws_native/sagemaker/outputs.py @@ -730,8 +730,6 @@ def __key_warning(key: str): suggest = "life_cycle_config" elif key == "currentCount": suggest = "current_count" - elif key == "customMetadata": - suggest = "custom_metadata" elif key == "instanceStorageConfigs": suggest = "instance_storage_configs" elif key == "onStartDeepHealthChecks": @@ -759,7 +757,6 @@ def __init__(__self__, *, instance_type: str, life_cycle_config: 'outputs.ClusterLifeCycleConfig', current_count: Optional[int] = None, - custom_metadata: Optional[Any] = None, instance_storage_configs: Optional[Sequence['outputs.ClusterInstanceStorageConfig']] = None, on_start_deep_health_checks: Optional[Sequence['ClusterDeepHealthCheckType']] = None, override_vpc_config: Optional['outputs.ClusterVpcConfig'] = None, @@ -777,8 +774,6 @@ def __init__(__self__, *, pulumi.set(__self__, "life_cycle_config", life_cycle_config) if current_count is not None: pulumi.set(__self__, "current_count", current_count) - if custom_metadata is not None: - pulumi.set(__self__, "custom_metadata", custom_metadata) if instance_storage_configs is not None: pulumi.set(__self__, "instance_storage_configs", instance_storage_configs) if on_start_deep_health_checks is not None: @@ -824,11 +819,6 @@ def current_count(self) -> Optional[int]: """ return pulumi.get(self, "current_count") - @property - @pulumi.getter(name="customMetadata") - def custom_metadata(self) -> Optional[Any]: - return pulumi.get(self, "custom_metadata") - @property @pulumi.getter(name="instanceStorageConfigs") def instance_storage_configs(self) -> Optional[Sequence['outputs.ClusterInstanceStorageConfig']]: